@import url('https://fonts.googleapis.com/css?family=Rokkitt&display=swap');

:root {
    --card-height: 5rem;
    --fs-xl: 1.8rem;
    --fs-lg: 1.3rem;
    --fs-md: 1.1rem;
    --fs-sm: 0.9rem;
    --fs-xs: 0.7rem;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
}

body {
    background-color: #fcfcfc;
    padding: 2vw;
    padding-top: var(--fs-md);
}

h2 {
    font-size: var(--fs-lg);
}

h3 {
    font-size: var(--fs-md)
}

h4 {
    font-size: var(--fs-sm);
}

.competenciasTitulo {
    padding-left: var(--fs-sm);
}

.criterioTitulo {
    padding-bottom: var(--fs-sm);
    padding-top: var(--fs-sm);
}

.criterioTitulo a {
    margin-left: var(--fs-sm);
    color: rgba(0, 99, 129, 0.671);
    opacity: 0;
    transition: opacity .1s;
}

.criterioTitulo:hover a { /*clip aparece*/
    color: #34aadc;
    opacity: .8;
}

.criterioTitulo a:hover { /*clip muda de cor*/
    color: #02577e;
}

.linkCriterio {
    text-align: center;
    cursor: pointer;
    box-shadow: rgba(3, 102, 214, 0.3) 0px 0px 0px 3px;
    border-radius: calc(var(--card-height)/25);
    font-weight: bold;
    font-family: Rokkitt;
    font-size: var(--fs-lg);
    margin: calc(var(--card-height)/8);
    height: var(--card-height);
    width: 20rem;
    color: #0000;
    background: 
        linear-gradient(90deg,#34aadc 50%,#000 0) 
        var(--_p,100%)/200% no-repeat;
        -webkit-background-clip: text;
        background-clip: text;
        transition: transform .2s, background .4s;
}
.linkCriterio h3 {
    line-height: var(--card-height);
}

.linkCriterio:hover {
    --_p: 0%;
    color: #0000;
    transform: translateY(-3px);
}

#modalCriterio {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    position: fixed;
    z-index: 1040;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
}

.modal-dialog {
    display: block;
    margin: 0 auto;
    position: relative;
    background-color: rgba(0, 0, 0, 0) !important;
    overflow-y: initial !important;
    width: 80vw;
    height: 80vh;
    z-index: 1050;
}
.modal-content {
    border: 0;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
    border-radius: 12px;
    position: relative;
    background-color: #f8f9fa;
    overflow-y: initial !important;
    width: 100%;
    height: 100%;
    z-index: 1050;
}

#modal-header {
    position: relative;
    width: 100%;
    height: 5vh;
}

.modal-title {
    text-align:center;
}
.modal-body {
    width: 100%;
    height: 70vh;
    overflow-y: auto;
}

#botaoTutorialClose {
    background-color: rgb(252, 252, 252);;
}

#botaoTutorialClose:hover {
    background-color: rgb(255, 255, 255);
}

/* Details e summary */
details[open] summary ~ * {
    animation: open 0.3s ease-in-out;
}

@keyframes open {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

details summary::-webkit-details-marker {
    display: none;
}

details summary {
    width: 100%;
    padding: 0.5rem 0;
    border-top: 1px dashed #2882A8;
    position: relative;
    cursor: pointer;
    font-size: var(--fs-sm);
    font-weight: 300;
    list-style: none;
    transition: border-top .1s;
}

details summary:after {
    content: "+";
    color: #34AADC;
    position: absolute;
    font-size: var(--fs-sm);
    line-height: 0;
    margin-top: 0.75rem;
    right: 0;
    font-weight: 200;
    transform-origin: center;
    transition: 200ms linear;
}

details[open] summary:after {
    color: black;
    transform: rotate(45deg);
    font-size: var(--fs-md);
}
details[open] summary {
    border-top: 1px solid #2882A8;
}
details summary {
    outline: 0;
}
details a {
    color: #1e6280;
    font-size: var(--fs-xs);
    margin: 0 0 var(--fs-xs);
    padding-top: var(--fs-xs);
}

details a:hover {
    color: black;
}

@media (min-width: 459px) {
    :root {
        --card-height: 6rem;
        --fs-xl: 2rem;
        --fs-lg: 1.5rem;
        --fs-md: 1.25rem;
        --fs-sm: 1rem;
        --fs-xs: 0.75rem;
    }
}

@media (min-width: 699px) {
    :root {
        --card-height: 10rem;
        --fs-xl: 2.5rem;
        --fs-lg: 1.8rem;
        --fs-md: 1.4rem;
        --fs-sm: 1.15rem;
        --fs-xs: 0.8rem;
    }
}

@media (min-width: 999px) {
    :root {
        --card-height: 20rem;
        --fs-xl: 3rem;
        --fs-lg: 2rem;
        --fs-md: 1.75rem;
        --fs-sm: 1.3rem;
        --fs-xs: 0.9rem;
    }
}

@media (min-width: 1499px) {
    :root {
        --card-height: 25rem;
        --fs-xl: 4rem;
        --fs-lg: 2.5rem;
        --fs-md: 2rem;
        --fs-sm: 1.5rem;
        --fs-xs: 1rem;
    }
}

@media (min-width: 2999px) {
    :root {
        --card-height: 40rem;
        --fs-xl: 6rem;
        --fs-lg: 4rem;
        --fs-md: 3rem;
        --fs-sm: 2rem;
        --fs-xs: 1.5rem;
    }
}