@media (max-width: 1400px) {
    :root {
        --max-body-width: unset;
        --outer-side-padding: 5vw;
    }

    .main-wrapper {
        padding-left: var(--outer-side-padding);
        padding-right: var(--outer-side-padding);
    }

    .full_bg:before {
        left: calc(var(--outer-side-padding) * -1);
    }

    .prod_title_transition {
        margin-top: 18.8rem !important;
    }


    /* ===== Navbar =================== */
    nav.navbar .custom-logo-link {
        width: calc(230px + 126px + var(--outer-side-padding) + 30px);
    }

    nav.navbar .custom-logo-link img {
        margin-left: var(--outer-side-padding);
    }


    /* ===== Menu =================== */
    .menu-toggle {
        margin-right: var(--outer-side-padding);
    }


    /* ===== Footer =================== */
    footer .footer-cols {
        max-width: unset;
        padding: 0 var(--outer-side-padding);
    } 

    a.design {
        right: var(--outer-side-padding);
    }


    /* ===== Products =================== */
    .lamp_nav li a {
        padding: 1.5rem 14%;
    }

    .lamp_nav li a img {
        width: 50px;
    }


    /* ===== Single product =================== */
    .return-bttn {
        right: 0;
    }

    .single-product-header {
        height: 34rem;
    }

    .single-product-header figure {
        width: 380px;
    }

    .single-product-header .content_wrapper .parent-type {
        font-size: 2.3rem;
    }

    .single-product-header .content_wrapper h1, .prod_title_transition {
        font-size: 6rem;
        line-height: 4.5rem;
    }

    .single-product-header .content_wrapper .content_container {
        font-size: 1.7rem;
        line-height: 2rem;
        max-width: 30rem;
    }


    /* ===== Catalogs =================== */
    .post-type-archive-catalogs header h1 {
        margin-left: 13%;
    }

    .post-type-archive-catalogs header .top_lamp {
        width: 130px;
        margin-left: 101px;
    }

    .post-type-archive-catalogs .content_wrapper {
        margin-left: calc(230px + 126px + 30px);
    }
}


@media (max-width: 1340px) {
    /* ===== Homepage =================== */
    #home_slider figure .text_wrapper {
        top: 19%;
    }

    #home_slider h2 {
        font-family: var(--montserrat-medium);
        font-size: 5rem;
        letter-spacing: 0.3rem;
    }

    #home_slider .content_container {
        font-size: 1rem;
    }

    #home_slider .text_slider {
        padding-left: 9%;
    }

    #home_slider .text_slider .nav_bttns button {
        width: 57px;
    }


    /* ===== About us =================== */
    /* introduction */
    .page-template-page-about .introduction .img_wrapper {
        margin-right: -80px;
    }

    .page-template-page-about .introduction .content_wrapper {
        margin-left: auto;
    }
}


@media (max-width: 1200px) {
    /* ===== Navbar =================== */
    nav.navbar .custom-logo-link {
        width: calc(220px + var(--outer-side-padding) * 3);
        padding: 0.4rem var(--outer-side-padding);    
    }

    nav.navbar .custom-logo-link img {
        width: 80%;
        margin: 0 auto;
    }


    /* ===== Menu =================== */
    .menu .menu-page-list li a {
        font-size: 2.75rem;
    }

    
    /* ===== Footer =================== */
    footer .slogan {
        max-width: 29rem;
        font-size: 3.2rem;
        line-height: 3.7rem;
    }

    #footer-col-1 .contact_info:before {
        width: 11rem;
    }

    
    /* ===== Homepage =================== */
    .prod_cards {
        padding: 0;
    }

    .prod_cards .card_title {
        font-size: 1.4rem;
        line-height: 1.4rem;
    }


    /* ===== About us =================== */
    /* Our story */
    #design .content_wrapper:before {
        width: 230px;
        height: 350px;
        right: -14px;
    }

    #design .content_wrapper .content_container {
        margin-right: auto;
    }


    /* ===== Custom options =================== */
    .page-template-page-options .title_bg_wrapper h1 {
        font-size: 9vw;
        letter-spacing: 0.17vw;
    }
    
    #finishes.uneven_container .content_wrapper .control_wrapper {
        padding-right: 5%;
    }

    
    /* ===== Products =================== */
    .lamp_nav li a {
        padding: 1.2rem 13%;
    }

    .lamp_nav li a img {
        width: 40px;
    }

    .lamp_nav li a .two_line_label {
        line-height: 1.3rem;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content {
        padding: 7% 0 7% 9.5%;
    }


    /* ===== Catalogs =================== */
    .post-type-archive-catalogs header h1 {
        margin-left: 10.5%;
    }
    
    .post-type-archive-catalogs .content_wrapper {
        margin-left: calc(220px + var(--outer-side-padding) * 2);
    }
}


