:root {
    --main-color: #FF8800; /*#08C283 = Azul Bonito*/
    --s-color: #FFB900; /*#05E79B = Azul*/
    --dark-color: #C6710F; /*#19A576 = Azul*/
    --font-size: 3.75vw;
    --fss: 6vw;
    --fs: 3.25vw;
    --blur: 0px;
}

* {
    margin: 0vw;
}

::-webkit-scrollbar {
    display: none;
}

body {
    background: var(--bg-color);
    color: var(--word-color);
    font-family: inter;
    font-size: var(--font-size);
}

/*Elementos principales*/

.fields {
    margin-top: 6vw;
    display: block;
    text-align: left !important;
}

.fields .input {
    margin-bottom: 5vw;
}

.fields .input:last-of-type {
    margin-bottom: 0vw;
}

.fields .input b {
    margin-bottom: 3vw;
    display: inline-block;
}

.fields .input input, .fields .input textarea {
    background: var(--bgs-color);
    border: none;
    font-size: var(--font-size);
    color: var(--word-color);
    padding: 4vw;
    width: calc(100% - 8vw);
    border: 0.25vw solid var(--bgt-color);
    border-radius: 3vw;
    outline: none;
    font-family: inter;
}

.fields .input textarea {
    max-width: calc(90vw - 8.5vw);
    min-width: calc(90vw - 8.5vw);
    max-height: 50vw;
    min-height: 50vw;
}

.fields .input select {
    background: var(--bgs-color);
    border: none;
    font-size: var(--font-size);
    color: var(--word-color);
    padding: 4vw;
    width: 90vw;
    border: 0.25vw solid var(--bgt-color);
    border-radius: 3vw;
    outline: none;
    font-family: inter;
    font-size: var(--font-size);
}

.fields .input input:hover, .fields .input select:hover {
    outline: 0vw solid var(--main-color);
}

.fields .input input.empty, .fields .input select.empty, .fields .input textarea.empty {
    border: 0.25vw solid red;
    animation: empty_input 1s;
}

@keyframes empty_input {
    0% {
        border: 0.25vw solid var(--bgt-color);
    }
    20% {
        border: 0.25vw solid red;
    }
    40% {
        border: 0.25vw solid var(--bgt-color);
    }
    60% {
        border: 0.25vw solid red;
    }
    80% {
        border: 0.25vw solid var(--bgt-color);
    }
    100% {
        border: 0.25vw solid red;
    }
}

.search {
    background: var(--bgs-color);
    border-radius: 3vw;
    border: 0.25vw solid var(--bgt-color);
}

.search .img {
    width: 12vw;
    height: 12.25vw;
    display: inline-grid;
    place-items: center;
}

.search .img img {
    filter: invert(var(--invert));
    width: 4vw;
}

.search input {
    display: inline-block;
    vertical-align: top;
    padding: 4vw;
    padding-left: 0vw;
    background: none;
    border: none;
    font-size: var(--font-size);
    color: var(--word-color);
    width: 67vw;
    outline: none;
    font-family: inter;
}

button {
    background: var(--bgs-color);
    border: none;
    padding: 3.5vw;
    border-radius: 10vw;
    color: var(--word-color);
    font-size: var(--font-size);
    font-family: inter;
    padding-left: 5vw;
    padding-right: 5vw;
    position: relative;
    margin-bottom: 4vw;
}

button.full-size {
    width: 100%;
}

button:last-of-type {
    margin-bottom: 0vw;
}

button.main_button {
    background: var(--main-color);
    font-weight: bold;
    color: white;
}

button img {
    height: var(--font-size);
    display: inline-block;
    position: relative;
    top: 0.5vw;
    margin-right: 3.5vw;
    filter: invert(var(--invert));
}

button.main_button img {
    filter: invert(100%);
}

button.only_img {
    width: 11vw;
    height: 11vw;
    padding: 0vw;
    display: inline-grid;
    place-items: center;
    vertical-align: top;
}

button.only_img img {
    margin-right: 0vw;
    width: 5vw;
    height: 5vw;
    position: absolute;
    top: auto;
}

button.unavalible {
    opacity: 0.5;
}

.buttons {
	margin-top: 6vw;
}

.buttons button {
    width: 100%;
}

