/*
Theme Name: Blisq
Theme URI: http://blisq.pt
Author: Blisq
Author URI: http://blisq.pt
Description: Tema desenvolvido para uso exclusivo da Blisq Creative
Version: V6.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: Blisq
Text Domain: Blisq
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

::selection {
    background-color: #141414;
    color: #CDCDCD;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f3f3f3;
}

::-webkit-scrollbar-thumb {
    background: #858585;
}

::-webkit-scrollbar-thumb:hover {
    background: #191919;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px #f2f2f2 inset !important;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    font-family: 'Archivo', sans-serif;
}

html.open {
    overflow: hidden;
}

body {
    overflow: hidden;
    position: relative;
}

header {
    position: absolute;
    top: 50px;
    width: 100%;
    z-index: 6;
}

.page-template-front-page header::before{
    content: '';
    width: 100vw;
    height: 430px;
    position: absolute;
    top: -50px;
    left: 0;
    display: block;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.38) 0%, rgba(255, 255, 255, 0.00) 100%);
    z-index: -1;
}

h1 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 75.811px;
    font-weight: 700;
    line-height: 92.023%;
    margin-top: 17px;
}

.header-container {
    max-width: 1670px;
    margin: 0 auto;
}

.container {
    max-width: 1500px;
    margin: 0 auto;
}

.contacts-container {
    max-width: 1400px;
    margin: 0 auto;
}

.small-container {
    max-width: 1300px;
    margin: 0 auto;
}

.mini-container {
    max-width: 1200px;
}

.info-pages-container {
    max-width: 831px;
    margin: 0 auto;
}

header .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page-template-page-contactos .menu-top li a,
.page-template-page-contactos .logo>img {
    filter: invert(1);
}

.menu-top {
    display: flex;
    gap: 82px;
    position: relative;
}

.menu-top li a {
    color: #141414;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 105.523%;
    letter-spacing: 3.6px;
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
}

.menu-top .sub-menu {
    display: none;
    position: absolute;
}

.menu-top .sub-menu>li a{
    transition: all .2s;
}

.menu-top .sub-menu>li a:hover {
    color: #BCBCBC;
}

.menu-top>li:hover>.sub-menu {
    animation: growDown 300ms ease-in-out forwards;
    transform-origin: top center
}

@keyframes growDown {
    0% {
        opacity: 0;
        /* transform: scaleY(0) */
    }

    100% {
        opacity: 1;
        /* transform: scaleY(1) */
    }
}

#nav-icon1 {
    display: none;
}

.menu-top .sub-menu li a {
    color: #141414;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 105.523%;
    letter-spacing: 3.6px;
    text-transform: uppercase;
}

.menu-top .menu-item-has-children > a {
    cursor: pointer;
    padding-bottom: 40px;
}

.menu-top .menu-item-has-children{
    position: relative;
}

.menu-top .menu-item-has-children:hover .sub-menu {
    min-width: 228px;
    text-align: center;
    top: 35px;
    left: -62px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: #FFF;
    padding: 20px;
}

.page-template-page-contactos .menu-top .menu-item-has-children:hover .sub-menu {
    background-color: #000;
}

.menu-top-roll {
    position: absolute;
    height: 5px;
    width: 5px;
    border-radius: 50%;
    background-color: #000;
    display: block;
    left: -5%;
    top: 23px;
    opacity: 0;
    visibility: hidden;
    transition: all 1s;
}

.menu-language{
    display: none;
}

.page-template-page-contactos .menu-top-roll {
    background-color: white;
}

li.current_page_parent ~.menu-top-roll,
li.current-menu-parent~.menu-top-roll,
.menu-top>li.current-menu-item~.menu-top-roll,
.menu-top>li:hover~.menu-top-roll {
    opacity: 1;
    visibility: visible;
}

/* li:nth-child(5).current-menu-item~.menu-top-roll,
.menu-top>li:nth-child(5):hover~.menu-top-roll {
    left: 93%;
} */

/* Menu com 4 Itens - Alterar valores */

li:nth-child(4).current_page_parent ~.menu-top-roll,
li:nth-child(4).current-menu-item~.menu-top-roll,
.menu-top>li:nth-child(4):hover~.menu-top-roll {
    left: 92%;
}

li:nth-child(3).current_page_parent~.menu-top-roll,
li:nth-child(3).current-menu-item~.menu-top-roll,
.menu-top>li:nth-child(3):hover~.menu-top-roll {
    left: 64%;
}

li:nth-child(2).current-menu-parent~.menu-top-roll,
li:nth-child(2).current-menu-item~.menu-top-roll,
.menu-top>li:nth-child(2):hover~.menu-top-roll {
    left: 38%;
}

li:nth-child(1).current-menu-item~.menu-top-roll,
.menu-top>li:nth-child(1):hover~.menu-top-roll {
    left: 10%;
}

.header-translation-black-bar {
    padding: 42px 5% 42px 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 60px;
    background-color: #121212;
    transform: rotate(90deg) translate(100vh, 50%);
    position: fixed;
    right: 0;
    top: -48px;
    z-index: 10;
    width: 100vh;
    transform-origin: right;
}

.header-translation-black-bar a {
    color: #FFF;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-weight: 100;
    line-height: 105.523%;
    text-decoration: none;
    position: relative;
    display: block;
    transition: all .2s;
}

.header-translation-black-bar a.selected{
    font-weight: 400;
}

.header-translation-black-bar a:hover{
    color: #797979;
}

.header-translation-black-bar a:first-child::before {
    content: " ";
    height: 1px;
    width: 190px;
    background-color: #848484;
    top: 50%;
    left: -230px;
    position: absolute;
}

.page-template-default .component,
.page-template-page-contactos .component {
    display: none;
}

.component {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    z-index: 5;
    pointer-events: none;
}

.single-servico .component{
    z-index: -1;
}

.component>div {
    border-right: 1px solid rgba(0, 0, 0, 0.10);
    position: relative;
}

.component>div::after {
    content: '';
    position: absolute;
    right: -4px;
    width: 6px;
    height: 47px;
    background-color: #000;
    display: block;
    transition: all 1s ease-in-out;
}

.component>div.scroll-up:nth-child(1)::after,
.component>div:nth-child(1)::after {
    top: 25vh;
}

.component>div.scroll-down:nth-child(1)::after{
    top: 35vh;
}

.single-post .component>div:nth-child(1)::after,
.single-servico .component>div:nth-child(1)::after {
    top: 0;
}

.component>div.scroll-down:nth-child(2)::after,
.component>div:nth-child(2)::after {
    top: 150vh;
}

.page-template-page-apresentacao .component>div.scroll-up:nth-child(2)::after,
.page-template-page-apresentacao .component>div:nth-child(2)::after{
    top: 80vh;
}

.page-template-page-apresentacao .component>div.scroll-down:nth-child(2)::after{
    top: 90vh;
}

.component>div.scroll-up:nth-child(2)::after{
    top: 160vh;
}

.single-servico .component>div:nth-child(2)::after{
    display: none;
}

.component>div:nth-child(3)::after {
    top: 260vh;
}

.single-servico .component>div.scroll-up:nth-child(4)::after,
.single-servico .component>div:nth-child(4)::after {
    top: 25vh;
}

.component>div.scroll-up:nth-child(4)::after,
.component>div:nth-child(4)::after {
    top: 40vh;
}

.archive .component>div:nth-child(4)::after{
    top: 90vh;
}

.component>div.scroll-down:nth-child(4)::after{
    top: 20vh;
}

.page-template-page-apresentacao .component>div.scroll-up:nth-child(4)::after,
.page-template-page-apresentacao .component>div:nth-child(4)::after {
    top: -2vh;
}

