/*FONTS <<< Carregar as fontes no ficheiro fonts.css >>> */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap');
.spaceGroteskLight { font-family: "Space Grotesk", sans-serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; }
.spaceGrotesk {  font-family: "Space Grotesk", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }

html { position: relative; width: 100%; max-width: 100%; overflow-x: hidden; }
body { position: relative; width: 100%; max-width: 100%; overflow-x: hidden; color: #1A1A1B; font-size: 15px; line-height: 150%; font-family: "Space Grotesk", sans-serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; background-color:#ECECEC; }
section { position: relative; width: 100%; max-width: 100%; }
strong,.bold { font-weight: 700; }
em,.italic { font-style: italic; }
a { text-decoration: none; }
.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }
.ancora { position: absolute; top: -110px; left: 50%; pointer-events: none; }
.ancora#servicos { top:-250px; }

.limitador { width: 1200px; max-width: 100%; margin: auto; }
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl,.container,.row > * { padding-left: 30px; padding-right: 30px; }
.row { margin-left: -30px; margin-right: -30px; }

.stdText iframe { max-width: 100%!important; }
.stdText img { max-width: 100%; height: auto; }
.stdText ul, .stdText ol { padding: 15px 0 0px 40px; color:#838383; }
.stdText ul li { list-style: disc; }
.stdText ol li { list-style: decimal; }
.stdText h1,.stdText h2,.stdText h3,.stdText h4,.stdText h5,.stdText h6 { margin-bottom:20px; }
.stdText h1 { font-size: 28px; line-height: 120%; }
.stdText h2 { font-size: 26px; line-height: 125%; }
.stdText h3 { font-size: 24px; line-height: 130%; }
.stdText h4 { font-size: 22px; line-height: 130%; }
.stdText h5 { font-size: 20px; line-height: 135%; }
.stdText h6 { font-size: 18px; line-height: 140%; }
.stdText p { margin-bottom:20px; }
.stdText a { color:#838383; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.stdText a:hover { color:#DD0B15; }

.stdButton { position: relative; width: fit-content; width: 170px; height: 32px; max-width: 100%; border: 1px solid #838383; background-color: transparent; padding: 5px 15px; display: flex; justify-content: center; align-items: center; flex-wrap: nowrap; gap: 15px; clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%, 0 100%, 0 0); -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.stdButton p { font-size:14px; line-height:100%; }
.stdButton p, .stdButton i { position:relative; color: #1A1A1B; z-index:1; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.stdButton::before { content:""; position:absolute; bottom: 0; left:0; width:100%; height:0; background-color:#DD0B15; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.stdButton::after { content:""; position:absolute; top: 0; left:0; width:100%; height:0; background-color:#DD0B15; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.stdButton:hover { border-color: #DD0B15; clip-path: polygon(10px 0, 100% 0, 100% calc( 100% - 10px ), calc( 100% - 10px ) 100%, 0 100%, 0 10px); }
.stdButton:hover::before { height:100%; }
.stdButton:hover::after { height:100%; }
.stdButton:hover p, .stdButton:hover i { color:#ffffff; }
.darkSection .stdButton p, .darkSection .stdButton i { color:#ffffff; }

.titulo1 { font-size: 32px; line-height: 110%; }
.titulo2 { font-size: 28px; line-height: 120%; }
.titulo3 { font-size: 22px; line-height: 130%; }

.red { color:#DD0B15; }
.cinza { color:#838383; }

.mb-60 { margin-bottom:60px; }
.mb-30 { margin-bottom:30px; }
.mb-15 { margin-bottom:15px; }

.dropShadow { -webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.15); -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.15); box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.15); }

.textShadow { color: transparent; text-shadow: 0 0 0 rgba(0, 0, 0, 1), -20px 0 0 rgba(0, 0, 0, 0); }
.textShadow:hover { color: transparent; text-shadow: 20px 0 0 rgba(0, 0, 0, 0), 0 0 0 rgba(0, 0, 0, 1); }

.socialAndShare { gap: 5px; }
.socialAndShareBtn { width: 40px; height: 40px; border: none; background-color: transparent; clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%, 0 100%, 0 0); -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.socialAndShareBtn::before { content:""; position:absolute; bottom: 0; left:0; width:100%; height:0; background-color:#DD0B15; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.socialAndShareBtn::after { content:""; position:absolute; top: 0; left:0; width:100%; height:0; background-color:#DD0B15; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.socialAndShareBtn i { position: relative; color: #DD0B15; z-index:1; }
.socialAndShareBtn:hover { border-color: #DD0B15; background: transparent; clip-path: polygon(10px 0, 100% 0, 100% calc( 100% - 10px ), calc( 100% - 10px ) 100%, 0 100%, 0 10px); }
.socialAndShareBtn:hover::before { height:100%; }
.socialAndShareBtn:hover::after { height:100%; }

.boxButtons { position: relative; width: 100%; max-width: 100%; display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; gap:10px; }

.areaTextoRiscoVermelho { position:relative; padding-left:60px; color:#838383; }
.areaTextoRiscoVermelho::before,.areaTextoRiscoVermelho::after { content:""; position:absolute; top:0; left:0; width:1px; height:100%; background-color: #DD0B15; }
.areaTextoRiscoVermelho::after { display: none; left:auto; right:0; }

.videoSlideOnBackground .jarallax, .videoSlideOnBackground .slick { position:absolute; top:0; left:0; width:100%; height:100%; z-index:-10; pointer-events: none; }
.videoSlideOnBackground .slick, .videoSlideOnBackground .slick-list, .videoSlideOnBackground .slick-track, .videoSlideOnBackground .slick-slide, .videoSlideOnBackground .image { height: 100%; }
.videoSlideOnBackground .slickNav { display:none; }
.filtroEscuro { position:absolute; top:0; left:0; width:100%; height:100%; background-color: rgba(26, 26, 27, 0.75); z-index:-2; }
.filtroVermelho { position:absolute; top:0%; left:50%; width:75vw; height: 100%; background-image: url('../images/client/riscas-vermelhas.png'); background-size: contain; background-position: center left; background-repeat: no-repeat; opacity: 0.7; z-index:-1; }
.filtroGrelha { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-image: url('../images/client/grelha_fundo.png'); background-repeat: repeat; z-index:-1; }

.darkSection { background-color:#1A1A1B; color:#ffffff; }

.areaSlideClickZoom { cursor:pointer; }

.areaMarcador { position:relative; width:0px; height: 0; z-index:2; }
.areaMarcador .marcadorVermelho { position:absolute; top:-277px; right:0; width: 70vw; height: 200px; background-color:#DD0B15; -webkit-transform:rotate(-43.7deg); -moz-transform:rotate(-43.7deg); -o-transform:rotate(-43.7deg); -ms-transform:rotate(-43.7deg); transform:rotate(-43.7deg); transform-origin:right top; clip-path: polygon(190px 0%, 100% 0%, calc( 100% - 190px) 100%, 0% 100%); }
.areaMarcador .areaTexto { position:absolute; top:-230px; right:57px; width: 230px; height: auto; text-align: center; transform-origin: top right; transform: rotate(-90deg); }
.areaMarcador .areaTexto p { color: #ffffff; }
.marcador2 .areaMarcador .marcadorVermelho { top:-138px; }
.marcador2 .areaMarcador .areaTexto { top: -90px; }

.stdForm .department1,.stdForm .subject1 ,.stdForm .message1 { display:none; }
.stdForm .stdInput { width: 100%; max-width: 100%; border-radius:0; margin-bottom: 10px; background-color:transparent; border-color:#838383; }
.stdForm .stdRealContact { text-align:left!important; }
.stdForm .stdRealContact .form-check { margin-bottom:10px; }
.stdForm .stdRealContact .form-check-input { background-color:#838383; }
.stdForm .stdRealContact label { font-size:13px; line-height:150%; }
.stdForm .stdRealContact .stdPopup { font-weight:700; }

.popup.popupWebsiteLock { background: rgba(33,33,33,1); }
.popup.popupWebsiteLock .popupLogo { width: 300px; height: 125px; }
.popup { background: rgba(33,33,33,.9); }
.popup .popupBox1 { background: #1A1A1B; }
.popup .popupBox1 .popupBox2 .popupBox3 { color:#ffffff; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose .popupCloseArea { background-color: transparent; clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%, 0 100%, 0 0); -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose .popupCloseArea::before { content:""; position:absolute; bottom: 0; left:0; width:100%; height:0; background-color:#DD0B15; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose .popupCloseArea::after { content:""; position:absolute; top: 0; left:0; width:100%; height:0; background-color:#DD0B15; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose i { position: relative; color: #ffffff; z-index:1; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose:hover { opacity:1; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose .popupCloseArea:hover { border-color: #DD0B15; background: transparent; clip-path: polygon(10px 0, 100% 0, 100% calc( 100% - 10px ), calc( 100% - 10px ) 100%, 0 100%, 0 10px); }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose .popupCloseArea:hover::before { height:100%; }
.popup .popupBox1 .popupBox2 .popupBox3 .popupClose .popupCloseArea:hover::after { height:100%; }


.section1 { color:#ffffff; }
.section1 .container-fluid .container-fluid { padding-left: 0; padding-right: 0; }
.section1 .box { position: relative; width: 100%; max-width: 100%; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; min-height:100vh; padding:200px 0; }
.section1 .slogan1 { position:absolute; bottom:60px; left:0; width:190px; max-width:100%; }
.section1 .slogan2 { position:absolute; bottom:55px; right:0; width:100px; max-width:100%; }
.section1 .slogan img { max-width: 100%; }

.section2 { padding-top: 60px; }
.section2 .areaSlide { position:relative; width:100%; max-width:100%; height:300px; }
.section2 .slick, .section2 .slick-list, .section2 .slick-track, .section2 .slick-slide, .section2 .image { height: 100%; }
.section2 .slick { position:absolute; top:0; right:0; width: calc( 50vw - 30px ); z-index:1; }

.section3 { min-height:480px; }

.section4 { padding-top: 100px; padding-bottom:40px; margin-bottom:200px; }
.section4::before { content:""; position:absolute; top:30px; right:calc( 50vw + 30px ); width:50vw; height:calc( 100% - 60px ); background-image:url('../images/client/riscas-brancas.png'); background-size:contain; background-position:center right; background-repeat:no-repeat; z-index:-1; }

.section5.darkSection { width:1200px; margin:auto; padding-top: 60px; background-color:transparent; }
.section5::before { content:""; position:absolute; top:0px; left: -30px; width:calc( 100% + 60px ); height:100%; background-color: #1A1A1B; z-index:-1; }
.section5 .box { position:relative; }
.section5 .box1 { margin-bottom:248px; }
.section5 .areaSlide { position:relative; width:100%; max-width:100%; margin-top: -198px; }
.section5 .slick, .section5 .slick-list, .section5 .slick-track, .section5 .slick-slide, .section5 .image { height: 100%; }
.section5 .slick { position:relative; width: 100%; max-width: 100%; height: auto; aspect-ratio: 520/600; z-index:1; }

.section6 { padding-top: 100px; padding-bottom:40px; }
.section6 .areaSlide { position:relative; width:100%; max-width:100%; height:350px; }
.section6 .slick, .section6 .slick-list, .section6 .slick-track, .section6 .slick-slide, .section6 .image { height: 100%; }
.section6 .slick { position:absolute; top:0; left:0; width: calc( 50vw - 30px ); z-index:1; }

.section7 { padding-bottom:40px; }
.section7 .areaSlide { position:relative; width:100%; max-width:100%; height:270px; }
.section7 .slick, .section7 .slick-list, .section7 .slick-track, .section7 .slick-slide, .section7 .image { height: 100%; }
.section7 .slick { position:relative; width: 100%; z-index:1; }
.section7::before { content:""; position:absolute; top:30px; left:calc( 50vw + 30px ); width:50vw; height:calc( 100% - 60px ); background-image:url('../images/client/riscas-brancas.png'); background-size:contain; background-position:center left; background-repeat:no-repeat; z-index:-1; }

.section8 { min-height:480px; color:#ffffff; }
.section8 .box { margin:80px 0; min-height: 320px; display: flex; align-items: flex-end; }

.section9 { padding-top: 100px; padding-bottom:40px; }
.section9 .areaSlide { position:relative; width:100%; height:270px; max-width:100%; z-index: 3;}
.section9 .slick { position:absolute; top:0; left:0; width:75vw; }
.section9 .slick, .section9 .slick-list, .section9 .slick-track, .section9 .slick-slide { height: 100%; }
.section9 .slick img { position:relative; height:100%; z-index:1; }
.section9 .slick-slide { margin: 0 20px; }
.section9 .slick-list { margin: 0 -20px; }
.section9 .areaSlide.areaSlideInvert .slick { left:auto; right:0; }

.section10 { padding-top: 100px; padding-bottom:40px; }
.section10 .box { position:relative; }
.section10::before { content:""; position:absolute; top:30px; left:calc( 50vw + 30px ); width:50vw; height:calc( 100% - 60px ); background-image:url('../images/client/riscas-brancas.png'); background-size:contain; background-position:center left; background-repeat:no-repeat; z-index:-1; }
.section10 a { color: #1A1A1B; -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
.section10 a:hover { color:#DD0B15; }

.areaMapa { position:relative; width:100%; height:475px; }

.section11 { padding-top: 60px; padding-bottom:60px; color:#838383; font-size:13px; line-height:150%; }
.section11 .box { position:relative; }
.section11 .linha { width:100%; max-width:100%; height: 1px; background-color:#838383; margin-bottom:15px; }
.section11 .box2 { display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; gap: 0px 10px; margin-bottom:30px; }
.section11 .box2 img { width:auto; height:22px; }
.section11 .box3 { margin-bottom: 30px; }
.section11 .areaRodape p { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 0px 10px; }
.section11 .areaRodape a, .section11 .areaRodape .stdPopup { color:#838383; }
.section11 .areaRodape a:hover, .section11 .areaRodape .stdPopup:hover { color:#DD0B15; }
.section11 .box4 { text-align:center; }
.section11 .box4 a { color:#ffffff; }
.section11 .box4 a span { color:#838383; }


@media only screen and (max-width : 1400px) {
    .areaMarcador .marcadorVermelho { right:-50px; }
    .areaMarcador .areaTexto { right:7px; }
}




/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {
    
}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {
    .titulo1 { font-size: 28px; line-height: 120%; }
    .titulo2 { font-size: 24px; line-height: 130%; }
    .titulo3 { font-size: 20px; line-height: 135%; }

    .filtroVermelho { width:100vw; }

    .stdText ul, .stdText ol { padding: 15px 0 0 0; }
    .stdText ul li,.stdText ol li { list-style: none; }

    .boxButtons,.socialAndShare { justify-content: center; }
    .areaTextoRiscoVermelho { padding: 0 60px; }
    .areaTextoRiscoVermelho::after { display: block; }
    .stdForm .stdRealContact { width: fit-content; margin-left: auto; margin-right: auto; text-align:center!important; }

	section { text-align:center; }
    .section2 .slick { position:relative; width: 500px; max-width:100%; margin-left:auto; margin-right:auto; }
    .section4::before { top:30px; right:0; width:100%; height:calc( 100% - 60px ); background-position:center; }
    .section5 .areaSlide { width:400px; margin: 0 auto 60px auto; }
    .section5 .box1 { margin-bottom:120px; }
    .section5 .stdButton { margin-left:auto; margin-right:auto; }
    .section6 .slick { position:relative; width: 500px; max-width:100%; margin-left:auto; margin-right:auto; }
    .section6 .areaSlide { height:300px; }
    .section7 .col-lg-6.offset-lg-1 .red { margin-top:40px; }
    .section7 .slick { position:relative; width: 500px; max-width:100%; margin-left:auto; margin-right:auto; }
    .section7::before { top:30px; left:0; width:100%; height:calc( 100% - 60px ); background-position:center; }
    .section8 .box { padding:0 100px; }
    .section9 .areaSlide { margin-bottom: 100px }
    .section9 .titulo3.uppercase { margin-bottom:40px; }
    .section9 .stdButton { margin-left: auto; margin-right: auto; }
    .section9 .slick { position:relative; top:auto; left:auto; width:100%; max-width:100%; }
    .section9 .areaSlide.areaSlideInvert .slick { right:auto; }
    .section10 { padding-bottom:100px; }
    .section10::before { top:30px; left:0; width:100%; height:calc( 100% - 60px ); background-position:center; }
    .section10 .box { width: 500px; max-width:100%; margin-left:auto; margin-right:auto; }
    .section10 .stdButton { margin-left: auto; margin-right: auto; }
    .section10 .redesSociais { margin-bottom:60px; }
    .section11 .linha { display:none; }
    .section11 .box2,.section11 .areaRodape p { justify-content:center; }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
    .container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl,.container,.row > * { padding-left: 15px; padding-right: 15px; }
    .row { margin-left: -15px; margin-right: -15px; }

    .areaMarcador .areaTexto { right:-2px; }
    .section8 .box { padding:0 70px; }
    .areaMapa { height:375px; }
}

/* Extra Small Devices, Phones */ 
@media only screen and (max-width : 576px) {
    .titulo1 { font-size: 24px; line-height: 130%; }
    .titulo2 { font-size: 20px; line-height: 135%; }
    .titulo3 { font-size: 18px; line-height: 140%; }

    .popup .popupBox1 { max-width: calc( 100% - 10px ); }
    .popup .popupBox1 .popupBox2 .popupBox3 { padding: 50px 25px; }

    .areaTextoRiscoVermelho { padding: 0; }
    .areaTextoRiscoVermelho::before,.areaTextoRiscoVermelho::after { display:none; }
}

@media only screen and (max-width : 450px) {
    .section1 .slogan1 { width:165px; }
    .section1 .slogan2 { width:90px; }
}