:root {
    --c-blue: #003399;
    --c-yellow: #f39c11;
}
.d-none{
    display: none!important;
}
.selected{
    border-bottom: 2px solid var(--c-blue) !important;
    background-color: #5f8fca22;
}
body {
    margin: 0 auto;
    background: url(../images/fondo.png);
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 1.2em;
    height: 100vh;
    font-family: 'Open Sans', sans-serif;
}
.wrapper{
    width: 100%;
}
section {
    width: 60%;
    margin: 0 auto;
    padding: 2em;
    border: 0.1em solid;
    border-image-slice: 1;
    border-width: 5px;
    border-image-source: linear-gradient(to right, var(--c-blue), var(--c-yellow));
    background-color: #fff;
    max-width: 100%;
    position: relative;
    filter: drop-shadow(2px 4px 6px black);
}
section div.description {
    font-size: 1.5em;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}
section h1, section .total-pages {
    margin: 0;
    color: var(--c-blue);
    font-family: 'Open Sans', sans-serif;
    font-size: 2em;
    font-weight: bolder;
}
section .total-pages{
    background-color: var(--c-blue);
    background: -moz-linear-gradient(90deg, var(--c-blue) 0%, var(--c-yellow) 100%);
    background: -webkit-linear-gradient(90deg, var(--c-blue) 0%, var(--c-yellow) 100%);
    background: linear-gradient(90deg, var(--c-blue) 0%, var(--c-yellow) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=var(---c-blu), endColorstr=var(--c-yellow), GradientType=1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    position: absolute;
    font-size: 1.5em;
    text-align: center;
    right: 2em;
    top: 2em;
}
section#section-survey-messages h1{
    text-align: center;
    font-size: 25px;
}
#section-survey ul{
    gap: 10px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#section-survey ul li{
    border: 3px solid transparent;
    list-style: none;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
/*     height: 120px;
    width: 120px; */
    text-align: center;
    cursor: pointer;
}
#section-survey ul li img{
    animation-duration: 2s;
    animation-iteration-count: infinite;
    border: 3px;
    padding: .3em;
    transition: all ease .5s;
}
#section-survey ul li:hover img{
    transform: scale(1.10);
    transition: all ease .5s;
}
section div.logo-pagination {
    display: flex;
    flex-direction: row;
    gap: 0.1em;
    justify-content: space-between;
    align-items: center;
}
section div.logo-pagination > img {
    max-width: 200px;
}
div.pagination button{
    cursor: pointer;
}
div.pagination button,
section div.pagination {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.1em;
    padding: 0.5em 0.75em;
    margin: 0.75em;
    transition: all ease .5s;
}
button{
    font-family: 'Open-sans', sans-serif;
    margin: 1em 0 0;
    padding: 0 1em;
    border: 1px solid var(--c-blue);
    font-size: .8em;
    transition: all ease .5s;
}
button:hover{
    transform:translateY(-5px); 
}
button.button-initial{
    background-color: var(--c-blue);
    color: #FFF;
    cursor:pointer;
}
button.button-initial:hover{
    background-color: #FFF;
    color: var(--c-blue);
}
section div.pagination button img,
section div.pagination button p {
    padding: 0 5px;
    margin: 0;
}
section div.pagination button {
    border: 1px solid #ccc;
}
section div.pagination button.right img {
    transform: rotate(180deg);
}
section div.header {
    width: 90%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
}
section div.header > img {
    max-width: 75px;
}
/* section div.value {
    display: flex;
    align-items: center;
} */
section div.value p {
    background-color: var(--c-blue);
    padding: 0.75em;
    color: #fff;
    font-size: 1em;
    font-family: 'Open Sans', sans-serif;
}
section div.value input {
    border-radius: 0;
    border: 1px solid var(--c-yellow);
    border-left: none;
    font-size: 1em;
    padding: calc(0.75em - 1px);
}
section div.text {
    text-align: justify;
    font-weight: 800!important;
    font-size: 1.25em;
    font-weight: lighter;
    font-family: 'Open Sans', sans-serif;
}
section div.subtext {
    font-weight: 800!important;
    font-size: 1em;
    font-weight: lighter;
    font-family: 'Open Sans', sans-serif;
    margin-bottom: 0.5em;
}
section textarea {
    width: 100%;
}
.invalid-error{
    color:#dc3545;
}
.bounce {
    animation-name: bounce;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
.save-success{
    background-color: #10940A;
    color: white;
}
@keyframes bounce {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}
@media (max-width: 991px) {
    body {
        font-size: 16px;
    }
    section div.logo-pagination > img {
        max-width: 150px;
    }
}
@media (max-width: 767px) {
    /* body{
        align-items: flex-start;
    } */
    section div.logo-pagination > img {
        max-width: 150px;
    }
}
@media (max-width: 565px) {
    section h1{
        font-size: 1.5em;
    }
    section div.header > img {
        max-width: 50px;
    }
    section{
        width: auto;
        padding: 1em;
    }
    section div.header {
        width: 100%;
        display: block;
        text-align: center;
    }
    section p.start-survey{
        text-align: justify;
    }
    section button#startSurvey{
        display: flex;
        margin: 0 auto;
    }
    section div.logo-pagination {
        flex-direction: column-reverse;
        gap: 1.25em;
    }
    section div.value input {
        width: 15%;
    }
    section div.logo-pagination {
        gap: 0;
    }
    div.pagination button,
    section div.pagination {
        margin: 0.35em;
    }
    section div.pagination button p{
        font-size: 1.2em;
    }
    section div.logo-pagination > img {
        max-width: 150px;
        margin: 0.5em;
    }
    #section-survey ul li img{
        width: 40px;
    }
    section .total-pages {
        right: 50%;
        bottom: -2em;
        transform: translateX(50%);
        top: unset;
    }
}