.page-template-page-apresentacao .component>div.scroll-down:nth-child(4)::after{
    top: 20vh;
}

.single-post .component>div:nth-child(4)::after {
    top: 100vh;
}

.component>div:nth-child(5)::after {
    top: 400vh;
}

.footer-container {
    max-width: 1665px;
    margin: 0 auto;
}

footer {
    padding-top: 85px;
    position: relative;
}

footer::before {
    content: '';
    position: absolute;
    left: 0;
    top: -177px;
    width: 100%;
    height: 613px;
    background-image: url(assets/images/bg-footer.webp);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    z-index: -1;
}

footer .footer-container {
    display: flex;
    flex-wrap: wrap;
    column-gap: 5%;
    row-gap: 20px;
}

footer a,
.footer-links a {
    display: block;
    transition: all .2s;
}

.menu-service > li > a:hover,
footer a:hover,
.footer-links a:hover {
    color: #8E8E8E;
}

.footer-main-flex {
    display: flex;
    column-gap: 64px;
    justify-content: space-between;
}

.big-mail {
    color: #141414;
    font-family: 'Inter', sans-serif;
    font-size: 66px;
    font-style: normal;
    font-weight: 200;
    line-height: 100%;
    text-decoration: none;
    transition: all .2s;
}

.big-mail:hover{
    color: #A5A5A5;
    text-decoration: none;
}

.footer-address-content p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 151.023%;
    white-space: nowrap;
}

.footer-content-intro-span {
    color: #A5A5A5;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 151.023%;
    text-decoration: none;
    display: block;
    margin-bottom: 10px;
}

.footer-contacts-content a {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 88.023%;
    text-decoration: none;
    display: block;
    margin-bottom: 8px;
    white-space: nowrap;
}

.footer-contacts-content span {
    color: #C7C7C7;
    font-family: 'Archivo', sans-serif;
    font-size: 8px;
    font-weight: 400;
    line-height: 88.023%;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
}

.menu-service > li > a,
.footer-socials-content a,
.footer-black-a {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 151.023%;
    text-decoration: none;
    margin-bottom: 8px;
}