.buttons.dual button {
    width: 43.2vw;
    margin-bottom: 0vw;
}

.buttons.dual button:first-of-type {
    margin-right: 2vw;
}

.options {
    margin-top: 4vw;
    width: 90vw;
}

.option {
    padding: 4vw;
    border-radius: 3vw;
    margin-bottom: 4vw;
    width: calc(90vw - 8vw);
    position: relative;
    background: var(--bgs-color);
    text-align: left;
    transition: 0.2s;
    overflow: hidden;
}

.option:hover {
    background: var(--bgt-color);
}

.option .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    opacity: 0.15;
    top: 0vw;
    left: 0vw;
    border-radius: 3vw;
}

.option .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.option .img {
    position: absolute;
    width: 10vw;
    height: 10vw;
    background: var(--main-color);
    display: inline-grid;
    place-items: center;
    border-radius: 3vw;
    transition: 0.2s;
}

.option.approve .img {
    background: rgb(30, 180, 50);
}

.option.deny .img {
    background: rgb(255, 57, 57);
}

.option.approve .img img, .option.deny .img img {
    filter: invert(100%);
}

.option .img .icon {
    position: absolute;
    width: 5vw;
    margin-top: 0.75vw;
}

.option .img .icon img {
    width: 100%;
    filter: invert(100%);
}

.option .text {
    position: relative;
    display: inline-grid;
    place-items: center;
    vertical-align: top;
    margin-left: 14vw;
    width: 60vw;
    min-height: 10vw;
}
.option .text div {
    width: 100%;
}

.option .text b {
    color: var(--word-color);
}

.option .text p {
    margin-top: 1.5vw;
    font-size: var(--fs);
    color: var(--words-color);
}

.option .arrow {
    position: absolute;
    height: 100%;
    width: 3.5vw;
    top: 0vw;
    right: 4vw;
    display: grid;
    place-items: center;
    opacity: 0.5;
}

.option .arrow img {
    filter: invert(var(--invert));
    width: 3.5vw;
}

.options.selects .option {
    background: none;
    border: 0.5vw solid var(--bgs-color);
    width: calc(90vw - 9vw);
}

.options.selects .option.selected {
    background: var(--bgs-color);
    border: 0.5vw solid var(--main-color);
}

.options.selects .option.selected.approve {
    border: 0.5vw solid rgb(30, 180, 50);
}

.options.selects .option.selected.deny {
    border: 0.5vw solid rgb(255, 57, 57);
}

.options.selects .option.empty {
    border: 0.5vw solid red;
}

/*menu*/

.menu {
    position: absolute;
    bottom: 0vw;
    left: 0vw;
    width: 100%;
    height: 100%;
    background: var(--bgs-color);
    display: none;
}

.menu .main {
    width: 65vw;
    padding: 5vw;
    padding-top: 0vw;
    padding-bottom: 0vw;
}
.menu .sections {
    border-top: 0.5vw solid var(--bgs-color);
    border-bottom: 0.5vw solid var(--bgs-color);
    margin-top: 12vw;
}
.menu .main .logo {
    width: 14vw;
    margin-top: 6vw;
    filter: invert(var(--invert));
}
.menu .main .logo img {
    width: 100%;
}
.menu .section {
    position: relative;
    padding: 4vw;
    display: block;
    background: none;
    margin-bottom: 3vw;
    padding-left: 14vw;
    margin-left: -5vw;
    border-top-right-radius: 10vw;
    border-bottom-right-radius: 10vw;
    opacity: 0.75;
    transition: 0.2s;
}

.menu .section.active {
    background: var(--main-color);
}

.menu .section:last-of-type {
    margin-bottom: 0vw;
}
.menu .section.active {
    background: var(--dark-color);
    color: white;
    opacity: 1;
}
.menu .section img {
    filter: invert(var(--invert));
    width: 6vw;
    position: absolute;
    left: 5vw;
    top: 3vw;
}
.menu .section.active img {
    filter: invert(100%);
}

.menu .coop_code_menu {
    border: 0.5vw solid var(--bgt-color);
    background: var(--bgt-color);
    width: 58vw;
    padding: 3vw;
    border-radius: 4vw;
    position: absolute;
    bottom: 39vw;
}