@media (max-width: 1140px) {
    .title_bg_wrapper img {
        height: 52.8vw;
    }
    
    .title_bg_wrapper h1, .post-type-archive-catalogs header h1 {
        font-size: 6.5rem;
        letter-spacing: 0.2rem;
    }

    /* ===== About us =================== */
    /* introduction */
    .page-template-page-about .title_bg_wrapper h1 {
        left: 30%;
    }
    
    .page-template-page-about .introduction .img_wrapper {
        width: 40%;
        margin-top: -33.5vw;
        margin-left: -5%;
        margin-right: -5%;
    }

    .page-template-page-about .introduction .content_wrapper {
        margin-left: 0;
    }

    /* Our story */
    #story {
        padding: 10rem 0 0 0;
    }

    .text_slider_container .content_container figure {
        width: 30%;
        margin-top: 0;
    }


    /* ===== Products =================== */
    .product_arch_header .title_wrapper {
        padding-top: 8rem;
    }

    .product_arch_header .slogan_container {
        font-size: 1.75rem;
        line-height: 2rem;
        max-width: 25rem;
        margin: 1.2rem auto 0 auto;
    }
    
    .product_arch_header .lamp_wrapper #lamp-left img {
        width: 40%;
        margin-top: -35%;
        margin-left: 0;
        margin-right: auto;
    }

    .product_arch_header .lamp_wrapper #lamp-right img {
        width: 47%;
        margin-top: 16.5%;
        margin-left: auto;
        margin-right: 0;
    }

    .products_container {
        grid-template-columns: repeat(2, 1fr);
    }

    .products_container .product_wrapper {
        height: 100%;
    }

    .products_container .product_wrapper:nth-of-type(3) {
        grid-column-start: 1;
        grid-column-end: 3;
        grid-row-start: 2;
        grid-row-end: 3;
    }

    .products_container .product_wrapper:nth-of-type(4) {
        grid-row-start: 4;
        grid-row-end: 5;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content img, .products_container .product_wrapper:nth-of-type(4) .prod_content img {
        width: 290px;
        height: auto;
        margin-top: -7%;
        margin-bottom: 0;
        object-position: center;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content, .products_container .product_wrapper:nth-of-type(4) .prod_content {
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        padding: 7% 0 7% 7%;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content .description, .products_container .product_wrapper:nth-of-type(4) .prod_content .description {
        max-width: 21rem;
    }

    .products_container .product_wrapper:nth-of-type(3) h3, .products_container .product_wrapper:nth-of-type(4) h3 {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }

    .products_container .product_wrapper:nth-of-type(4) .prod_content .description {
        text-align: left;
    }

    .products_container .product_wrapper:nth-of-type(5), .products_container .product_wrapper:nth-of-type(6) {
        grid-row-start: 3;
        grid-row-end: 4;
    }


    /* ===== Single product =================== */
    .single-product-header {
        height: 32rem;
    }

    .single-product-header figure {
        width: 34%;
        margin-left: -3%;
    }


    /* ===== Catalogs =================== */
    .post-type-archive-catalogs header .top_lamp {
        margin-top: -40px;
    }
    

    /* ===== Template - text page =================== */
    .page-template-page-text-page .main-wrapper {
        max-width: unset;
        padding: 7rem var(--outer-side-padding);
    }
}


@media (max-width: 992px) {
    :root {
        font-size: 14.5px;
    }

    h1, .regular-h1 {
        font-size: 6rem;
        line-height: 4rem;
    }

    .prod_title_transition {
        margin-top: 18.55rem !important;
    }

    .two_line_label, .button, input[type="submit"] {
        font-size: 1.4rem;
    }

    .nav_bttns button {
        width: 55px;
    }

    .lds-ring {
        width: 40px;
        height: 40px;
        top: -70px;
        left: calc(50% - 20px);
    }

    .lds-ring div {
        width: 37px;
        height: 37px;
        border-width: 4px;
        margin: 0;
    }


    /* ===== Navbar =================== */
    nav.navbar .custom-logo-link {
        padding: 0 var(--outer-side-padding);
    }

    nav.navbar .custom-logo-link img {
        margin-left: 0;
    }


    /* ===== Menu =================== */
    .menu-toggle {
        width: 50px;
        height: 50px;
    }

    .menu-toggle span {
        min-width: 50px;
    }

    .menu .menu-page-list li a {
        font-size: 2.5rem;
        letter-spacing: 3px;
    }


    /* ===== Footer =================== */
    footer {
        padding: 6rem 0 5rem 0;
    }

    footer .slogan {
        margin-left: 0;
        margin-bottom: 1rem;
    }

    footer .footer-cols .cols-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    #footer-col-1 .contact_info:before {
        width: 7.3rem;
    }

    #footer-col-2 {
        max-width: 22rem;
        margin-top: 3rem;
    }
    

    /* ===== Homepage =================== */
    /* Slider */
    #home_slider .text_slider {
        top: 16%;
        padding-left: 8%;
    }

    #home_slider .text_slider .nav_bttns button {
        width: 50px;
    }
    
    #home_slider .text_slider .nav_bttns button#prev {
        margin-right: 13px;
    }

    /* Cards */
    .prod_cards {
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 5rem;
        padding: 0;
    }

    .prod_cards .card {
        margin-bottom: 6rem;
    }
    
    .prod_cards .card_title {
        font-size: 1.5rem;
    }
    
    .prod_cards .card:nth-of-type(2n) .card_title {
        border-right: none !important;
    }

    .prod_cards .card:nth-of-type(1) {
        padding-left: 0;
    }

    .prod_cards .card:nth-of-type(2n) {
        padding-right: 0;
    }

    .prod_cards .card:nth-of-type(2n) .img_wrapper {
        margin-right: 0;
    }

    .prod_cards .card:not(:nth-of-type(2n)) .img_wrapper {
        margin-left: 0;
    }


    /* ===== About us =================== */
    /* introduction */
    .page-template-page-about .title_bg_wrapper img {
        width: 48vw;
        height: 60vw;
        margin-top: -2vw;
    }

    .page-template-page-about .introduction .content_wrapper {
        width: 69%;
    }

    .title_bg_wrapper h1, .post-type-archive-catalogs header h1 {
        font-size: 10.25vw;
        letter-spacing: 0.2vw;
    }

    /* Our story */
    #story h2 {
        margin-left: 14.3%;
    }

    #story h2 span {
        line-height: 3.5rem;
    }
    
    #story .title_container {
        margin-bottom: 3rem;
    }
    
    #story .title_container .current_index {
        font-size: 13rem; 
        line-height: 7.3rem;
    }

    .text_slider_container .content_container figure {
        margin-right: 4.3rem;
    }
    
    #story_slider {
        max-width: calc(100% - 30% - 4.3rem);
    }

    #story_slider .nav_bttns button#prev {
        margin-right: 10px;
    }

    /* Design & Collection */
    #design .content_wrapper:before {
        width: 20vw;
        height: 25vw;
        top: -18vw;
    }


    /* ===== Custom options =================== */
    .page-template-page-options .title_bg_wrapper img {
        height: 62vw;
    }

    .page-template-page-options .title_bg_wrapper h1 {
        margin: 9vw 0 0 10%;
    }

    .page-template-page-options .title_bg_wrapper h1 .line-2 {
        margin-left: -3vw;
    }

    .page-template-page-options header .content_wrapper {
        margin-top: 3rem;
    }

    .uneven_container > .img_wrapper {
        margin-bottom: 0;
        padding: 0 15px;
    }

    .uneven_container .content_wrapper {
        margin-top: 0;
    }

    .uneven_container .control_wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .custom_solutions {
        max-width: 23rem;
        margin-bottom: 2rem;
        margin-left: -8px;
    }


    /* Finishes */
    #finishes.uneven_container .content_wrapper, #metal.uneven_container .content_wrapper {
        margin-left: 0;
        padding: 0;
    }

    #finishes.uneven_container .content_wrapper .control_wrapper, #metal.uneven_container .content_wrapper .control_wrapper {
        width: calc(100% + var(--outer-side-padding) * 2);
        min-height: unset;
        margin: 0;
        padding: calc(4rem + 25vw) calc(var(--outer-side-padding) + 15px) 6rem;
        margin-top: -25vw;
        margin-left: calc(var(--outer-side-padding) * -1);
    }

    #finishes .load_more_solutions, #metal .load_more_solutions {
        width: 100%;
        writing-mode: unset;
        transform: rotate(0deg);
        rotate: 0deg;
        position: relative;
        margin: 9px 8px 0 8px;
        left: 0;
        order: 2;
    }
    
    .custom_solutions.left_slider {
        --arrow-width: 60px;
        max-width: calc(500px + var(--arrow-width) - var(--right-mg));
        margin-bottom: 4rem;
        margin-left: 0;
    }

    /* Fabric */
    #fabric.centered_container {
        padding: 5rem 0 !important;
    }

    /* Metal */
    #metal.uneven_container .custom_solutions {
        justify-content: center;
    }


    /* ===== Products =================== */
    /* header */
    .product_arch_header .lamp_wrapper #lamp-left img {
        width: 29%;
        margin-top: -28%;
    }

    .product_arch_header .lamp_wrapper #lamp-right img {
        margin-top: 22.5%;
        margin-right: -7%;
    }

    .product_arch_header .title_wrapper {
        padding-top: 13vw;
    }

    .product_arch_header .slogan_container {
        margin-top: 1.5vw
    }


    /* navigation */
    .lamp_nav {
        flex-wrap: wrap;
    }

    .lamp_nav li {
        width: 50%;
        flex: unset;
        flex-shrink: 0;
        border: none !important;
    }

    .lamp_nav li:nth-of-type(1), .lamp_nav li:nth-of-type(2) {
        border-bottom: var(--border) !important;
    }

    .lamp_nav li:nth-of-type(2n) {
        border-left: var(--border) !important;
    }

    .lamp_nav li a {
        width: 100%;
        padding: 1.5rem 9%;
    }

    .lamp_nav li a img {
        width: 55px;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content h3, .products_container .product_wrapper:nth-of-type(4) .prod_content h3 {
        font-size: 2rem;
    }


    /* ===== Single product =================== */
    /* header */
    .single-product-header {
        height: unset;
    }

    .single-product-header figure {
        order: 1;
        width: 80%;
        max-width: 250px;
        margin: 1rem auto 3rem auto;
    }

    .single-product-header .content_wrapper {
        order: 0;
        top: 0;
        margin-top: 6rem;
        position: relative;
    }

    /* Information */
    .prod_tech_info {
        margin-top: 3rem;
    }

    .prod_tech_info:before {
        min-height: 50.5rem;
    }

    .prod_tech_info.longer:before {
        min-height: 52.5rem;
    }

    .prod_tech_info .tech-info-title {
        order: 1;
    }

    .environment_img {
        order: 2;
        width: 80%;
        margin-bottom: 4rem;
    }

    .technical_sketch {
        order: 3;
        width: 50%;
        max-width: 200px;
        margin: 0;
    }

    .technical_info {
        order: 4;
        width: calc(80% - 200px);
        align-self: flex-start;
    }

    .prod_tech_info .technical_info .content_container {
        margin: 0.9rem auto 0 3rem;
    }

    /* View more products */
    .view_more_prods h2 {
        font-size: 2.5rem;
        line-height: 2rem;
    }

    .view_more_prods .product_wrapper {
        height: 55vw;
    }


    /* ===== Catalogs =================== */
    .post-type-archive-catalogs header .top_lamp {
        width: 14%;
        margin-top: -4%;
        margin-left: 6.7%;
    }

    .post-type-archive-catalogs header h1 {
        margin-left: 9%;
    }

    .post-type-archive-catalogs .content_wrapper {
        margin-left: 30%;
    }


    /* ===== Contactos =================== */
    .contact_container {
        padding-top: 0;
    }
    
    .contact_container:before {
        width: 100vw;
        top: 60vw;
        left: calc(var(--outer-side-padding) * -1 + 15px);
    }
    
    .contact_container figure {
        margin-left: auto;
    }

    .contact_container .content_wrapper {
        padding: 3.2rem 4%;
    }

    .form-field input, .form-field textarea, .wpcf7-not-valid-tip {
        padding-left: 0;
    }

    .wpcf7-not-valid-tip {
        margin-top: 5px;
    }

    .form-field label {
        left: 0;
    }

    [data-name="privacy_policy_acceptance"] {
        padding-left: 0;
    }

    [data-name="privacy_policy_acceptance"] .wpcf7-list-item label .wpcf7-list-item-label:before {
        top: 2px;
    }
}