.footer-logos {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-logos img {
    width: fit-content;
}

.frontpage-intro-section {
    position: relative;
    min-height: 100vh;
}

.nav-footer {
    margin-top: 23px;
    background: linear-gradient(to right, #141414 60%, transparent 60%);
    padding: 10px 0;
}

.footer-links {
    display: flex;
    gap: 100px;
    align-items: center;
    position: relative;
}

.footer-links a {
    color: #858585;
    font-family: 'Archivo', sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 151.023%;
    text-decoration: none;
}

.frontpage-intro-section-slick img {
    object-fit: cover;
}

.frontpage-intro-flex {
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
}

.frontpage-intro-flex .container {
    width: 100%;
}

.frontpage-intro-section-slick .slick-track {
    display: flex;
    height: 100vh;
}

.slick-next,
.slick-prev {
    position: absolute;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: none;
    font-size: 0;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    z-index: 4;
}

.slick-next,
.slick-prev {
    right: 179px;
    bottom: 120px;
    height: 96px;
    width: 96px;
    background-color: #000;
    background-image: url(assets/images/svg/next.svg);
    background-size: 15px 33px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 5;
    transition: all .2s;
}

.slick-next:hover,
.slick-prev:hover {
    filter: invert(1);
}

.slick-prev {
    right: 293px;
    bottom: 120px;
    background-image: url(assets/images/svg/previous.svg);
}

.frontpage-intro-section h1 {
    z-index: 10;
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 75.811px;
    font-weight: 600;
    line-height: 98.523%;
    letter-spacing: -0.758px;
    margin-top: 100px;
    transition: all .2s;
    transform: translateY(0);
    animation: toTop 1s forwards;
}

.black-span {
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 105.523%;
    letter-spacing: 3.6px;
    text-transform: uppercase;
    position: relative;
    z-index: 5;
}

.frontpage-presentation-section {
    padding-top: 128px;
    background-color: #f3f3f3;
}

.frontpage-presentation-section h2 {
    color: #CDCDCD;
    font-family: 'Archivo', sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 120%;
    max-width: 356px;
    margin-top: 20px;
}

.frontpage-presentation-section-flex {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.frontpage-presentation-section-text p {
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
    max-width: 752px;
}

.know-more-button {
    color: #000;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 100;
    text-decoration: none;
    border: 1px solid #000;
    border-radius: 30px;
    padding: 11px 17px;
    display: block;
    margin-top: 20px;
    width: fit-content;
    transition: all .2s;
}

.btn-404 {
    margin: 30px auto 0 auto;
}

.know-more-button:hover {
    background-color: #000;
    color: #FFF;
}

.frontpage-portfolio-section {
    background-color: #f3f3f3;
    padding: 200px 0;
}

.frontpage-portfolio-section p {
    color: #909090;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
    max-width: 325px;
    margin: 0 auto;
}

.frontpage-portfolio-section .container {
    display: grid;
    margin-top: 129px;
    column-gap: 40px;
    row-gap: 15px;
    justify-content: space-between;
    position: relative;
    grid-template-columns: 1fr 1fr 1fr;
}

.frontpage-portfolio-section .container::before {
    content: "Portefólio";
    position: absolute;
    left: 0px;
    top: -185px;
    width: 100%;
    color: #1E1E1E;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 373.338px;
    font-weight: 100;
    line-height: 122.523%;
    transition: all 1s;
    transform: translateY(8%);
    z-index: 4;
}

.frontpage-portfolio-section .container.to-top::before {
    animation: toTop 1s forwards;
}

@keyframes toTop{
    from{
        transform: translateY(8%);
    }
    to{
        transform: translateY(0);
    }
}

.portfolio-card img {
    max-width: 100%;
    height: 630px;
    object-fit: cover;
}

.portfolio-card {
    z-index: 5;
    text-decoration: none;
}

.portfolio-card .know-more-button{
    margin: 10px 0 20px 0;
}

.portfolio-card:hover .know-more-button{
    background-color: #000;
    color: #FFF;
}

.portfolio-card:nth-of-type(2) {
    margin-top: 0;
}

@keyframes portfolioCard {
    from{
        margin-top: 0;
    }
    to{
        margin-top: 94px;
    }
}

.frontpage-services-section {
    padding: 200px 0;
    background-color: #fff;
    position: relative;
    z-index: 5;
}

.frontpage-services-section .container {
    display: flex;
    justify-content: space-between;
}

.services-section-title p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
    max-width: 214px;
    margin-top: 20px;
}

.services-section-grid-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 60px;
    position: relative;
    z-index: 6;
}

.services-section-grid-list.scale::before{
    scale: 1;
}

.services-section-grid-list::before {
    content: " ";
    position: absolute;
    left: -201px;
    bottom: -171px;
    background-image: url(assets/images/svg/grid-before_2.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 622px;
    height: 622px;
    scale: .7;
    transition: all 1s
}

.services-section-grid-list a {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 43px;
    font-weight: 100;
    line-height: 151.023%;
    text-decoration: none;
    padding: 20px 128px 20px 0;
    border-bottom: 1px solid #14141470;
    position: relative;
    transition: all .5s;
}

.services-section-grid-list a::after {
    content: " ";
    position: absolute;
    right: 10px;
    top: 24px;
    background-image: url(assets/images/svg/right_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 85px;
    height: 60px;
    transition: all .5s;
    opacity: 0;
}

.services-section-grid-list a:hover::after {
    opacity: 1;
    right: 0;
}

.services-section-grid-list a span {
    left: 0;
    transition: all .2s;
    position: relative;
}

.services-section-grid-list a:hover span {
    left: 20px;
}

.frontpage-values-section {
    padding-bottom: 20px;
    background: linear-gradient(180deg, rgba(243,243,243,1) 0%, rgba(243,243,243,1) 80%, transparent 100%);
    position: relative;
    z-index: 4;
    margin-top: 100px;
}

.frontpage-values-section .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    top: -100px;
}

.frontpage-values-section-text {
    width: 39%;
    margin-top: -150px;
}

.frontpage-values-section-text p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 600;
    line-height: 147.523%;
    margin-top: 20px;
}

.frontpage-values-section-image {
    width: 47%;
    position: relative;
    z-index: 5;
}

/* .frontpage-values-section-image.scale::after{
    scale: 1;
}

.frontpage-values-section-image::after {
    content: " ";
    position: absolute;
    bottom: -40px;
    left: -124px;
    background-image: url(assets/images/svg/brinox_b.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 290px;
    height: 411px;
    scale: .9;
    transition: all 1s;
} */

.services-section-title {
    z-index: 7;
    position: relative;
    margin-left: 10%;
}

.presentation-intro-section {
    min-height: 100vh;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #F1F1F1;
    position: relative;
}

.presentation-intro-section::after {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(assets/images/svg/presentation-background.svg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: 48%;
    pointer-events: none;
}

.presentation-intro-section h1 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 75.811px;
    font-weight: 700;
    line-height: 92.023%;
    margin-top: 17px;
}

.presentation-intro-section-description-wrapper {
    max-width: 658px;
    margin: 0 auto;
    margin-top: 26px;
}

.presentation-intro-section p {
    color: #141414;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
    opacity: 1;
    animation: opacity 2s forwards;
}

@keyframes opacity{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

.team-presentation-section {
    background-color: #F3F3F3;
    position: relative;
}

/* .team-presentation-section::before {
    content: " ";
    position: absolute;
    left: 0;
    top: -600px;
    background-image: url(assets/images/svg/team-presentation-background.svg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 250px;
    height: 1200px;
} */

.team-presentation-section .container {
    display: flex;
    justify-content: space-between;
    gap: 65px;
    padding-bottom: 146px;
}

.team-presentation-section-text {
    width: 45%;
}

.team-presentation-section-images {
    width: 45%;
    z-index: 5;
}

.team-presentation-section-text-first-text {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
}

.team-presentation-section-text div p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
    margin-top: 16px;
}

.team-presentation-section-images img:first-child {
    width: auto;
    height: auto;
    object-fit: contain;
}

.team-presentation-section-images img:last-child {
    width: 100%;
    height: auto;
    object-fit: contain;
    margin-top: 20px;
}

.presentation-brikz-section {
    background-color: #141414;
}

.presentation-brikz-section {
    display: flex;
    justify-content: space-between;
    gap: 7%;
    z-index: 5;
    position: relative;
}

.presentation-brikz-section-image {
    width: 50%;
}

.presentation-brikz-section-image img {
    height: 100%;
}

.presentation-brikz-section-text {
    width: 49%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.presentation-brikz-text-wrapper {
    max-width: 580px;
}

.presentation-brikz-section-text h2 {
    color: #F3F3F3;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
}

.presentation-brikz-section-text p {
    color: #FFF;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
    margin-top: 10px;
}

.white-know-more-button {
    color: #FFF;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 100;
    line-height: 147.523%;
    padding: 6px 17px;
    text-decoration: none;
    border-radius: 30px;
    border: 1px solid #fff;
    display: block;
    width: fit-content;
    margin-top: 30px;
    transition: all .2s;
}

.white-know-more-button.disabled{
    color: #6A6A6A;
    border: 1px solid #6A6A6A;
}

.white-know-more-button.disabled:hover{
    background-color: transparent;
    color: #6A6A6A;
}

.white-know-more-button:hover{
    background-color: #fff;
    color: #121212;
}

.contacts-main-section {
    min-height: 110vh;
    background-image: url(assets/images/map.webp);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 150px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.contacts-main-section .contacts-container {
    display: flex;
}

.contacts-main-section-text {
    width: 45%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.contacts-main-section-form {
    width: 55%;
}

.contacts-main-section-text a {
    color: #FFF;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 100;
    line-height: 147.523%;
    border-radius: 30px;
    border: 1px solid #FFF;
    text-decoration: none;
    padding: 6px 18px;
    width: fit-content;
    display: block;
    transition: all .2s;
}

.contacts-main-section-text a:hover {
    color: #141414;
    background-color: #fff;
}

.contacts-main-section-text h1 {
    color: #FFF;
    font-family: 'Archivo', sans-serif;
    font-size: 75.811px;
    font-weight: 700;
    line-height: 92.023%;
}

.contacts-main-section-form form {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 63px 50px 80px 50px;
    background-color: #F2F2F2;
}

.contacts-main-section-form input,
.contacts-main-section-form textarea {
    border: none;
    background-color: #F2F2F2;
    border-bottom: 1px solid #ABABAB;
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 1;
}

.contacts-main-section-form input:not([type="submit"]) {
    width: 100%;
    padding-bottom: 13px;
}

.contacts-main-section-form input:focus,
.contacts-main-section-form textarea {
    outline: none;
}

.contacts-main-section-form input::placeholder,
.contacts-main-section-form textarea::placeholder {
    color: inherit;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
}

.contacts-main-section-form textarea {
    height: 270px;
    width: 100%;
    resize: unset;
}

.form-validation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.form-input{
    position: relative;
}
.form-input:not(:first-child){
    margin-top: 35px;
}

.form-input label{
    position: absolute;
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    top: 0;
    transition: all .2s;
}

.form-input label.typing{
    top: -20px;
    font-size: 12px;
    font-weight: 400;
}

.form-validation-privacy {
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-validation-privacy-text.error span,
.form-validation-privacy-text.error a{
    color: red;
}
.form-validation-privacy-text span {
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-weight: 100;
    line-height: 147.523%;
}

.form-validation-privacy-text a {
    color: #000;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 147.523%;
    text-decoration-line: underline;
}

.response-ajax{
    font-size: 11px;
    margin-top: 10px;
}

.contacts-main-section-form input[type=checkbox] {
    all: unset;
    appearance: none;
    background-color: #D9D9D9;
    width: 12px;
    height: 12px;
    cursor: pointer;
    border-radius: 50%;
    flex: 1 0 12px;
}

.contacts-main-section-form input[type=checkbox]:checked {
    background-color: #191919;
}

.contacts-main-section-form input[type=submit] {
    color: #FFF;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 147.523%;
    padding: 6px 17px;
    background-color: #141414;
    border: 1px solid #141414;
    border-radius: 30px;
    cursor: pointer;
    transition: all .2s;
}

.contacts-main-section-form input[type=submit]:hover {
    background-color: transparent;
    color: #141414;
}

.form-validation {
    margin-top: 27px;
}

.portfolio-categories-section {
    margin-top: 200px;
}

.portfolio-categories-section .current-category {
    color: #000;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 147.523%;
}

.portfolio-categories-list {
    max-width: 572px;
    margin: 0 auto;
    display: flex;
    column-gap: 40px;
    row-gap: 15px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.portfolio-categories-list a {
    color: #B1B1B1;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    font-weight: 100;
    line-height: 147.523%;
    text-decoration: none;
    transition: all .2s;
}

.portfolio-categories-list a:hover {
    color: #000;
    text-decoration: underline;
}

.portfolio-main-section {
    margin-top: 286px;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 40px;
    row-gap: 40px;
    position: relative;
    z-index: 5;
}

.portfolio-grid::before {
    content: "Portefólio";
    position: absolute;
    top: -320px;
    left: -77px;
    color: #1E1E1E;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 410px;
    font-weight: 100;
    line-height: 122.523%;
    width: 100%;
    pointer-events: none;
}

.portfolio-grid a img {
    height: 630px;
    width: 100%;
    object-fit: cover;
}

.portfolio-grid a{
    text-decoration: none;
}
.portfolio-grid a span{
    color: #000;
    font-family: 'Archivo';
    font-size: 12px;
    font-weight: 100;
    line-height: 147.523%; /* 18.926px */
    border-radius: 30px;
    border: 0.7px solid #000;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 6px 17px;
    margin-top: 10px;
    display: none;
    transition: all .2s;
}

.single-post .portfolio-grid a img {
    height: auto;
}

.portfolio-grid a:nth-child(3n+2) {
    margin-top: -140px;
}

.portfolio-grid a:nth-child(3n+3) {
    margin-top: -60px;
}

.portfolio-grid img {
    filter: grayscale(1);
    transition: all .2s;
}

.portfolio-grid img:hover {
    filter: grayscale(0);
}

.portfolio-main-section .pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

.portfolio-main-section .pagination a {
    color: #909090;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    font-weight: 100;
    line-height: 147.523%;
    text-decoration: none;
    height: 28px;
    width: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portfolio-main-section .pagination .next {
    font-size: 0;
    background-image: url(assets/images/svg/right-arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 4px;
    height: 8px;
}

.portfolio-main-section .pagination .prev {
    font-size: 0;
    background-image: url(assets/images/svg/left-arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 4px;
    height: 8px;
}

.portfolio-main-section .pagination a:hover,
.portfolio-main-section .current {
    color: #000;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
    background-color: #D9D9D9;
    width: 28px;
    height: 28px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
}

.portfolio-main-section .pagination .next:hover {
    font-size: 0;
    width: 4px;
    height: 8px;
}

.single-post-project-section {
    padding-top: 200px;
}

.single-post-title-wrapper {
    max-width: 1000px;
}

.single-post-title-wrapper h1 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 55px;
    font-weight: 700;
    line-height: 92.023%;
}

.single-post-project-flex {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
}

.single-post-project-images {
    width: 82%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.single-post-project-images img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.single-post-project-artist span,
.single-post-project-artist h2 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
}

.related-projects-section {
    margin-top: 80px;
}

.related-projects-section .portfolio-grid {
    margin-top: 70px;
}

.related-projects-section .portfolio-grid::before {
    display: none;
}

.related-projects-section .portfolio-grid a:nth-child(3n+2) {
    margin-top: -50px;
}

.related-projects-section .portfolio-grid a:nth-child(3n+3) {
    margin-top: 0;
}

.products-main-section {
    padding: 267px 0 0 0;
}

.products-main-section .small-container {
    display: flex;
    flex-direction: column;
}

.products-main-section h1 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 75.811px;
    font-weight: 700;
    line-height: 92.023%;
}

.products-first-description-wrapper {
    max-width: 1073px;
    margin-left: 126px;
    margin-top: 71px;
}

.products-first-description-wrapper p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
}

.products-second-description-wrapper {
    max-width: 653px;
    align-self: flex-end;
    margin-top: 12px;
}

.products-second-description-wrapper p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 700;
    line-height: 147.523%;
}

.products-grid-section {
    padding: 134px 0 0 0;
}

.products-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 22px;
    row-gap: 22px;
}

.products-card {
    padding: 36px 34px 26px 34px;
}

.single-service-intro-section {
    padding: 186px 0 120px 0;
}

.single-service-title-wrapper {
    max-width: 545px;
}

.single-service-image-and-description {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
}

.single-service-image-and-description div:first-child {
    width: 40%;
}

.single-service-image-and-description div:first-child img {
    width: 100%;
    height: 100%;
}

.single-service-image-and-description div:last-child {
    width: 50%;
}

.single-service-image-and-description div:last-child p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
    position: relative;
}

.single-service-image-and-description div:last-child p::before{
    content: " ";
    position: absolute;
    height: 735px;
    width: 735px;
    top: 0px;
    right: -40%;
    background-image: url(assets/images/svg/grid-before.svg);
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .6;
    z-index: -3;
}

.single-service-description-section .container {
    display: flex;
    justify-content: space-between;
}

.single-service-description-section .container>div:first-child {
    width: 40%;
}

.single-service-description-section .container div:first-child p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 600;
    line-height: 130%;
}

.single-service-description-section .container>div:last-child {
    width: 50%;
}

.single-service-description-section .container div:last-child p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 18px !important;
    font-weight: 100;
    line-height: 147.523%;
}

.single-service-description-wrapper {
    max-width: 580px;
}

.single-service-values-section {
    padding: 141px 0 200px 0;
}

.single-service-values-flex {
    display: flex;
    justify-content: space-between;
    margin-top: 54px;
    column-gap: 30px;
}

.single-service-value-card {
    padding: 31px 74px;
    background-color: #141414;
    height: fit-content;
    width: 100%;
    z-index: 10;
    position: relative;
    transform: translateY(-20px);
}

@keyframes fromTop {
    from {
        transform: translateY(-20px);
    }
    to {
        transform: translateY(0);

    }
}

.single-service-value-card h2 {
    color: #F4F4F4;
    text-align: center;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
}

.single-service-value-card:nth-of-type(2) {
    margin-top: 53px;
}

.single-service-value-card:nth-of-type(3) {
    margin-top: 106px;
}

.single-service-value-card:nth-of-type(4) {
    margin-top: 159px;
}

.single-other-services-section .container {
    display: flex;
    justify-content: space-between;
}

.single-other-services-section {
    background: linear-gradient(to bottom, #f3f3f3 0%, #f3f3f3 65%, transparent 100%);
    padding: 77px 0 0 0;
    position: relative;
    z-index: 5;
}

.single-other-services-section .services-section-title p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 147.523%;
    position: relative;
    z-index: 3;
}

.single-other-services-section .services-section-grid-list::before {
    display: none;
}

.single-other-services-section .services-section-title p.scale::before{
    scale: 1;
}

.single-other-services-section .services-section-title p::before {
    content: " ";
    position: absolute;
    height: 735px;
    width: 735px;
    top: -277px;
    left: 50%;
    transform: translate(-50%);
    background-image: url(assets/images/svg/grid-before.svg);
    background-repeat: no-repeat;
    background-size: cover;
    scale: .7;
    transition: all 1s;
    transform-origin: left;
    z-index: -3;
}

.info-pages-section {
    padding: 186px 0 50px 0;
    background-color: #F3F3F3;
}

.info-pages-content {
    margin-top: 40px;
    max-width: 570px;
}

.info-pages-content h2 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 41px;
    font-weight: 100;
    line-height: 120%;
    margin-bottom: 20px;
}