.menu .coop_code_menu .icon {
    width: 10vw;
    height: 10vw;
    border-radius: 3vw;
    display: inline-grid;
    place-items: center;
    background: var(--main-color);
}

.menu .coop_code_menu .icon img {
    width: 5vw;
    filter: invert(100%);
}

.menu .coop_code_menu .text {
    display: inline-grid;
    place-items: center;
    width: 42vw;
    margin-left: 2vw;
    vertical-align: top;
}

.menu .coop_code_menu .text div {
    width: 100%;
}

.menu .coop_code_menu .text p {
    margin-top: 0.5vw;
    font-size: var(--fs);
    color: var(--words-color);
}

.menu .coop_code_menu.generating {
    animation: coopcode 1s infinite;
}

@keyframes coopcode {
    0% {
        background: var(--bgt-color);
    }50% {
        background: var(--dark-color);
    }100% {
        background: var(--bgt-color);
    }
}

.menu .coop_code_menu.generated {
    background: var(--bgt-color);
    border: 0.5vw solid var(--main-color);        
}

.menu .profile {
    background: var(--bgt-color);
    position: absolute;
    bottom: 5vw;
    width: 59vw;
    padding: 3vw;
    border-radius: 4vw;
}

.menu .profile .data {
    padding-left: 13vw;
    padding-top: 1vw;
    padding-bottom: 1vw;
}

.menu .profile .data p {
    color: var(--words-color);
    font-size: var(--fs);
    margin-top: 0.5vw;
}

.menu .profile .img {
    width: 11vw;
    height: 11vw;
    border-radius: 4vw;
    overflow: hidden;
    display: inline-grid;
    place-items: center;
    position: absolute;
}

.menu .profile .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.menu .profile button {
    filter: brightness(1.25);
    border: none;
    background: rgb(255, 60, 60);
    color: white;
    font-size: var(--fs);
    font-family: inter;
    padding: 2.5vw;
    width: 57vw;
    margin: 0vw;
    margin-top: 4vw;
    border-radius: 8vw;
}

.mainPages {
    position: relative;
    width: 100vw;
    padding-bottom: 0vw;
    transform: translateX(0vw);
    transition: 0.4s;
    overflow-x: hidden;
    will-change: transform;
    background: var(--bg-color);
}

.mainPages .wrapper {
    width: 600vw;
    min-height: 100vh;
    display: inline-flex;
    flex-wrap: wrap;
    transition: 0.4s;
    background: var(--bg-color);
}

.mainPages.hide {
    width: 22vw;
    height: 100vh;
    border-top-left-radius: 6vw;
    border-bottom-left-radius: 6vw;
    overflow: hidden;
    transform: translateX(78vw);
}

.mobile-menu-limit.active {
    overflow: hidden;
    height: 100vh;
}

.altTitle {
    padding-bottom: 10vw;
    padding-top: 35vw;
    color: var(--word-color);
}

.altTitle h1 {
    font-size: var(--fss);
}

.validation {
    background: var(--validation-bg);
    backdrop-filter: blur(30px);
    position: fixed;
    top: 0vw;
    opacity: 0;
    left: 0vw;
    width: 90vw;
    height: calc(100% - 10vw);
    padding-top: 8vw;
    padding: 5vw;
    z-index: 999;
    text-align: center;
    display: none;
    transition: 0.2s;
}

.validation .back {
    width: 100%;
    text-align: left;
    padding-bottom: 12vw;
    padding-top: 2vw;
}

.validation .back img {
    filter: invert(var(--invert));
    transform: rotate(180deg);
    width: 5vw;
}

.validation.show {
    opacity: 1;
}

.validation .img {
    width: 10vw;
    display: inline-block;
    margin-bottom: 6vw;
}

.validation p {
    color: var(--words-color);
    font-size: var(--fs);
    margin-top: 1vw;
}

.validation .pin .fields {
    margin-top: 12vw;
    display: inline-block;
}

.validation .pin .fields div {
    background: var(--bgs-color);
    width: 15vw;
    height: 17vw;
    border-radius: 4vw;
    display: inline-grid;
    place-items: center;
    margin-right: 0.75vw;
    margin-left: 0.75vw;
    transition: 0.2s;
}