@media (max-width: 720px) {
    :root {
        font-size: 13px;
        --mg-bttm-reg: 9rem !important;
    }

    h1, .regular-h1 {
        font-size: 5.5rem;
        line-height: 3.7rem;
        letter-spacing: 1px;
    }

    h2 {
        font-size: 2.5rem;
    }

    .two_line_label, .button, input[type="submit"] {
        font-size: 1.3rem;
    }

    .prod_title_transition {
        margin-top: 16.8rem !important;
    }

    .custo-chamada {
        font-size: 10.5px !important;
        letter-spacing: 0.1px;
    }


    /* ===== Navbar =================== */
    nav.navbar .custom-logo-link {
        width: calc(100% - var(--outer-side-padding) * 2 - 50px);
        padding: 0 var(--outer-side-padding);
    }

    nav.navbar .custom-logo-link img {
        width: 150px;
        height: 80px;
        margin-right: auto;
    }


    /* ===== Menu =================== */
    .menu-toggle span {
        border-top-width: 5px;
    }

    .menu .menu-page-list li a {
        font-size: 2.2rem;
        letter-spacing: 2px;
    }

    .menu .menu-page-list li:after {
        width: calc(100% + 5rem);
        height: 2px;
        top: calc(50% - 1px);
        left: -2.5rem;
    }


    /* ===== Footer =================== */
    footer .slogan {
        max-width: 26rem;
        font-size: 2.9rem;
        line-height: 3rem;
        margin-bottom: 1.5rem;
    }

    #footer-col-1 .contact_info:before {
        width: 3rem;
        margin-right: 10px;
    }

    #footer-col-2 {
        max-width: 21rem;
    }
    
    a.design {
        font-size: 11px;
        margin-left: 0;
        position: relative;
        top: unset;
        right: 0;
        bottom: 0;
    }

    a.design:after {
        width: 40px;
        height: 5.5px;
        margin-left: 12px;
        display: none;
    }


    /* ===== Homepage =================== */
    #home_slider h2 {
        font-size: 4rem;
        letter-spacing: 0.1rem;
        margin-left: -0.2rem;
    }

    #home_slider .text_slider {
        padding-top: 2.5rem;
        padding-bottom: var(--outer-side-padding);
        padding-left: var(--outer-side-padding);
        background-color: var(--light-grey);
        position: static;
        pointer-events: all;
    }

    #home_slider .nav_bttns {
        margin-top: 1.25rem;
    }

    #home_slider .text_slider .nav_bttns button {
        width: 47px;
    }

    #home_slider .text_slider .nav_bttns button#prev {
        margin-right: 11px;
    }


    /* ===== About us =================== */
    /* introduction */
    .page-template-page-about .title_bg_wrapper img {
        width: 60vw;
        height: 76vw;
        margin: -3vw auto 0 35%;
    }

    .page-template-page-about .title_bg_wrapper h1 {
        font-size: 14vw;
        left: 23%;
        bottom: 29%;
    }

    .page-template-page-about .introduction {
        margin-top: 1rem;
        margin-bottom: 8rem;
        margin-left: 0;
        margin-right: 0;
    }

    .page-template-page-about .introduction .img_wrapper {
        display: none;
        /* - versao 2
        width: 39%;
        margin-left: -10%;
        margin-right: -10%;
        margin-top: -28.5vw;
        */
    }

    .page-template-page-about .introduction .content_wrapper {
        width: 100%;
        /* - versao 2
        width: 77%;
        margin-left: auto;
        */
    }

    .page-template-page-about .introduction .content_wrapper h3 {
        font-size: 3rem;
        line-height: 3.2rem;
        letter-spacing: 0.5px;
        margin-bottom: 1.2rem;
        /* versao 2 */
        font-size: 2.4rem;
        line-height: 2.7rem;
        max-width: 23rem;
        margin-bottom: 1rem;
    }

    /* Our story */
    #story {
        padding: 9rem 0 0 0;
    }
    
    #story:before {
        min-height: unset;
    }

    #story h2 {
        margin-left: 0;
    }

    #story h2 span {
        line-height: 3.2rem;
    }

    #story .title_container {
        margin-bottom: 2.6rem;
    }

    #story .title_container .current_index {
        font-size: 11rem;
        line-height: 7.3rem;
    }

    .text_slider_container .content_container figure {
        width: 20%;
        margin: 0 5% -5% 1%;
    }

    .text_slider_container .content_container figure img {
        height: 100%;
        object-fit: contain;
        object-position: bottom;
    }

    #story_slider {
        max-width: 70%;
    }

    #story_slider .slide_indexes {
        margin-right: 25px;
    }

    #story_slider .navigation {
        width: 100%;
        max-width: unset;
        margin: 1rem 0 3rem auto;
        justify-content: flex-end;
    }

    /* Design & Collection */
    #design {
        padding-top: 2rem;
        margin-bottom: 0;
    }

    #design .content_wrapper {
        margin-top: 18vw;
    }

    #design .content_wrapper:before {
        width: 170px;
        height: 220px;
        top: unset;
        bottom: calc(100% - 30vw);
        right: -23px;
    }

    #design .content_wrapper:after {
        width: 100vw;
        height: calc(100% - 45vw);
        max-width: calc(35rem + var(--outer-side-padding) * 2);
        top: 22vw;
        left: unset;
        right: calc(var(--outer-side-padding) * -1);
    }

    #design .content_wrapper .img_wrapper.left_img {
        width: 60%;
        max-width: unset;
        margin-top: -20vw;
        flex: unset;
    }

    #design .content_wrapper .img_wrapper.left_img img {
        transform: unset !important;
    }

    #design .content_wrapper .content_container {
        width: 100%;
        max-width: 35rem;
        margin-left: auto;
        margin-right: 0px;
        flex: unset;
    }

    #design .content_wrapper .content_container .content_img {
        margin-left: auto;
        max-width: unset;
    }


    /* ===== Custom options =================== */
    .page-template-page-options .title_bg_wrapper h1 {
        margin-top: 6vw;
    }

    .custom_solutions {
        margin-bottom: 2rem;
    }
    
    .centered_container .slider .nav_bttns {
        width: calc(100vw - 50px);
    }

    /* Shapes */
    #shapes.centered_container .slide_outer_wrapper {
        max-width: 100%;
    }


    /* ===== Products =================== */
    /* Header */
    .product_arch_header .slogan_container {
        font-size: 1.6rem;
        line-height: 1.8rem;
        max-width: 23rem;
    }

    /* Navigation */
    .lamp_nav {
        margin: 2rem 0;
    }

    /* Products */
    .product_wrapper .prod_content img {
        width: 60%;
    }

    .product_wrapper .prod_content h3, .product_wrapper .prod_hover {
        letter-spacing: 1px;
    }

    .product_wrapper .prod_content h3 {
        max-width: 15rem;
        padding: 0 0.75rem;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content img, .products_container .product_wrapper:nth-of-type(4) .prod_content img {
        width: 45%;
    }

    .products_container .product_wrapper:nth-of-type(3) .prod_content h3, .products_container .product_wrapper:nth-of-type(4) .prod_content h3 {
        font-size: 1.75rem;
        padding: 0;
    }


    /* ===== Single product =================== */
    /* header */
    .return-bttn {
        width: 3.5rem;
        top: 1rem;
    }

    .single-product-header {
        height: unset;
    }

    .single-product-header figure {
        margin: 0 auto 4rem auto;
    }

    .single-product-header .content_wrapper {
        margin-top: 5rem;
    }

    .single-product-header .content_wrapper .parent-type {
        font-size: 2rem;
    }

    .single-product-header .content_wrapper h1, .prod_title_transition {
        font-size: 5rem;
        letter-spacing: 0.2rem;
        line-height: 3.5rem;
    }

    .single-product-header .content_wrapper .content_container {
        font-size: 1.5rem;
        line-height: 1.8rem;
        max-width: 26rem;
    }

    /* Information */
    .prod_tech_info {
        margin-top: 0;
    }

    .prod_tech_info:before, .prod_tech_info.longer:before {
        height: 100%;
        min-height: 29rem;
        max-height: calc(100% - 44vw);
    }

    .environment_img {
        order: 1;
        margin-bottom: 2rem;
        margin-right: calc(var(--outer-side-padding) * -1);
    }

    .prod_tech_info .tech-info-title {
        order: 2;
        width: 100%;
        margin-bottom: 3rem;
        flex-direction: row-reverse;
        justify-content: flex-end;
    }

    .prod_tech_info .tech-info-title span {
        writing-mode: unset;
        transform: unset;   
    }
    
    .prod_tech_info .tech-info-title hr {
        margin: 0 1.5rem 0 0;
        border-right: none;
        border-top: var(--border);
        width: calc(20% + var(--outer-side-padding));
        height: 0;
    }

    .technical_sketch {
        max-width: 140px;
        height: unset;
    } 

    .technical_sketch img {
        height: unset;
    }
    
    .technical_info {
        width: calc(80% - 140px);
        margin-right: calc(var(--outer-side-padding) * -1);
    }

    .prod_tech_info .technical_info .content_container {
        max-width: calc(100% - 3rem);
    }

    /* View more products */
    .view_more_prods {
        width: calc(100% + var(--outer-side-padding));
        margin-left: calc(var(--outer-side-padding) / -2);
    }

    .view_more_prods h2 {
        font-size: 2.3rem;
        line-height: 1.8rem;
        margin-bottom: 3rem;
    }

    .view_more_prods #view_prods_slider {
        display: flex;
        flex-direction: column;
    }

    .view_more_prods #view_prods_slider .swiper-wrapper {
        order: 1;
    }
    
    .view_more_prods #view_prods_slider .navigation {
        position: relative;
        top: unset;
        margin: 2rem 0 0 auto;
        justify-content: flex-end;
        order: 2;
    }


    /* ===== Catalogs =================== */
    .post-type-archive-catalogs header .top_lamp {
        width: 15%;
        margin-left: 5%;
    }

    .post-type-archive-catalogs header h1 {
        margin-left: 8%;
    }

    .post-type-archive-catalogs .content_wrapper {
        padding: 4rem 3rem 9rem 3rem;
        margin-left: calc(27% - 2.6rem);
    }

    .post-type-archive-catalogs .content_wrapper a.latest_catalog {
        width: 110%;
        min-width: 17rem;
        font-size: 1.35rem;
        letter-spacing: 0.8px;
        margin-bottom: 4rem;
    }


    /* ===== Contactos =================== */
    .contact_container figure {
        margin-left: calc(var(--outer-side-padding) - 15px);
        padding-right: 0;
    }

    .contact_container h1 {
        margin-top: 0;
    }

    form .split-fields .form-field {
        max-width: 100%;
        flex: unset;
    }

    [data-name="privacy_policy_acceptance"] {
        margin-bottom: 5rem;
    }


    /* ===== Template - text page =================== */
    .page-template-page-text-page .main-wrapper {
        max-width: unset;
        padding: 5rem var(--outer-side-padding);
    }
}