.info-pages-content h2:not(:first-child) {
    margin-top: 40px;
}

.info-pages-content h3 {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 147.523%;
    margin-top: 40px;
    margin-bottom: 20px;
}

.info-pages-content h4 {
    color: #C8C8C8;
    font-family: 'Archivo', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 147.523%;
    margin-top: 20px;
    margin-left: 54px;
}

.info-pages-content p {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
}

.info-pages-content p:not(:last-child) {
    margin-bottom: 20px;
}

.info-pages-content p strong {
    font-weight: 600;
}

.info-pages-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    color: #7B7B7B;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 300;
    line-height: 179.7%;
    margin-top: 20px;
    overflow-x: scroll;
    display: block;
}

.info-pages-content table,
td,
th {
    border: 1px solid black;
}

td {
    padding: 10px;
}

.info-pages-content ul {
    margin-left: 54px;
    margin-top: 10px;
    list-style: unset;
}

.info-pages-content hr{
    margin: 30px 0;
}

.info-pages-content ul li {
    color: #141414;
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 147.523%;
}

.info-pages-content ul li strong{
    font-weight: 600;
}

@media screen and (max-width: 1900px) {

    /* Header / Footer */
    header .header-container,
    footer .footer-container {
        padding-right: 125px;
    }

    .big-mail {
        font-size: 58px;
    }
}