.validation .pin .fields div.wrong {
    background: rgb(255, 79, 79);
}

.validation .pin .fields div b {
    position: absolute;
}

.validation .pin .pad {
    position: absolute;
    bottom: 5vw;
    left: 0vw;
    width: 85vw;
    padding-left: 7.5vw;
    padding-right: 7.5vw;
}

.validation .pin .pad b {
    width: 23vw;
    height: 23vw;
    margin-bottom: 3vw;
    display: inline-grid;
    place-items: center;
    border-radius: 100vw;
    margin-right: 1vw;
    margin-left: 1vw;
    font-size: 5vw;
    user-select: none;
    transition: 0.2s;
}

.validation .pin .pad b:hover {
    animation: keypad 0.4s;
}

@keyframes keypad {
    0% {
        background: none;
    }50% {
        background: var(--main-color);
    }100% {
        background: none;
    }
}

.validation .pin .pad .delete {
    position: absolute;
    width: 23vw;
    height: 23vw;
    right: 12.5vw;
    bottom: 3vw;
    display: inline-grid;
    place-items: center;
    border-radius: 100vw;
    user-select: none;
    transition: 0.5s;
}

.validation .pin .pad .delete img {
    filter: invert(var(--invert));
    width: 5vw;
}

.validation .pin .pad .delete:active {
    background: var(--bgt-color);
}

.subtitle {
    margin-top: 6vw;
    margin-bottom: 4vw;
    color: var(--words-color);
    position: relative;
}

.subtitle.img img {
    position: absolute;
    width: 4vw;
    filter: invert(var(--invert));
    opacity: 0.75;
    left: 0vw;
    top: 0.5vw;
}

.subtitle.img {
    padding-left: 6vw;
}

.maintitle {
    padding-top: 35vw;
    padding-bottom: 22vw;
    text-align: center;
}

.maintitle h1 {
	font-size: var(--fss);
}

.maintitle p {
    color: var(--words-color);
    margin-top: 2vw;
}

.maintitle .buttons {
    margin-top: 10vw;
}

.maintitle .buttons button {
    margin-left: 1vw;
    margin-right: 1vw;
    width: auto;
}

header {
    width: 90vw;
    padding: 5vw;
    margin-left: 0vw;
    position: fixed;
    z-index: 9;
    top: 0vw;
    transition: 0.2s;
}

header.sticky {
    background: var(--bgs-color);
}

header.hide {
    top: -15vw;
    opacity: 0;
}

header .burguerMenu {
    width: 6.5vw;
    display: inline-grid;
    place-items: center;
}

header .burguerMenu img {
    width: 6.5vw;
    filter: invert(var(--invert));
    transform: scaleX(-100%);
}

header .left {
    position: absolute;
    right: 5vw;
    top: 3.5vw;
    display: flex;
    flex-wrap: wrap;
}

header .search {
    width: 10vw;
    height: 10vw;
    display: inline-grid;
    place-items: center;
    margin-right: 6vw;
    display: none;
}

header .search img {
    width: 5.5vw;
    filter: invert(var(--invert));
}

header .profile .img {
    width: 10vw;
    height: 10vw;
    border-radius: 50%;
    overflow: hidden;
    display: inline-grid;
    place-items: center;
}

header .profile .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

header .back {
    text-align: left;
    width: 12vw;
    display: none;
}

header .back img {
    width: 5vw;
    transform: scaleX(-1);
    filter: invert(var(--invert));
}

header.back_menu .burguerMenu {
    display: none;
}

header.back_menu .back {
    display: inline-block;
}

.main_message {
    background: var(--bgs-color);
    border: 0.5vw solid var(--main-color);
    padding: 4vw;
    position: relative;
    border-radius: 3vw;
    overflow: hidden;
    margin-top: 4vw;
}

.main_message .img {
    background: var(--main-color);
    width: 10vw;
    height: 10vw;
    border-radius: 3vw;
    display: inline-grid;
    place-items: center;
    position: absolute;
}

.main_message .img img {
    width: 5vw;
    filter: invert(100%);
}

.main_message .text {
    padding-left: 14vw;
}

.main_message .text p {
    color: var(--words-color);
    font-size: var(--fs);
    margin-top: 1vw;
}