/* —————————————————————————————— clear.css —————————————————————————————— */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, 
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, input, textarea
{margin:0;padding:0;border:0;outline:0;font-size:16px;font-weight:normal;vertical-align:top;background:transparent;outline:none;}
b {font-weight:bold;}
i {font-style:italic;}
ol, ul {list-style:none;}
blockquote, q {quotes:none;}
table {border-collapse:collapse;border-spacing:0;}
a, span {vertical-align:baseline;}
img {vertical-align:top;text-decoration:none;}





/* ---------------------------------------- */
/* Fontes Descrição
font-family: "Lato", sans-serif;

*/


:root{

    --larguraFrameDesktop: calc(100vw - 160px);
    --larguraFrameMob: calc(100vw - 72px);
    --larguraFrameMini: calc(100vw - 0px);

}


/* ---------------------------------------- */
/* Tags ----------------------------------- */

html{
	width:100%;
	height: 100%;
	scroll-behavior: smooth;
}

body{
	width: 100%;
	height: 100%;
    font-family: "Lato", sans-serif;
	scroll-behavior: smooth;
    box-sizing: border-box;
    overflow-x: hidden;
    background-color: #fafafa;
}

section{
    padding: 0px;
    box-sizing: border-box;
}

h1, h1 a:link, h1 a:active, h1 a:visited{
    font-size: 24px;
    color: #222;
    text-align: center;
    margin-bottom: 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition-property: font-size, color;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: font-size, color;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}


h1 a:hover{
    color: #000;
}