@media screen and (max-width: 1725px) {

    .frontpage-intro-section h1,
    .presentation-intro-section h1,
    h1 {
        font-size: 70px;
    }

    /* Footer */
    header .header-container,
    footer .footer-container {
        padding-left: 60px;
    }

    .big-mail {
        font-size: 45px;
    }

    .footer-main-flex {
        column-gap: 50px;
    }

    /* Contactos */
    .contacts-main-section-text h1 {
        font-size: 60px;
    }

    .contacts-main-section-form form {
        padding: 120px 65px;
    }

    /* Geral */
    .container {
        padding-right: 125px;
    }

    .info-pages-content h2 {
        font-size: 38px;
    }

    /* Apresentação / Serviço */
    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .services-section-grid-list a,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .presentation-brikz-section-text h2,
    .team-presentation-section-text-first-text {
        font-size: 36px;
    }

    .presentation-brikz-section-image {
        width: 45%;
    }

    /* Portfólio */
    .portfolio-grid::before {
        font-size: 385px;
    }

    /* Serviço */
    .single-service-values-flex {
        column-gap: 20px;
    }

    .single-service-value-card {
        width: 100%;
        padding: 30px;
    }

    .single-other-services-section .services-section-title p::before {
        height: 600px;
        width: 600px;
        top: -240px;
    }

    /* Frontpage */
    .frontpage-values-section-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .frontpage-portfolio-section .container::before {
        font-size: 320px;
        left: -70px;
    }
}

@media screen and (max-width: 1600px) {

    /* Geral */
    .container {
        padding-left: 60px;
    }

    /* Apresentação */
    .presentation-brikz-section-image img {
        width: 100%;
    }

    /* Portfólio */
    .portfolio-grid::before {
        font-size: 340px;
        left: 0;
    }

    .portfolio-grid a img {
        height: 540px;
    }

    /* Serviço */
    .frontpage-presentation-section h2,
    .services-section-grid-list a,
    .single-service-value-card h2 {
        font-size: 34px;
    }

    /* Frontpage */
    .frontpage-services-section {
        padding: 100px 0 200px 0;
    }

    .frontpage-values-section-text {
        margin-top: -100px;
    }

    .portfolio-card img {
        height: 540px;
    }

    .frontpage-portfolio-section {
        padding: 150px 0;
    }

}