@media (max-width: 554px) {
    :root {
        font-size: 12px;
    }

    h1, .regular-h1 {
        font-size: 4.2rem;
        line-height: 3rem;
        letter-spacing: 0.5px;
    }    

    .prod_title_transition {
        margin-top: 15.4rem !important;
    }

    .nav_bttns button {
        width: 50px;
    }


    /* ===== Footer =================== */
    footer {
        padding: 6rem 0 3rem 0;
    }

    #footer-col-1 .contact_info {
        font-size: 12px;
    }

    a.design {
        font-size: 10px;
        margin-top: 35px;
        margin-left: 0;
        margin-right: auto;
    }

    a.design:after {
        display: none;
    }


    /* ===== Homepage =================== */
    /* Slider */
    #home_slider h2 {
        font-size: 3.2rem;
        letter-spacing: 0.05rem;
    }
    
    #home_slider .nav_bttns {
        margin-top: 0.75rem;
    }

    #home_slider .text_slider .nav_bttns button {
        width: 40px;
    }

    /* introduction */
    .home_intro {
        max-width: 30rem;
    }
    
    .home_intro img.logo_title {
        width: 100px;
    }
    
    .home_intro .content_wrapper {
        font-size: 2.1rem;
        line-height: 2.5rem;
    }
    
    /* cards */
    .prod_cards .card {
        margin-bottom: 4rem;
    }

    .prod_cards .card_title {
        padding: 1rem;
    }


    /* ===== About us =================== */
    /* Our story */
    #story {
        padding: 5rem 0 0 0;
    }

    #story h2 span {
        line-height: 2.8rem;
    }

    #story .title_container {
        margin-bottom: 1.6rem;
    }

    #story .title_container .current_index {
        font-size: 7rem;
        line-height: 9.3rem;
        display: none;
    }

    #story_slider .nav_bttns button#prev {
        margin-right: 6px;
    }

    /* Design & Collection */
    #design h2 {
        max-width: 29rem;
    }

    #design .content_wrapper {
        padding-top: 10vw;
    }

    #design .content_wrapper:before {
        width: 26vw;
        height: 33vw;
        top: -2vw;
        bottom: unset;
        right: -4vw;
    }

    #design .content_wrapper:after {
        width: calc(100vw + 15px);
        max-width: unset;
        left: -16px;
    }

    #design .content_wrapper .content_container {
        margin-right: auto;
    }

    #design .content_wrapper .content_container .content_img {
        margin-top: 3rem;
    }


    /* ===== Custom options =================== */
    .centered_container {
        width: calc(100% - 70px);
    }
    
    .centered_container .slider .nav_bttns {
        width: calc(100vw - 10px);
    }

    .slide_outer_wrapper {
        max-width: 100%;
    }

    .custom_solutions.left_slider {
        margin-bottom: 5.5rem;
    }

    .custom_solutions figcaption {
        font-size: 10px;
        line-height: 12px;
    }


    /* ===== Products =================== */
    .product_arch_header .title_wrapper {
        padding-top: 10vw;
    }

    .product_arch_header .slogan_container {
        font-size: 1.3rem;
        line-height: 1.5rem;
        max-width: 18rem;
    }

    .lamp_nav li a img {
        width: 35px;
    }

    
    /* ===== Single product =================== */
    .single-product-header {
        margin-top: -1.5rem;
    }
    
    .single-product-header .content_wrapper .parent-type {
        font-size: 1.7rem;
    }

    .single-product-header .content_wrapper h1, .prod_title_transition {
        font-size: 4.4rem;
        letter-spacing: 0.1rem;
        line-height: 3rem;
    }

    .environment_img {
        width: 83%;
    }

    .prod_tech_info .tech-info-title hr {
        width: calc(18% + var(--outer-side-padding));
    }

    .technical_info {
        width: calc(100% - 140px);
    }

    /* View more products */
    .view_more_prods h2 {
        font-size: 2rem;
        line-height: 1.7rem;
    }


    /* ===== Contact =================== */
    .page-template-page-contacts .main-wrapper {
        padding-top: var(--outer-side-padding);
    }
    
    .contact_container {
        width: 100vw;
        padding: 0;
        margin-left: calc(var(--outer-side-padding) * -1);
    }

    .contact_container:before {
        left: 0;
    }

    .contact_container figure {
        width: calc(100% - var(--outer-side-padding));
        padding: 0;
        margin-left: var(--outer-side-padding);
    }

    .contact_container h1 {
        margin-bottom: 2rem;
        margin-left: -0.2rem;
    }

    .contact_container .content_wrapper {
        padding: 3.2rem var(--outer-side-padding);
    }

    [data-name="privacy_policy_acceptance"] {
        font-size: 13px;
        line-height: 16px;
        max-width: unset;
    }

    [data-name="privacy_policy_acceptance"] .wpcf7-list-item label .wpcf7-list-item-label:before {
        right: calc(100% + 14px);
        width: 28px;
        height: 28px;
    }
}