h2, h2 a:link, h2 a:active, h2 a:visited{
    font-size: 18px;
    color: #222;
    text-align: center;
    margin-bottom: 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition-property: font-size, color;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: font-size, color;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.bodyDocOverflow{
    overflow: hidden;
    width: calc(100% - 10px);
}

.bodyPad{
    width: calc(100% - 10px);
    min-height: 100%;
    box-sizing: border-box;
    padding-right: 0px;
}

.bodyDocOverflow .bodyPad{
    padding-right: 10px;
}

a:link{
    text-decoration: none;
}
a:active{
    text-decoration: none;
}
a:visited{
    text-decoration: none;
}
a:hover{
    text-decoration: none;
}

.italic{
    font-style: italic;
}

.bold{
    font-weight: bold;
}

.lighter{
    font-weight: lighter;
}

.itemTable{
    display: table;
    margin: 0 auto;
    height: 100%;
}

.centralizarV{
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
}

.tL{
    text-align: left;
}

.center, .tC{
    text-align: center;
}

.tR{
    text-align: right;
}

.tJ{
    text-align: justify !important;
}

.no-mobile{
    display: inherit;
}

.no-desktop{
    display: none;
}

.no-mob{
    display: none;
}

.no-desk{
    display: inherit;    
}



@media screen And (max-width: 768px){
    .no-mobile{
        display: none;
    }
    .no-desktop{
        display: inherit;
    }   

    .no-mob{
        display: inherit;    
    }
    
    .no-desk{
        display: none;
    }


}

.buttonGoToTop{
    position: fixed;
    bottom: 30px;
    right: 30px;
	opacity: 0;
    display: table;
    background-color: #0e3e6a;
    border-radius: 5px;
    z-index: 1002;
    cursor: pointer;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
}

.buttonGoToTop img{
    opacity: 0.7;
	width: 36px;
    transition-property: opacity width;
    transition-duration: 0.5s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity width;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
}

.buttonGoToTop img:hover{
    opacity: 1;
}

.buttonGoToTop-visible{
	opacity: 1;
    pointer-events: inherit;
}

.no-events{
    pointer-events: none;
}

.principal{
    max-height: 99vh;
}

.section-row-back{
    text-align: right;
    padding-bottom: 24px;
}

.section-row-back a:link,
.section-row-back a:active,
.section-row-back a:visited{
    font-size: 14px;
    color: #222;
}

.section-row-back a:hover{
    font-size: 14px;
    color: #000;
}

.text{
    color: #555;
    text-align: left;
    line-height: 1.75;
    font-size: 16px;
    padding: 0px 48px 120px 48px;
    transition-property: padding;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: padding;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.text-col2{
    width: 100%;
    display: grid;
    grid-template-columns: 40% 60%;
    column-gap: 0px;
    row-gap: 48px;
}

.text-col2 .item-img img{
    width: 85%;
}

.div-img{
    width: 100%;
    text-align: center;
}

.div-img img{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.class-cursor{
    cursor: pointer;
}

.class-cursor:hover{
    color: #222;
}


/* ---------------------------------------- */
/* Topo ----------------------------------- */
.desktopTop{
    width: 100%;
}



/* ---------------------------------------- */
/* Menu ----------------------------------- */
.bodyClick{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    background-color: rgba(0,0,0,0.025);
    transition-property: opacity;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}
.bodyClick-active{
    pointer-events: all;
    opacity: 1;
}


.div_logo{
    display: inline-block;
    margin-left: 150px;
    padding-top: 10px;
    text-align: center;
    transition-property: margin-left;
    transition-duration: 0.25s;
    transition-timing-function: ease;
    -webkit-transition-property: margin-left;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: ease;
}

.row-idioma{
    display: flex;
}

.row-idioma div{
    width: 50%;
    padding: 0px 12px 48px 12px;
    text-align: center;
    color: #fff;
    font-size: 14px;
}

.row-idioma div a,
.row-idioma div a:link{
    font-size: 14px;
}


.div_logo img{
    width: 200px;
    transition-property: width;
    transition-duration: 0.25s;
    transition-timing-function: ease;
    -webkit-transition-property: width;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: ease;
}

.menuDesktop{
    padding: 0px 24px 24px 24px;
    text-align: center;
    box-sizing: border-box;
    transition-property: margin-right;
    transition-duration: 0.25s;
    transition-timing-function: ease;
    -webkit-transition-property: margin-right;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: ease;
}

.ico_menu{
    position: fixed;
    top: 4px;
    right: 20px;
    width: 36px;
    height: 36px;
    cursor: pointer;
    display: none;
    color: #000;
    font-size: 40px;
    opacity: 0.8;
	z-index: 1001;
    transition-property: opacity;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
}

.ico_menu:hover{
    opacity: 1;
}

.ico_menu-active{
    display: none;
}

.ico_close{
    position: fixed;
    top: 15px;
    right: 33px;
    width: 36px;
    height: 36px;
    cursor: pointer;
	z-index: 10101;
    display: none;
    border: 1px solid transparent;
    background-color: transparent;
    background-image: url(./images/icons/black/close.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 36px;
    opacity: 0.75;
    cursor: pointer;
    transform: translateX(5px);
    transition-property: opacity;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.ico_close:hover{
    opacity: 1;
}

.ico_close-active{
    display: table;
}

.menuDesktop ul{
    list-style-type: none;
    text-align: center;
    padding-top: 7px;
}

.menuDesktop ul li{
  display: inline-block;
  padding-left: 28px;
}

.menuDesktop ul li a{
    color: #4b4b4b;
    font-size: 14px;
    text-decoration: none;
}

.menuDesktop ul li a:hover{
  color: #000;
}

.menuDesktop ul li a.active{
    color: #000;
    font-weight: bold;
    pointer-events: none;
}

nav.menuMob{
    position: fixed;
    top: 0px;
    right: 0px;
    width: 4px;
    max-width: 4px;
    height: 100vh;
    background-color: transparent;
    text-align: center;
    z-index: 10010;
    display: block;
    box-sizing: border-box;
    transition-property: width, height, left;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: width, height, left;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.menuMob-container{
    position: absolute;
    top: 0px;
    left: 2px;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    transform: translateX(0%);
    transition-property: transform, color, background-color;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: transform, color, background-color;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

nav.menuMob .area_logo{
    padding-top: 60px;
    padding-bottom: 32px;
    text-align: center;
}

nav.menuMobe .menuMob-containerAct, .menuMob-container.menuMob-containerAct{
    transform: translateX(-100%);
    background-color: #fff;
}

nav.menuMob ul{
    max-height: 100vh;
    overflow-y: auto;
    padding: 16px 29px 70px 29px;
    box-sizing: border-box;
}

nav.menuMob ul::-webkit-scrollbar-thumb {
    background-color: rgba(255,255,255,0.5);
}

nav.menuMob ul::-webkit-scrollbar-thumb:hover{
    background-color: rgba(255,255,255,0.6);
}


nav.menuMob ul li{
    display: block;
    padding: 24px 20px;
    text-align: center;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

nav.menuMob ul li:first-child{
    border-bottom: 1px solid transparent;
}

nav.menuMob ul li.menuMob-row-bt{
    width: 100%;
    display: block;
    text-align: right;
    box-sizing: border-box;
    padding: 0px 1px 24px 0px;
}

.interBox{
    height: 38px;
    min-height: 38px;
}

nav.menuMob ul li a:link,
nav.menuMob ul li a:active,
nav.menuMob ul li a:visited{
    font-size: 18px;
    font-family: "Lato", sans-serif;
    color: rgba(0, 0, 0, 0.75);
    transition-property: color;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: color;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

nav.menuMob ul li a:hover{
    color: rgba(0, 0, 0, 1);
}

.carregando{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100vh;
    opacity: 0;
    z-index: 1000;
    pointer-events: none;
    background-color: #fff;
    background-image: url(images/loading-icegif.gif);
    background-size: 150px;
    background-repeat: no-repeat;
    background-position: center center;
    transition-property: opacity;
    transition-duration: 0.25s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: ease;
}

.carregando-active{
    opacity: 1;
}

.topo-logo{
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    padding: 24px 24px 14px 24px;
}

.topo-logo img{
    cursor: pointer;
}


.topo-logo-mob{
    width: 100%;
    text-align: left;
    box-sizing: border-box;
    padding: 20px 24px 20px 8px;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 100;
    box-shadow: 2px 2px 2px #00000015;
    background-color: #fcfcfc
}


/* ---------------------------------------- */
/* Conteúdo ------------------------------- */
.conteudo-section{
    width: 100%;
    min-height: 100vh;
    padding: 0px;
    box-sizing: border-box;
    background-color: #fff;
}

.conteudo-container{
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff;
    transition-property: padding;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: padding;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;

}

.conteudo-pad{
    padding: 60px 36px 96px 36px;
    box-sizing: border-box;
    background-position: center center;
    transition-property: padding;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: padding;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.img-capa{
    width: 100%;
    height: calc(100vh - 70px);
    background-color: #fff;
    display: flex;
    padding-top: 32px;
    box-sizing: border-box;
    align-content: center;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.img-capa img{
    max-width: 90%;
    max-height: 75vh;
}

.capa-full{
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.capa-full .img-capa{
    background-color: transparent;
}

.capa-full .img-capa img{
    opacity: 0;
}

.localizador-text{
    text-align: center;
    padding: 16px 32px 32px 32px;
    font-size: 14px;
    color: #444;
    line-height: 1.5;
}

.localizador-home{
    position: absolute;
    bottom: 32px;
    left: 0px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-shadow: 1px 1px 1px #000;
    opacity: 0.5;
    line-height: 1.4;
    padding: 0px 64px;
}

/* -------------------------- End: Conteúdo */




/* ---------------------------------------- */
/* Idioma --------------------------------- */
.paletaIdioma{
    position: fixed;
    top: 8px;
    right: 0px;
    display: table;
    padding: 8px;
    text-align: right;
    margin-left: 10px;
    margin-right: 10px;
    background-color: #fff;
    z-index: 10001;
    border-radius: 4px;
    box-shadow: 1px 1px 1px rgba(0,0,0,0.15);
}


.box_idioma{
    display: flex;
    gap: 8px;
    height: 12px;
}

.box_idioma a{
    opacity: 0.35;
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-timing-function: linear;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: linear;
}
.box_idioma a:hover{
    opacity: 1;
    -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
}

.box_idioma .boxBandeira-active a{
    opacity: 1;
    -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
}


@media screen and (max-width: 768px) {
    .paletaIdioma{
        display: none;
    }
}



/* ---------------------------------------- */
/* Exposições ------------------------------- */
.expo-descricao{
    padding: 0px 32px 32px 32px;
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    color: #888;
}
.expo-descricao p{
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    color: #888;
    margin-bottom: 2px;
}

.expo-local{
    padding: 24px 32px 0px 32px;
    text-align: center;
    border-top: 2px solid #444;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
    color: #555;
}
.expo-local p{
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
    color: #555;
    margin-bottom: 8px;
}



.exposicoes-cronograma{
    background-color: #fdfdfd;
    padding-top: 64px;
    padding-bottom: 64px;
}

.expo-container{
    width: 80%;
    padding: 50px 0;
    margin: 50px auto;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.expo-container:before{
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -1px;
    width: 2px;
    height: 100%;
    background: #CCD1D9;
    z-index: 1;
    box-sizing: border-box;
}

.timeline-block{
    width: -webkit-calc(50% + 8px);
    width: -moz-calc(50% + 8px);
    width: calc(50% + 8px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    padding-bottom: 32px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    justify-content: space-between;
    clear: both;
    box-sizing: border-box;
}

.timeline-block-right{
    float: right;
    box-sizing: border-box;
}

.timeline-block-left{
    float: left;
    direction: rtl;
    box-sizing: border-box;
}
 
 .marker{
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #CCD1D9;;
    background-color: #CCD1D9;;
    margin-top: 10px;
    z-index: 9999;
    box-sizing: border-box;
 }
 
.timeline-content{
    width: 95%;
    padding: 0 15px;
    color: #444;
    box-sizing: border-box;
}

.timeline-content h3{
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 500;
    box-sizing: border-box;
}

.timeline-content span{
    font-size: 15px;
    color: #888;
    box-sizing: border-box;
}

.timeline-content p{
    font-size: 14px;
    line-height: 1.5em;
    word-spacing: 1px;
    color: #888;
    box-sizing: border-box;
}

.timeline-tipo_exp{
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 8px;
}

.expo-ano{
    font-size: 14px !important;
    font-weight: normal;
    color: #777;
    line-height: 1.6;
    margin-bottom: 8px;
    padding-top: 4px;
}

.expo_tree_cover{
    max-width: 300px;
    margin-bottom: 8px;
    cursor: pointer;
}

 
@media screen and (max-width: 768px){
    .expo-container:before {
       left: 8px;
       width: 2px;
    }
    .timeline-block {
       width: 100%;
       margin-bottom: 30px;
    }
    .timeline-block-right {
       float: none;
    }
 
    .timeline-block-left {
       float: none;
       direction: ltr;
    }
}
 






/* ---------------------------------------- */
/* OWL-Carousel --------------------------- */
.carousel-container{
    margin: 0 auto;
    width: var(--larguraFrameDesktop);
    min-height: 99vh;
    transition-property: width;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: width;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.owl-div{
    color: #000;
    height: 99vh;
    box-sizing: border-box;
    /* border: 1px solid orange; */
}

.arrow-container{
    position: fixed;
    top: 50%;
    display: table;
    z-index: 201000;
    transform: translateY(-50%);
    transition-property: left, right, opacity;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: left, right, opacity;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.arrow-container-left{
    left: 16px;
}

.arrow-container-right{
    right: 16px;
}

.arrow-container .btGo{
    width: 32px;
    border: 0px solid transparent;
    opacity: 0.5;
    cursor: pointer;
    transition-property: opacity, width;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity, width;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.arrow-container .btGo:hover{
    opacity: 0.8;
}

.arrowDinamico{
    opacity: 0;
    pointer-events: none;
}

.arrowDinamico-active{
    opacity: 1;
    pointer-events: all;
}


.carousel-canvas{
    display: flex;
    width: 100%;
    height: 100%;
    max-height: 98vh;
    flex-direction: column;
    box-sizing: border-box;
    padding: 90px 32px 32px 32px;
    justify-content: center;
    align-items: center;
    transition-property: width, padding;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: width, padding;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.carousel-area{
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.carousel-area img{
    width: 100%;
    max-width: var(--larguraFrameDesktop);
    max-height: calc(100vh - 160px);
}

.owl-next, .owl-prev{
    display: none !important;
}

.carousel-player{
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    display: none;
    z-index: 200000;
    background-color: #fff;
}

.carousel-player-active{
    display: block;
}

.carousel-player-menu{
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 24px 36px;
    background-color: #fff;
    z-index: 210000;
    width: 100%;
    text-align: right;
    box-sizing: border-box;
}

.carousel-player-btClose{
    width: 24px;
    opacity: 0.75;
    cursor: pointer;
    transition-property: opacity;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: opacity;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.carousel-player-btClose:hover{
    opacity: 1;
}

.carousel-description{
    padding-top: 24px;
    width: 100%;
}

.carousel-description-inner{
    width: 80%;
    text-align: center;
    margin: 0 auto;
    line-height: 1.7;
    font-weight: 500;
    color: #555;
    font-size: 14px;
    transition-property: font-size;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: font-size;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

/* ---------------------- End: OWL-Carousel */








/* ---------------------------------------- */
/* obras ---------------------------------- */
.obras{
    width: 100%;
    margin: 0 auto;
    min-height: 100vh;
    padding: 0px;
    padding-bottom: 64px;
    box-sizing: border-box;
    background-color: #fff;
    transition-property: width;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: width;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.obras-container{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 120px;
    box-sizing: border-box;
}

.obras-container-fotos{
    width: 90%;
    max-width: 1600px;
    margin: 0 auto;
    padding-top: 48px;
    box-sizing: border-box;
    transition-property: width, padding-top;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: width, padding-top;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.obras-flex{
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr;
    padding-bottom: 0px;
    box-sizing: border-box;
    transition-property: margin-top, row-gap, column-gap;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: margin-top, row-gap, column-gap;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.obras-box{
    position: relative;
    padding: 16px 32px;
    box-sizing: border-box;
    background-color: transparent;
    border-radius: 7px;
    cursor: pointer;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    filter: grayscale(0.25);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    transition-property: height, min-height, background-size, opacity, filter;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: height, min-height, background-size, opacity, filter;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.obras-box:hover{
    opacity: 1;
    background-size: 115% auto;
    filter: grayscale(0);
}

.obras-box-inner{
    display: flex;
    height: 100%;
    background-color: transparent;
    color: #444;
    border: 2px solid transparent;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    border-radius: 7px;
    transition-property: width, padding, background-color, color, border;
    transition-duration: 0.7s;
    transition-timing-function: ease;
    -webkit-transition-property: width, padding, background-color, color, border;
    -webkit-transition-duration: 0.7s;
    -webkit-transition-timing-function: ease;
}

.obras-box-inner:hover{
    background-color: transparent;
    color: #000;
    border: 2px solid transparent;
}

.obras-box-title{
    font-size: 16px !important;
    font-weight: 600;
    width: 100%;
    padding: 16px 32px;
    box-sizing: border-box;
    text-align: center;
    color: #555;
    background-color: transparent;
    transition-property: font-size;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: font-size;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.obras-box-inner:hover .obras-box-title{
    font-size: 28px;
}

.obras-list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 32px;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    transition-property: width, column-gap;
    transition-duration: 0.35s;
    transition-timing-function: ease;
    -webkit-transition-property: width, column-gap;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
}

.obra-capa{
    width: 100%;
    height: 200px;
    background-position: center center;
    background-size: 340px auto;
    background-repeat: no-repeat;
    background-color: #eee;
}

.thumb-title{
    width: 100%;
    font-size: 12px;
    font-weight: 600;
    box-sizing: border-box;
    padding: 8px 4px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .obras{
        width: 98%;
        padding-left: 24px;
        padding-right: 24px;
    }

    .obras-list{    
        column-gap: 8px;
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .obras-list{
        grid-template-columns: 1fr;
        width: 90%;
    }
}


/* ----------------------------- End: obras */




/* ----------------------------------------- */
/* Fotos ----------------------------------- */
.pag_fotos{
    min-height: 100vh;
    padding-top: 50px;
    background-color: #fff;
    transition-property: height;
    transition-duration: 0.3s;
    transition-timing-function: linear;
    -webkit-transition-property: height;
    -webkit-transition-duration: 0.3s;
    -webkit-transition-timing-function: linear;
}

.iframeGaleria{
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.albumFotos{
    position: relative;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 100px;
    transition-property: width;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: width;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}
    
.rowFoto {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 16px;
    transition-property: column-gap;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: column-gap;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.rowFoto-box{
    width: 100%;
    min-height: 70px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-top: 16px;
    cursor: pointer;
    padding: 36px;
    background-color: transparent;
    border: 1px solid transparent;
    box-sizing: border-box;
    transition-property: padding, margin-top, height;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: padding, margin-top, height;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.rowfoto-thumb{
    padding: 16px;
    padding-top: 20px;
    margin-bottom: 18px;
    width: 100%;
    background-color: #fff;
    border: 1px solid #fff;
    box-sizing: border-box;
    cursor: pointer;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.05);
}

.rowFoto-div{
    width: 100%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center center;
    transition-property: background-size;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: background-size;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.rowFoto-div:hover{
    background-size: 110%;
}

.rowFoto-div img{
    opacity: 0;
    width: 100% !important;
}

.rowFoto-div-title{
    font-size: 14px;
    padding-top: 12px;
    padding-bottom: 4px;
}


.mobileDisplay{
    padding-top: 16px;
}

.mobileDisplay-item{
    margin-top: 16px;
    margin-bottom: 32px;
}

.mobileDisplay-item img{
    width: 100%;
    height: auto;
}

.mobileDisplay-description{
    font-size: 14px;
    color: #888;
    text-align: center;
    box-sizing: border-box;
    padding: 16px 32px;
}

.mobileDisplay-clipping{
    margin-bottom: 60px;
}




/* Create four equal columns that sits next to each other */
.column {
  box-sizing: border-box;
}

.column a{
    text-align: center;
}

.column img{
    margin: 0 auto;
    width: 100%;
    vertical-align: middle;
    filter: brightness(100%);
    -webkit-filter: brightness(100%);
    transition-property: filter;
    transition-duration: 1s;
    transition-timing-function: linear;
    -webkit-transition-property: filter;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: linear;
}

.column img:hover{
    filter: brightness(110%);
    -webkit-filter: brightness(110%);
}
    

@media screen And (max-width: 768px) {
    .albumFotos{
        width: 100%;
    }
        
}


/* ------------------------------ End: fotos */







/* ----------------------------------------- */
/* Vídeos ---------------------------------- */
.videos-container{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    padding: 32px;
    box-sizing: border-box;
    transition-property: width, padding;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: width, padding;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.videos-box{
    width: 90%;
    margin: 0 auto;
    max-width: 1000px;
    background-color: transparent;
    border-radius: 8px;
    border: 0px solid #eee;
    box-shadow: 2px 2px 2px rgba(0,0,0,0);
    padding: 64px;
    margin-bottom: 64px;
    box-sizing: border-box;
    transition-property: width, background-color, border-radius, box-shadow, padding, margin-bottom;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: width, background-color, border-radius, box-shadow, padding, margin-bottom;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.videos-box h2{
    margin-bottom: 8px;
    text-transform: capitalize;
}

.video-code{
    text-align: center;
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto;
}

.video-frame{
    width: 100%;
    display: table;
    margin: 0 auto;
    box-sizing: border-box;
    min-height: 100px;
    background-image: url(images/loading-icegif.gif);
    background-size: 100px;
    background-repeat: no-repeat;
    background-position: center center;
}

.video-frame iframe{
    background-color: transparent;
}

.frame_code{
    max-width: 500px;
    width: 100%;
    height: 300px;
}

.video-titulo{
    margin-top: 12px;
    padding-bottom: 6px;
    text-align: left;
}

.video-legenda{
    margin-top: 16px;
    min-height: 48px;
    text-align: left;
    color: #777;
}

/* ----------------------------- End: obras */





/* ----------------------------------------- */
/* Críticas -------------------------------- */
.container-fluter{
    width: 90%;
    margin: 0 auto;
    margin-top: 48px;
    max-width: 1000px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 48px;
    row-gap: 64px;
    padding-bottom: 160px;
    transition-property: row-gap;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: row-gap;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.box-flutContainer{
    display: block;
}

.box-flutuante{
    border-radius: 12px;
    padding: 48px 32px;
    text-align: center;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #eee;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.1);
}

.box-flutuante h2{
    font-size: 18px;
    color: #000;
    font-weight: bold;
    margin-bottom: 32px;
}

.text-intro{
    line-height: 1.5;
    font-size: 16px;
    font-style: italic;
    text-align: left;
    color: #888;
}

.text-legenda{
    font-size: 13px;
    margin-top: 32px;
    text-align: right;
    color: #777;
}

.box-flutuante_2{
    transform: translateY(154px);
    transition-property: transform;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: transform;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.container-post{
    border-radius: 12px;
    padding: 48px 64px;
    text-align: center;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #eee;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.1);
    transition-property: padding;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: padding;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.container-post-txt{
    max-width: 800px;
    margin: 0 auto;
}

.assinatura{
    text-align: center;
    font-size: 14px;
    margin-bottom: 48px;
}

/* --------------------------- End: Críticas */








/* ----------------------------------------- */
/* Textos ---------------------------------- */
.container-textos{
    width: 90%;
    margin: 0 auto;
    margin-top: 48px;
    max-width: 1000px;
    padding-bottom: 160px;
    transition-property: row-gap;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: row-gap;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.box-texto-block{
    display: block;
    margin-bottom: 64px;
    transition-property: margin-bottom;
    transition-duration: 0.35s;
    transition-timing-function: linear;
    -webkit-transition-property: margin-bottom;
    -webkit-transition-duration: 0.35s;
    -webkit-transition-timing-function: linear;
}

.colunaCurriculum{
    font-size: 16px;
    line-height: 24px;
    text-align: left;
    width: 100%;
    margin: 0 auto;
    margin-top: 48px;
    padding-top: 24px;
    border-top: 4px solid #555;
}

.colunaCurriculum h2{
    font-size: 20px;
    font-weight: bold;
}

.quadroCurriculum{
    display: flex;
    width: 100%;
    margin-top: 16px;
    justify-content: flex-start;
    column-gap: 32px;
}
    
.quadroCurriculum_col{
    text-align: center;
}

/* ----------------------------- End: Textos */






/* ----------------------------------------- */
/* Clipping -------------------------------- */
.thumb-clipping{
    text-align: center;
    padding-bottom: 12px;
}

.clipping-title{
    padding-top: 12px;
    font-weight: bold;
    color: #222;
    font-size: 14px;
    text-align: center;
}

/* -------------------------- End: Clipping */





/* ---------------------------------------- */
/* Contato -------------------------------- */
.contato{
    width: 100%;
    min-height: 100vh;
    box-sizing: border-box;
    padding-bottom: 40px;
}
    
.contato_area{
    margin: 0 auto;
    margin-top: 24px;
    width: 90%;
    max-width: 1000px;
    display: grid;
    grid-template-columns: 10% 40% 50%;
}

.contatoBoxTable{
    font-family: "Lato", sans-serif;
    display: table;
    width: 100%;
    height: 100%;
}

.contatoBoxCel{
    display: table-cell;
    width: 100%;
    height: 100%;
    text-align: left;
    vertical-align: middle;
    font-size: 20px;
    line-height: 36px;
}

.contatoBoxTable a:link{
    font-size: 20px;
    color: #444;
    transition-property: color;
    transition-duration: 0.5s;
    transition-timing-function: ease;
    -webkit-transition-property: color;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
}
.contatoBoxTable a:active{
    font-size: 20px;
    color: #444;
}
.contatoBoxTable a:visited{
    font-size: 20px;
    color: #444;
}
.contatoBoxTable a:hover{
    font-size: 20px;
    color: #000;
}

.contatoFrame{
    width: 400px;
    height: 600px;
}
    





@media screen and (max-width: 1200px){

    /* ---------------------------------------- */
    /* Menu ----------------------------------- */
    .div_logo{
        margin-left: 0px;
    }
    
    nav{
        margin-right: 0px;
    }
    
}



@media screen and (max-width: 1024px){

    .obras-flex{
        row-gap: 68px;
        column-gap: 24px;
    }

    .obras-box{
        height: 20vh;
    }

    .obras-box-title{
        font-size: 20px;
    }

    .obras-box-inner:hover .obras-box-title{
        font-size: 24px;
    }

    .rowFoto {
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 16px;
    }
    
    .rowFoto-box{
        margin-top: 12px;
        padding: 36px;
    }

    .videos-container{
        width: 100%;
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .videos-box{
        width: 100%;
        background-color: #fff;
        border-radius: 0px;
        box-shadow: 2px 2px 2px transparent;
        padding: 32px;
        margin-bottom: 48px;
    }

    .text-col2{
        grid-template-columns: 100%;
        row-gap: 48px;
    }
    
    .text-col2 .item-img img{
        width: 85%;
        margin: 0 auto;
        max-width: 492px;
    }
    

}



@media screen and (max-width: 900px){

    /* ---------------------------------------- */
    /* Menu ----------------------------------- */
    nav ul li{
        padding-left: 10px;
    }
    
    nav ul li a{
        font-size: 18px;
    }
    
}


@media screen and (max-width: 800px){

    /* ---------------------------------------- */
    /* Menu ----------------------------------- */
    .div_logo{
        display: table;
        width: 250px;
    }
    
    .div_logo img{
        width: 100%;
        margin-bottom: 10px;
    }
    
}




@media screen and (max-width: 768px){

    /* ---------------------------------------- */
    /* Menu ----------------------------------- */
    nav{
        display: none;
    }
    
    .ico_menu{
        display: table;
    }

    .ico_menu-active{
        display: none;
    }


    .bodyDocOverflow{
        overflow: hidden;
    }

    .carousel-canvas{
        padding: 40px 0px 20px 0px;
    }

    .carousel-container, .carousel-area img{
        width: var(--larguraFrameMob);
        max-width: 100%;
    }


    .arrow-container-left{
        left: 8px;
    }
    
    .arrow-container-right{
        right: 8px;
    }
    
    .arrow-container .btGo{
        width: 24px;
    }

    .obras-container-fotos{
        width: 100%;
        max-width: 1600px;
        padding-top: 80px;
    }

    .obras-flex{
        display: block;
        margin-top: 28px;
        grid-template-columns: 1fr 1fr;
        row-gap: 68px;
        column-gap: 10px;
    }

    .conteudo-pad{
        padding: 78px 16px;
    }
    
    .conteudo-container{
        padding-left: 0px;
        padding-right: 0px;
    }


    
    /* ---------------------------------------- */
    /* Contato -------------------------------- */
    .contato{
        padding-bottom: 100px;
    }

    .contato_area{
        grid-template-columns: 100%;
    }

    .contato_area .item{
        text-align: center;
    }
    
    .contatoBoxCel{
        text-align: center;
    }

    .contatoFrame{
        margin: 0 auto;
    }



}


@media screen and (max-width: 680px){
    .frame_code{
        height: 280px;
    }

    .container-fluter{
        width: 90%;
        grid-template-columns: 1fr;
    }

    .box-flutuante_2{
        transform: translateY(0px);
    }

}


@media screen and (max-width: 640px){

    h1, h1 a:link, h1 a:active, h1 a:visited{
        font-size: 20px;
    }
    
    h2, h2 a:link, h2 a:active, h2 a:visited{
        font-size: 16px;
    }


    
    .obras-box{
        min-height: 20vh;
        height: 20vh;
    }

    .rowFoto {
        grid-template-columns: 1fr 1fr;
    }

    .carousel-description-inner{
        font-size: 14px;
    }

    .frame_code{
        height: 240px;
    }

    .container-post{
        border-radius: 8px;
        padding: 48px 32px;
        box-shadow: 2px 2px 2px transparent;
    }
    
    .text{
        padding: 0px 24px;
    }
    
}


@media screen and (max-width: 600px){

    .buttonGoToTop img{
        width: 25px;
    }
   
    .obras-box-title{
        font-size: 18px;
    }
    .obras-box-inner:hover .obras-box-title{
        font-size: 20px;
    }

    .rowFoto-box{
        margin-top: 12px;
        padding: 16px;
    }

}




@media screen and (max-width: 500px){

    /* ---------------------------------------- */
    /* Menu ----------------------------------- */
    .topo{
        width: 100%;
        padding-bottom: 10px;
    }

    .div_logo{
        margin-left: 20px;
    }

    .videos-box{
        padding-left: 0px;
        padding-right: 0px;
    }

    .frame_code{
        height: 200px;
    }

        
}


@media screen and (max-width: 400px){

    .obras-box{
        height: 15vh;
        min-height: 15vh;
    }

    .carousel-canvas{
        padding: 0px 0px 20px 0px;
    }

    .carousel-container, .carousel-area img{
        width: var(--larguraFrameMini);
    }

    .arrow-container-left{
        left: 6px;
    }
    
    .arrow-container-right{
        right: 6px;
    }
    
    .arrow-container .btGo{
        width: 16px;
    }

    .container-post{
        padding: 48px 0px;
        box-shadow: 2px 2px 2px transparent;
    }
    
}





/* Scroll ===================================== */
::-webkit-scrollbar {
    width: 10px;
    height: 20px;
    background-color: rgba(0,0,0,0.1);
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-timing-function: ease-in;
    -webkit-transition-property: background-color;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-in;
}

::-webkit-scrollbar:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

::-webkit-scrollbar-track {
   border: solid 2px rgba(0,0,0,0.1);
   background-color: rgba(0,0,0,0.1);
}
  
::-webkit-scrollbar-thumb {
    border: solid 2px transparent;
    background-color: rgba(0,0,0,0.5);
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-timing-function: linear;
    -webkit-transition-property: background-color;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: linear;
}

::-webkit-scrollbar-thumb:hover{
    background-color: rgba(0,0,0,0.6);
}