@media screen and (max-width: 1520px) {

    .presentation-intro-section h1,
    h1 {
        font-size: 65px;
    }

    /* Footer */
    .footer-main-flex {
        width: 100%;
        row-gap: 20px;
    }

    .nav-footer {
        background: linear-gradient(to right, #141414 80%, transparent 80%);
    }

    footer::before {
        top: -170px;
    }

    /* Single */
    .single-post-title-wrapper h1 {
        font-size: 50px;
    }

    /* Apresentação */
    .presentation-brikz-section-text {
        padding-right: 125px;
    }

    /* Portfólio */
    .portfolio-grid::before {
        font-size: 250px;
        top: -280px;
    }

    /* Serviço */
    .services-section-grid-list a {
        font-size: 32px;
    }

    /* Frontpage */
    .frontpage-portfolio-section .container::before {
        font-size: 250px;
        left: -60px;
        top: -140px;
    }
}

@media screen and (max-width: 1440px) {

    .frontpage-intro-section h1,
    .presentation-intro-section h1,
    h1 {
        font-size: 60px;
    }

    /* Contactos */
    .contacts-main-section-text h1 {
        font-size: 45px;
    }

    .contacts-main-section-form form {
        padding: 65px;
    }

    .contacts-main-section-form input,
    .contacts-main-section-form textarea,
    .contacts-main-section-form input::placeholder,
    .contacts-main-section-form textarea::placeholder {
        font-size: 16px;
    }

    /* Geral */
    .info-pages-content h2 {
        font-size: 36px;
    }

    /* Single */
    .single-post-title-wrapper h1 {
        font-size: 45px;
    }

    /* Apresentação / Serviço */
    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .presentation-brikz-section-text h2,
    .team-presentation-section-text-first-text {
        font-size: 33px;
    }

    /* Serviço */
    .frontpage-presentation-section h2,
    .single-service-value-card h2 {
        font-size: 30px;
    }
    .services-section-title{
        margin-left: 0;
    }

    /* Frontpage */
    .portfolio-card img {
        height: 490px;
    }

    .slick-next, .slick-prev {
        height: 75px;
        width: 75px;
    }

    .slick-prev {
        right: 270px;
    }

}

@media screen and (max-width: 1376px) {

    .frontpage-intro-section h1,
    .presentation-intro-section h1,
    h1 {
        font-size: 50px;
    }

    /* Header */
    .menu-top {
        gap: 45px;
    }

    .header-translation-black-bar {
        padding: 25px 5% 25px 0;
        top: -32px;
    }

    header .header-container {
        padding-right: 90px;
    }

    /* Slick */
    .slick-next,
    .slick-prev {
        width: 56px;
        height: 56px;
        bottom: 50px;
    }

    .slick-prev {
        right: 250px;
    }

    /* Contactos */
    .contacts-main-section-form form {
        padding: 40px;
    }
    .contacts-main-section-form input[type=submit] {
        padding: 6px 17px;
    }

    .contacts-main-section-form textarea {
        height: 200px;
    }

    /* Apresentação / Serviço */
    .presentation-brikz-section-text p,
    .team-presentation-section-text div p,
    .presentation-intro-section p {
        font-size: 16px;
    }

    .team-presentation-section-images img:first-child {
        width: 100%;
    }

    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .presentation-brikz-section-text h2,
    .team-presentation-section-text-first-text {
        font-size: 32px;
    }

    .services-section-grid-list a {
        font-size: 28px;
    }

    /* Serviço */
    .services-section-grid-list a::after {
        width: 65px;
        height: 40px;
    }

    .single-other-services-section .services-section-title p::before {
        height: 485px;
        width: 485px;
        top: -185px;
    }

    /* Frontpage */
    .frontpage-values-section-image::after {
        bottom: 0;
        background-size: contain;
        width: 240px;
        height: 345px;
    }

    .frontpage-values-section {
        padding-bottom: 0;
    }
}

@media screen and (max-width: 1280px) {

    .presentation-intro-section h1,
    h1 {
        font-size: 45px;
    }

    /* Contactos */
    .contacts-main-section-text h1 {
        font-size: 40px;
    }

    .contacts-main-section-form input,
    .contacts-main-section-form textarea,
    .contacts-main-section-form input::placeholder,
    .contacts-main-section-form textarea::placeholder {
        font-size: 14px;
    }

    /* Geral */
    .info-pages-content h2 {
        font-size: 32px;
    }

    /* Single */
    .single-post-title-wrapper h1 {
        font-size: 40px;
    }

    .single-post-project-flex {
        justify-content: flex-start;
        gap: 40px;
    }

    .single-post-project-images {
        width: 65%;
    }

    /* Apresentação / Serviço */
    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .presentation-brikz-section-text h2,
    .team-presentation-section-text-first-text {
        font-size: 30px;
    }

    /* Portfolio */
    .portfolio-grid a img {
        height: 430px;
    }

    .portfolio-grid {
        gap: 25px;
    }

    /* Serviço */
    .single-service-value-card h2 {
        font-size: 26px;
    }

    .single-service-values-section {
        padding: 100px 0 120px 0;
    }

    .services-section-grid-list a {
        font-size: 24px;
    }

    /* Frontpage */
    .frontpage-values-section-image::after {
        width: 195px;
        height: 280px;
    }

    .frontpage-portfolio-section .container::before {
        font-size: 180px;
        top: -120px;
    }
}

@media screen and (max-width: 1165px) {

    .presentation-intro-section h1,
    h1 {
        font-size: 40px;
    }

    /* Header */
    .menu-top {
        gap: 30px;
    }

    li:nth-child(1).current-menu-item~.menu-top-roll,
    .menu-top>li:nth-child(1):hover~.menu-top-roll {
        left: 10%;
    }

    li:nth-child(2).current-menu-parent~.menu-top-roll,
    li:nth-child(2).current-menu-item~.menu-top-roll,
    .menu-top>li:nth-child(2):hover~.menu-top-roll {
        left: 34%;
    }

    li:nth-child(4).current-menu-item~.menu-top-roll,
    .menu-top>li:nth-child(4):hover~.menu-top-roll {
        left: 68%;
    }

    li:nth-child(5).current-menu-item~.menu-top-roll,
    .menu-top>li:nth-child(5):hover~.menu-top-roll {
        left: 90%;
    }

    /* Footer */
    .footer-main-flex {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .footer-links {
        column-gap: 50px;
        row-gap: 15px;
        flex-wrap: wrap;
    }

    footer::before {
        top: 0;
    }

    /* Contactos */
    .contacts-main-section-text h1 {
        font-size: 36px;
    }

    /* Geral */
    .info-pages-content h2 {
        font-size: 28px;
    }

    /* Single */
    .single-post-title-wrapper h1 {
        font-size: 35px;
    }

    /* Apresentação / Serviço */
    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .presentation-brikz-section-text h2,
    .team-presentation-section-text-first-text {
        font-size: 26px;
    }

    .team-presentation-section-images {
        width: 50%;
    }

    /* Serviço */
    .services-section-grid-list a {
        font-size: 22px;
        padding: 16px 120px 16px 0;
    }

    .single-other-services-section .services-section-title p::before{
        display: none;
    }

    .services-section-grid-list a::after {
        width: 50px;
        height: 35px;
        top: 18px;
    }

    .single-other-services-section{
        background: #f3f3f3;
        padding: 40px 0;
    }

    /* Frontpage */
    .frontpage-values-section-text {
        margin-top: -35px;
    }

    .portfolio-card img {
        height: 375px;
    }

    /* Porfólio */
    .portfolio-main-section{
        padding-bottom: 30px;
    }

}

@media screen and (max-width: 1080px) {

    .presentation-intro-section h1,
    h1 {
        font-size: 38px;
    }

    /* Contactos */
    .contacts-main-section {
        padding-right: 125px;
        padding-left: 60px;
    }

    /* Geral */
    .info-pages-content h2 {
        font-size: 26px;
    }

    .info-pages-content h4,
    .info-pages-content h3 {
        font-size: 22px;
    }

    /* Apresentação / Serviço */
    .presentation-intro-section {
        min-height: 70vh;
    }

    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .presentation-brikz-section-text h2,
    .team-presentation-section-text-first-text {
        font-size: 24px;
    }

    .presentation-brikz-section-image {
        width: 38%;
    }

    .presentation-brikz-section-text {
        width: 52%;
        padding: 50px 100px 50px 0;
    }

    /* Portfolio */
    .portfolio-grid::before {
        font-size: 180px;
    }

    .portfolio-grid a img {
        height: 360px;
    }

    /* Serviço */
    .single-service-value-card {
        padding: 25px;
    }

    .single-service-value-card h2 {
        font-size: 24px;
    }

    .single-service-values-section {
        padding: 75px 0;
    }

    .services-section-grid-list a {
        font-size: 20px;
    }

    .single-other-services-section .container {
        flex-direction: column;
    }

    .services-section-grid-list {
        column-gap: 40px;
    }

    /* Frontpage */
    .frontpage-values-section-image::after {
        width: 120px;
        height: 175px;
        bottom: 50px;
        left: -85px;
    }

    .frontpage-values-section-image {
        width: 45%;
    }

    .frontpage-values-section-text {
        margin-top: 0;
    }

    .frontpage-presentation-section h2 {
        font-size: 28px;
    }
}

@media screen and (max-width: 1000px) {

    /* Header */
    .menu-top-roll,
    .header-translation-black-bar {
        display: none;
    }

    header .header-container {
        padding-right: 60px;
    }

    .menu-top {
        background-color: #F2F2F2;
        position: absolute;
        flex-direction: column;
        justify-content: flex-start;
        height: fit-content;
        width: 50%;
        padding: 0 50px;
        padding-top: 130px;
        top: -50px;
        height: 100vh;
        right: -100vw;
        display: flex;
        overflow-y: auto;
        background-image: url(assets/images/svg/brinox_b.svg);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 40%;
        background-blend-mode: difference;
        transition: all .5s;
    }

    .menu-top.open {
        right: 0;
    }

    .menu-top > li > a,
    .menu-top .sub-menu {
        position: relative;
    }
    
    .menu-top > li.current-menu-ancestor > a,
    .menu-top > li.current-menu-item > a{
        font-weight: 800;
    }

    .menu-top .menu-item-has-children > a{
        padding: 0;
    }

    .menu-top .menu-item-has-children:hover .sub-menu {
        padding-top: 20px;
        text-align: left;
        left: 0;
        margin-top: -20px;
        margin-bottom: 25px;
    }

    .page-template-page-contactos .menu-top li a {
        filter: invert(0);
    }

    .page-template-page-contactos .menu-top .sub-menu li a{
        color: #909090;
    }
    .page-template-page-contactos .menu-top .sub-menu li a:hover{
        color: #fff;
    }

    .component>div::after{
        display: none;
    }

    .menu-language {
        display: flex;
        background-color: #000;
        padding: 20px 50px;
        margin: auto -50px 0 -50px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap;
    }

    .menu-language li a{
        color: #fff;
        font-size: 12px;
    }

    /* Icon 1 */
    #nav-icon1 {
        width: 40px;
        height: 30px;
        position: relative;
        transform: rotate(0deg);
        transition: .5s ease-in-out;
        cursor: pointer;
        display: block;
    }

    .page-template-page-contactos #nav-icon1 span{
        filter: invert(1);
    }

    .page-template-page-contactos #nav-icon1.open span{
        filter: invert(0);
    }

    #nav-icon1 span {
        display: block;
        position: absolute;
        height: 1px;
        width: 100%;
        background: #000;
        border-radius: 9px;
        opacity: 1;
        left: 0;
        transition: .25s ease-in-out;
    }

    #nav-icon1 span:nth-child(1) {
        top: 0px;
    }

    #nav-icon1 span:nth-child(2) {
        top: 12px;
    }

    #nav-icon1 span:nth-child(3) {
        top: 24px;
    }

    #nav-icon1.open span:nth-child(1) {
        top: 10px;
        transform: rotate(135deg);
    }

    #nav-icon1.open span:nth-child(2) {
        opacity: 0;
        left: -60px;
    }

    #nav-icon1.open span:nth-child(3) {
        top: 10px;
        transform: rotate(-135deg);
    }

    /* Frontpage */
    .frontpage-services-section .container {
        flex-direction: column;
        gap: 40px;
    }

    .frontpage-services-section {
        padding: 50px 0 85px 0;
    }

    .services-section-title p {
        max-width: 100%;
    }

    .frontpage-portfolio-section .container::before {
        font-size: 165px;
        left: -30px;
    }

    .services-section-grid-list::before{
        width: 580px;
        height: 580px;
        bottom: -55px;
    }

    /* Geral */
    .contacts-main-section,
    footer .footer-container,
    .container {
        padding-right: 60px;
    }

    /* Slick */
    .slick-next {
        right: 40px;
    }

    .slick-prev {
        right: 110px;
    }

    /* Footer */
    .nav-footer{
        background: #171717
    }
}

@media screen and (max-width: 900px) {

    .presentation-intro-section h1,
    h1 {
        font-size: 34px;
    }

    /* Header */
    .menu-language li a {
        font-size: 9px;
    }

    /* Footer */
    .nav-footer {
        background: #141414;
    }

    .footer-content-intro-span,
    .footer-socials-content a,
    .footer-black-a,
    .footer-contacts-content a,
    .footer-address-content p {
        font-size: 12px;
    }

    .footer-blisq {
        flex: 1 0 100%;
    }

    /* Contactos */
    .contacts-main-section-text h1 {
        font-size: 30px;
        margin-top: 30px;
    }

    .contacts-main-section-form input {
        padding-bottom: 10px;
    }

    .contacts-main-section-form form {
        padding: 30px;
    }

    /* Geral */
    header .header-container,
    footer .footer-container,
    .container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .info-pages-container {
        padding: 0 30px;
    }

    /* Single */
    .portfolio-grid {
        column-gap: 20px;
    }

    .single-post-title-wrapper h1 {
        font-size: 30px;
    }

    /* Apresentação */
    .presentation-intro-section {
        padding: 120px 0 100px 0;
    }

    .presentation-intro-section-description-wrapper {
        padding: 0 30px;
    }

    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-other-services-section .services-section-title p,
    .single-service-description-section .container div:first-child p,
    .single-service-image-and-description div:last-child p,
    .team-presentation-section-text-first-text {
        font-size: 22px;
    }

    /* Portfólio */
    .portfolio-categories-list {
        gap: 20px;
    }

    .portfolio-grid {
        grid-template-columns: 1fr 1fr;
    }

    .portfolio-grid a:nth-child(3n+3),
    .portfolio-grid a:nth-child(3n+2) {
        margin-top: 0;
    }

    .portfolio-main-section {
        margin-top: 120px;
    }

    .portfolio-grid::before {
        font-size: 150px;
        top: -116px;
    }

    .portfolio-main-section .pagination .nav-links {
        margin-top: 40px;
    }

    .portfolio-grid a img {
        height: 100%;
    }

    /* Serviço */
    .single-service-value-card h2 {
        font-size: 20px;
    }

    .single-service-values-flex {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .single-service-value-card:nth-of-type(4),
    .single-service-value-card:nth-of-type(2) {
        margin-top: 25px;
    }

    .single-service-value-card:nth-of-type(3) {
        margin-top: 0;
    }

    .services-section-title .black-span,
    .single-service-values-section .black-span {
        margin-left: 0;
    }

    .single-other-services-section .services-section-title p::before {
        height: 385px;
        width: 385px;
        top: -200px;
    }

    /* Frontpage */
    .frontpage-values-section-text .black-span {
        margin-left: 0;
    }

    .frontpage-values-section .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 40px;
    }

    .frontpage-values-section-image,
    .frontpage-values-section-text {
        width: 100%;
    }

    .frontpage-values-section {
        padding: 55px 0 40px 0;
    }

    .frontpage-values-section-image::after {
        width: 220px;
        height: 305px;
        bottom: -100px;
        left: 50%;
        transform: translateX(-50%);
    }

    .frontpage-values-section-text {
        margin-top: -10px;
    }

    .portfolio-card img {
        height: 295px;
    }

    .frontpage-portfolio-section {
        padding: 90px 0;
    }

    .frontpage-portfolio-section .container::before {
        font-size: 150px;
        left: -45px;
    }

    .frontpage-presentation-section h2 {
        font-size: 26px;
    }

    .frontpage-presentation-section-flex {
        flex-direction: column;
    }

    .frontpage-presentation-section-text p {
        max-width: 100%;
    }

    .frontpage-presentation-section {
        padding-top: 75px;
    }

    .frontpage-portfolio-section .container::before {
        left: 0;
    }

    /* Slick */
    .slick-next,
    .slick-prev {
        width: 55px;
        height: 55px;
        background-size: 10px 22px;
    }

    .slick-prev {
        right: 105px;
    }
}

@media screen and (max-width: 720px) {

    /* Footer */
    .footer-links{
        justify-content: space-between;
    }

    /* Header */
    .component {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Apresentação */
    .team-presentation-section .container {
        flex-direction: column;
    }

    .presentation-brikz-section {
        flex-direction: column-reverse;
    }

    .presentation-brikz-section-text,
    .presentation-brikz-section-image,
    .team-presentation-section-images,
    .team-presentation-section-text {
        width: 100%;
    }

    .presentation-brikz-section-image{
        display: flex;
        justify-content: center;
    }

    .presentation-brikz-section-text {
        padding: 45px 35px 0 35px;
    }

    .presentation-brikz-section-image img {
        height: 440px;
        object-fit: contain;
    }

    .presentation-brikz-text-wrapper {
        max-width: 100%;
    }

    /* Serviços */
    .services-section-grid-list a {
        font-size: 18px;
        padding: 16px 0;
    }

    .services-section-grid-list a::after {
        width: 35px;
    }

    /* Frontpage */
    .frontpage-values-section-image::after {
        width: 140px;
        height: 200px;
        bottom: -80px;
    }

    .frontpage-services-section {
        padding: 50px 0 40px 0;
    }

    .frontpage-portfolio-section .container {
        grid-template-columns: 1fr 1fr;
    }

    .portfolio-card:last-child {
        margin-top: -75px;
    }

    /* Contactos */
    .form-input label {
        font-size: 16px;
    }
}

@media screen and (max-width: 700px) {

    .presentation-intro-section h1,
    h1 {
        font-size: 30px;
    }

    .frontpage-intro-section h1 {
        font-size: 45px;
    }

    /* Footer */
    .big-mail {
        font-size: 40px;
    }

    .footer-main-flex {
        grid-template-columns: 1fr 1fr;
    }

    footer::before {
        display: none;
    }

    footer{
        background-color: #f3f3f3;
    }

    /* Contactos */
    .contacts-main-section .contacts-container {
        flex-direction: column;
        width: 100%;
        gap: 40px;
    }

    .contacts-main-section-text,
    .contacts-main-section-form {
        width: 100%;
    }

    /* Geral */
    .info-pages-content h2 {
        font-size: 22px;
    }

    .info-pages-content ul li,
    .info-pages-content p {
        font-size: 16px;
    }

    .info-pages-content h4,
    .info-pages-content h3 {
        font-size: 18px;
    }

    /* Single */
    .single-post-project-flex {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .single-post-project-images {
        width: 100%;
    }

    .single-post-title-wrapper h1 {
        font-size: 28px;
    }

    /* Apresentação */
    .team-presentation-section .container {
        padding-bottom: 50px;
    }

    /* Portfolio */
    .portfolio-grid::before {
        font-size: 110px;
        top: -90px;
    }

    .portfolio-categories-list {
        padding: 0 30px;
    }

    /* Serviço */
    .frontpage-presentation-section-text p,
    .frontpage-values-section-text p,
    .single-service-image-and-description div:last-child p {
        font-size: 20px;
    }

    .single-service-description-section .container div:first-child p{
        font-size: 18px;
    }

    .single-service-values-flex{
        margin-top: 30px;
    }

}

@media screen and (max-width: 600px) {

    /* Header */
    .menu-language li a{
        font-size: 9px;
    }

    /* Portfolio */
    .portfolio-grid::before {
        font-size: 80px;
        top: -70px;
    }

    /* Serviço */
    .single-service-description-section .container,
    .single-service-image-and-description {
        flex-direction: column;
        row-gap: 25px;
    }

    .single-service-description-section .container>div:last-child,
    .single-service-description-section .container>div:first-child,
    .single-service-image-and-description div:last-child,
    .single-service-image-and-description div:first-child {
        width: 100%;
    }

    .single-service-intro-section {
        padding: 155px 0 40px 0;
    }

    .single-service-value-card h2 {
        font-size: 18px;
    }

    .services-section-grid-list a::after {
        width: 35px;
        height: 30px;
        opacity: 1;
    }

    .services-section-grid-list a:hover span {
        left: 10px;
    }

    /* Frontpage */
    .frontpage-values-section-image::after {
        width: 105px;
        height: 150px;
    }

    .frontpage-portfolio-section .container::before {
        font-size: 100px;
        top: -85px;
    }

    .portfolio-card img {
        height: 270px;
    }

    .frontpage-intro-section h1 {
        font-size: 40px;
    }
}

@media screen and (max-width: 500px) {

    .presentation-intro-section h1,
    .single-post-title-wrapper h1,
    h1 {
        font-size: 28px;
    }

    .component {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Header */
    .menu-top {
        width: 70%;
    }

    .slick-next, .slick-prev {
        width: 40px;
        height: 40px;
    }

    .slick-prev {
        right: 90px;
    }

    /* Footer */
    .footer-main-flex {
        column-gap: 20px;
    }

    .footer-address{
        grid-column: span 2;
    }

    .presentation-intro-section-description-wrapper,
    .info-pages-container,
    footer .footer-container {
        padding: 0 30px;
    }

    /* Contactos */
    .contacts-main-section {
        padding: 130px 30px;
    }

    /* Geral */
    .container {
        padding-right: 30px;
    }

    .info-pages-content h2:not(:first-child) {
        margin-top: 15px;
    }

    .info-pages-content ul li,
    .info-pages-content p {
        font-size: 14px;
    }

    /* Single */
    .single-post-project-section {
        padding-top: 135px;
    }

    .related-projects-section .portfolio-grid a:nth-child(3n+2) {
        margin-top: 30px;
    }

    .portfolio-grid {
        display: flex;
        overflow-x: scroll;
    }

    /* width */
    .portfolio-grid::-webkit-scrollbar {
        height: 5px;
    }

    /* Track */
    .portfolio-grid::-webkit-scrollbar-track {
        box-shadow: inset 0 0 5px #CDCDCD; 
    }

    /* Handle */
    .portfolio-grid::-webkit-scrollbar-thumb {
        background: #848484; 
    }

    .single-post-project-flex{
        margin-top: 60px;
    }

    .related-projects-section .portfolio-grid{
        margin-top: 40px;
        padding-bottom: 25px;
    }

    .portfolio-grid a {
        flex: 1 0 55%;
    }

    .portfolio-grid a:hover span{
        background-color: #000;
        color: #fff;
    }

    .related-projects-section{
        margin-bottom: 30px;
    }

    /* Apresentação */
    .black-span,
    .presentation-intro-section h1 {
        margin-left: 0;
    }

    .presentation-brikz-section-text {
        padding: 45px 30px 0 30px;
    }

    .presentation-brikz-section-text p,
    .team-presentation-section-text div p,
    .presentation-intro-section p {
        font-size: 14px;
    }

    .presentation-brikz-section-image img {
        height: 100%;
        width: 65%;
    }

    /* Portfolio */
    .portfolio-main-section .portfolio-grid {
        display: grid;
        grid-template-columns: 1fr;
        overflow-x: unset;
        row-gap: 70px;
    }

    .portfolio-grid img {
        filter: grayscale(0);
    }

    .portfolio-grid a span{
        display: flex;
    }

    .portfolio-grid::before {
        font-size: 70px;
        top: -60px;
    }

    .portfolio-main-section {
        margin-top: 75px;
    }

    /* Serviço */
    .single-service-value-card h2 {
        font-size: 16px;
    }

    .single-service-value-card:nth-of-type(4),
    .single-service-value-card:nth-of-type(2) {
        margin-top: 20px;
    }

    .single-service-value-card {
        padding: 20px 15px;
    }

    .single-other-services-section .services-section-title p::before {
        height: 300px;
        width: 300px;
    }

    .single-service-image-and-description{
        margin-top: 40px;
    }

    /* Frontpage */
    .frontpage-portfolio-section .container {
        grid-template-columns: 1fr;
    }

    .portfolio-card img {
        height: 330px;
    }

    .portfolio-card:last-child,
    .portfolio-card:nth-of-type(2) {
        margin-top: 0;
    }

    .frontpage-intro-section h1 {
        font-size: 36px;
        margin-top: 0;
    }

    @keyframes portfolioCard {
        from{
            margin-top: 0;
        }
        to{
            margin-top: 0;
        }
    }
}

@media screen and (max-width: 430px) {

    /* Header */
    .menu-top {
        width: 100%;
    }

    #nav-icon1 {
        width: 30px;
        height: 24px;
    }

    #nav-icon1 span:nth-child(2) {
        top: 10px;
    }

    #nav-icon1 span:nth-child(3) {
        top: 20px;
    }

    .menu-top{
        padding: 130px 35px 0 35px;
    }

    .menu-language {
        padding: 20px 35px;
        margin: auto -35px 0 -35px;
    }

    /* Footer */
    .big-mail {
        font-size: 35px;
    }

    footer {
        padding-top: 40px;
    }

    /* Porfólio */
    .portfolio-categories-list {
        column-gap: 20px;
        row-gap: 10px;
    }
    .portfolio-categories-section {
        margin-top: 150px;
    }

    /* Contactos */
    .contacts-main-section {
        min-height: 100vh;
    }
    .form-input label {
        font-size: 13px;
    }

    /* Geral */
    .info-pages-section {
        padding: 110px 0 30px 0;
    }

    .info-pages-content h4,
    .info-pages-content h3 {
        font-size: 16px;
    }

    .info-pages-content h2 {
        margin-bottom: 10px;
    }

    /* Serviços */
    .single-service-values-section {
        padding: 50px 0 30px 0;
    }

    .services-section-grid-list {
        grid-template-columns: 1fr;
    }

    .single-service-description-section .container div:last-child p {
        font-size: 16px !important;
    }

    /* Frontpage */
    .frontpage-intro-section {
        min-height: 80vh;
    }

    .frontpage-portfolio-section .container::before {
        font-size: 75px;
    }

    .frontpage-portfolio-section .container {
        margin-top: 95px;
    }

    .frontpage-portfolio-section .container::before {
        top: -65px;
    }

    .frontpage-portfolio-section{
        padding-bottom: 50px;
    }

    /* Contactos */
    .contacts-main-section-form form {
        padding: 15px 30px 25px 30px;
    }

    /* Slick */
    .frontpage-intro-section-slick .slick-track {
        height: 80vh;
    }
}