/*
Theme Name: Rui Veríssimo Design
Theme URI: http://www.ruiverissimodesign.com/
Author: Rui Veríssimo Design
Author URI: http://www.ruiverissimodesign.com/
Version: 1.0
Text Domain: rvdesign
*/


/*/////////////////////////
///////// Fonts ///////////
/////////////////////////*/

/* Trajana */
@font-face {
    font-family: 'Trajana Sans Regular';
    src: url('vendor/fonts/TrajanaSans.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Trajana Sans Demi Bold';
    src: url('vendor/fonts/TrajanaSans-DemiBold.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Trajana Sans Light';
    src: url('vendor/fonts/TrajanaSans-Light.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

/* Abril Display */
@font-face {
    font-family: 'Abril Display Regular';
    src: url('vendor/fonts/Abril_Display_Regular.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Abril Display Semi Bold Italic';
    src: url('vendor/fonts/Abril_Display_SemiBoldItalic.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Abril Display Bold Italic';
    src: url('vendor/fonts/Abril_Display_BoldItalic.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Abril Display Italic';
    src: url('vendor/fonts/Abril_Display_Italic.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Abril Display Extra Bold';
    src: url('vendor/fonts/Abril_Display_ExtraBold.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Abril Text Regular';
    src: url('vendor/fonts/Abril_Text_Regular.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

/* Corsa Grotesk */
@font-face {
    font-family: 'Corsa Grotesk Regular';
    src: url('vendor/fonts/corsa_grotesk_regular.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Corsa Grotesk XBold';
    src: url('vendor/fonts/corsa_grotesk_xbold.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: 'Corsa Grotesk Bold';
    src: url('vendor/fonts/corsa_grotesk_bold.otf');
    font-weight: normal;
    font-style: normal;
    font-display: optional;
}

/*/////////////////////////
///// Global Classes //////
/////////////////////////*/

html {
    font-size: 16px;
}

body {
    font-family: 'Corsa Grotesk Regular', sans-serif; /* Alterar fonte do texto aqui */
    font-size: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a,
button {
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
    transition-property: all, background-color, border;
}

a:after,
a:before {
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

a:hover {
    text-decoration: none;
}

::selection {
    background-color: #A8966A;
    color: #FFFFFF;
}

::-moz-selection {
    background-color: #A8966A;
    color: #FFFFFF;
}

svg {
    max-width: 100%;
    height: auto;
}

p {
    margin-bottom: 0;
    font-size: 0.875rem;
    letter-spacing: 0.03125rem;
    line-height: 1.4;
}

.container {
    padding-left: 7px;
    padding-right: 7px;
}

.row {
    margin-left: -7px;
    margin-right: -7px;
}

.clearfix {
    clear: both;
}

.img-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

button {
    background: transparent;
    border: 0;
}

.overlay-content {
    position: relative;
}

.overlay {
    background-color: #122032;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    -o-transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
}

.wrapper {
    position: relative;
}

.wrapper:hover .overlay {
    opacity: 1;
}

.overlay-figure {
    height: 360px;
    margin: 0;
}

.overlay h1 {
    font-family: 'Abril Display Regular', serif !important;
    text-align: center;
    text-transform: uppercase;
    color: #FFF;
    font-size: 1.25rem;
    max-width: 80%;
    margin: 0 auto;
}

.overlay h2 {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    text-transform: uppercase;
    font-size: 0.875rem;
    color: #FFF;
}

.overlay p {
    width: 100%;
    text-align: center;
    position: relative;
    font-family: 'Trajana Sans Regular', sans-serif !important;
    font-size: 0.8125rem;
    color: #85754e;
    margin-top: 13px;
}

.overlay p:before {
    content: '';
    position: absolute;
    width: 0;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 3px;
    background-color: #85754e;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.overlay:hover p:before {
    width: 38%;
}

.page-margin {
    margin-top: 30px;
    margin-bottom: 30px;
}

figure {
    margin: 0;
}

.see-more {
    margin-bottom: 60px;
}

.see-more button {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    color: #000;
    text-transform: lowercase;
    font-size: 1.125rem;
    line-height: 1;
    letter-spacing: 2px;
}

.see-more button:focus {
    outline: 0;
}

.see-more button:hover {
    color: #85754e;
}

.link-container {
    display: inline-block;
}

.link-line-bh {
    position: relative;
    font-family: 'Trajana Sans Regular', sans-serif !important;
    text-transform: uppercase;
    color: #85754e;
    font-size: 0.8125rem;
    padding-left: 140px;
}

.link-line-bh:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 125px;
    height: 2px;
    background: #85754e;
    margin-right: 15px;
}

.link-line-bh:hover {
    color: #85754e;
}

.link-line-bh:hover:before {
    width: 230px;
    margin-right: 5px;
}

.modal-header {
    border: 0;
}

.modal-header .close {
    float: unset;
    margin: 0 75px 0 auto;
    border: 4px solid #85754E;
    opacity: 1;
    width: 48px;
    height: 46px;
    padding: 0;
    text-shadow: none;
    text-transform: lowercase;
}

.modal-header .close svg {
    width: 26px;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.modal-header .close svg path {
    fill: #85754E;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.modal-header .close:hover svg path {
    fill: #FFF;
}

.modal-header .close:hover {
    background: #85754E;
    color: #FFF;
}

.modal-dialog {
    border: 0;
    border-radius: 0;
}

/*Loader*/

.load-ani {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 64px;
}

.load-ani div {
    display: inline-block;
    position: absolute;
    left: 6px;
    width: 13px;
    background: #B08562;
    animation: load-ani 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.load-ani div:nth-child(1) {
    left: 6px;
    animation-delay: -0.24s;
}

.load-ani div:nth-child(2) {
    left: 26px;
    animation-delay: -0.12s;
}

.load-ani div:nth-child(3) {
    left: 45px;
}

@keyframes load-ani {
    0% {
        top: 6px;
        height: 51px;
    }
    50%, 100% {
        top: 19px;
        height: 26px;
    }
}

.elem-anim-up,
.elem-anim-right {
    opacity: 0;
}

.anim-up,
.anim-right {
    opacity: 1;
    animation-fill-mode: forwards !important;
}

.anim-up {
    animation: slideUp 1s ease 0s;
}

.anim-right {
    animation: slideRight 1s ease 0s;
}

@keyframes slideUp {
    0% {
        transform: translateY(200px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideRight {
    0% {
        right: -10%;
        opacity: 0;
    }

    100% {
        right: 0;
        opacity: 1;
    }
}

.custom-anim-down {
    opacity: 0;
    animation-fill-mode: forwards !important;
    animation: custom-slide-down 1s ease 0s;
}

@keyframes custom-slide-down {
    0% {
        transform: translateY(-200px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.swiper-container-horizontal {
    overflow: hidden;
}

/*/////////////////////////
///////// Navbar //////////
//////////////////////// */

header {
    background: #000;
    height: 190px;
}

header nav {
    max-width: 1000px;
    padding: 15px;
    margin: 0 auto;
}

.site-logo {
    margin: 0 100px;
}

.site-logo img {
    max-width: 100%;
    height: auto;
}

.menu-item {
    margin: 25px 25px 0 25px;
}

.menu-link {
    font-family: 'Trajana Sans', sans-serif !important;
    position: relative;
    color: #FFF;
    letter-spacing: 3px;
    font-size: 1rem;
    text-transform: lowercase;
}

.menu-link:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 0;
    opacity: 0;
    background: #85754e;
    left: 0;
    right: 0;
    bottom: -8px;
}

.menu-link:hover {
    color: #85754e;
}

.current-menu-item .menu-link,
.tax-product_brand nav .brands .menu-link {
    color: #85754e;
}

.current-menu-item .menu-link:after,
.tax-product_brand nav .brands .menu-link:after {
    opacity: 1;
    height: 2px;
}

.menu-link:hover:after {
    height: 4px !important;
    opacity: 1;
}

/*/////////////////////////
///////// Footer //////////
//////////////////////// */

footer {
    background: #000;
    padding-top: 60px;
    padding-bottom: 60px;
}

footer .custom-logo {
    width: 130px;
    height: auto;
    opacity: 0.3;
}

.social-title {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    text-transform: lowercase;
    color: #FFF;
    margin-bottom: 10px;
    font-size: 0.775rem;
}

.social-link svg {
    width: 45px;
}

.social-link.instagram {
    margin-left: 7px;
}

.social-wrapper {
    display: inline-block;
}

.social-link svg .cls-1 {
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.social-link:hover svg .cls-1 {
    fill: #85754e;
}

.newsletter-text {
    font-family: 'Abril Display Regular', serif !important;
    color: #FFF;
    font-size: 2.875rem;
    line-height: 1;
}

.newsletter-text span {
    font-family: "Trajana Sans Regular", sans-serif !important;
    display: block;
    line-height: 1;
    font-size: 0.775rem;
    margin-bottom: -5px;
}

.newsletter-wrapper a {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    font-size: 0.8125rem;
    text-transform: lowercase;
    color: #85754e;
    letter-spacing: 1px;
    position: relative;
    padding-left: 95px;
}

.newsletter-wrapper a:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 2px;
    background: #85754e;
    margin-right: 15px;
}

.newsletter-wrapper a:hover:before {
    width: 220px;
}

/*/////////////////////////
/////// Front Page ////////
//////////////////////// */

.home-slider {
    position: relative;
}

.banner {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    min-height: 500px;
    height: calc(70vh - 190px);
    -webkit-animation: fadeIn 0.8s ease 0s;
    animation: fadeIn 0.8s ease 0s;
}

.banner-content {
    max-width: 1040px;
    width: 100%;
    margin: 0 auto;
}

.banner-content h1,
.banner-content h2 {
    font-family: 'Abril Text Regular', serif !important;
    color: #FFF;
    margin-bottom: 0;
}

.banner-content h1 {
    font-size: 1.75rem;
    line-height: 1.2;
    margin-bottom: 5px;
}

.banner-content h2 {
    font-size: 1rem;
}

.banner-content a {
    position: relative;
    font-family: 'Trajana Sans Regular', sans-serif !important;
    font-size: 0.8125rem;
    margin-top: 15px;
    margin-bottom: 24px;
    padding-right: 315px;
    text-transform: lowercase;
    color: #85754e;
}

.banner-content a:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #85754e;
    height: 2px;
    width: 300px;
    margin-left: 15px;
}

.banner-content a:hover:after {
    width: 385px;
}

.banner-content img {
    width: 170px;
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

.banner-wrapper {
    display: inline-block;
}

.home-slider .swiper-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 60px;
}

.swiper-pagination button {
    width: 20px;
    height: 20px;
    background: transparent;
    margin: 0 4px;
    border: 2px solid #85754e;
    border-radius: 100%;
    opacity: 1;
}

.swiper-pagination button:focus {
    outline: 0;
}

.swiper-pagination button.swiper-pagination-bullet-active {
    background: #85754e;
}

.banner-overlay {
    display: none;
}

.hp-product,
.hp-brand {
    display: block;
    background-color: #f6f6f6;
    margin-top: 30px;
    margin-bottom: 30px;
}

.hp-img-wrapper {
    position: relative;
}

.hp-overlay {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 100%;
    right: 0;
    bottom: 0;
    background: #f6f6f6;
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
    mix-blend-mode: multiply;
}

.hp-product:hover .hp-overlay,
.hp-brand:hover .hp-overlay {
    background: #c3c3c3;
}

.hp-product:hover,
.hp-brand:hover {
    background-color: #c3c3c3;
}

.hp-news {
    margin-left: -14px;
    margin-right: -14px;
}

.hp-product-wrapper img {
    width: 125px;
    margin-bottom: 30px;
}

.hp-product-wrapper h2 {
    font-family: 'Abril Display Regular', serif !important;
    font-size: 1.75rem;
    margin-right: 35%;
    color: #000;
}

.hp-product-wrapper .hp-seemore {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    color: #85754e;
    margin-top: 40px;
    font-size: 0.8125rem;
    position: relative;
    padding-left: 295px;
}

.hp-product-wrapper .hp-seemore:before {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    content: '';
    background: #85754e;
    width: 275px;
    height: 2px;
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.hp-product:hover .hp-product-wrapper .hp-seemore:before {
    margin-right: 10px;
    width: 360px;
}

.hp-brand {
    margin-bottom: 70px;
}

.hp-brand-wrapper {
    padding-left: 25%;
}

.hp-brand-wrapper p {
    font-size: 0.875rem;
    letter-spacing: 0.03125rem;
    line-height: 1.4;
    color: #000;
}

.hp-brand-wrapper img {
    width: 150px;
    margin-bottom: 30px;
}

.hp-brand-wrapper .hp-seemore {
    display: block;
    font-family: 'Trajana Sans Regular', sans-serif !important;
    color: #85754e;
    margin-top: 20px;
    font-size: 0.8125rem;
    padding-left: 135px;
    position: relative;
}

.hp-brand-wrapper .hp-seemore:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    width: 120px;
    height: 2px;
    background: #85754e;
    margin-right: 15px;
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.hp-brand:hover .hp-brand-wrapper .hp-seemore:before {
    margin-right: 5px;
    width: 200px;
}

/*/////////////////////////
//////// Contacts /////////
//////////////////////// */

.contacts-area {
    margin-top: 50px;
    margin-bottom: 50px;
}

.contacts-area .row {
    margin: 0;
}

.contacts-area .contacts-blue .wrapper h1,
.contacts-area .contacts-grey .wrapper h1 {
    font-family: 'Abril Display Regular', serif !important;
    font-size: 3.25rem;
    line-height: 1;
    text-transform: uppercase;
}

.contacts-area .contacts-blue .wrapper h2,
.contacts-area .contacts-grey .wrapper h2 {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    font-size: 0.875rem;
    text-transform: lowercase;
    letter-spacing: 0.03125rem;
    line-height: 1;
}

.contacts-area .contacts-blue .wrapper p,
.contacts-area .contacts-grey .wrapper p {
    letter-spacing: 0.03125rem;
    line-height: 1.4;
    margin-bottom: 20px;
}

.contacts-area .contacts-blue {
    background-color: #142032;
}

.contacts-area .contacts-blue h1,
.contacts-area .contacts-blue h2 {
    color: #85754e;
}

.contacts-area .contacts-blue p {
    color: #FFF;
}

.contacts-area .contacts-grey {
    background-color: #f6f6f6;
}

.contacts-area .contacts-grey h1,
.contacts-area .contacts-grey h2 {
    color: #85754e;
}

.contacts-area .contacts-grey p {
    color: #000;
}

.contacts-figure {
    height: 530px;
    margin-bottom: 0;
}

.contacts-area .link-container a {
    position: relative;
    font-family: 'Trajana Sans Regular', sans-serif !important;
    text-transform: uppercase;
    color: #85754e;
    font-size: 0.8125rem;
    padding-left: 120px;
}

.contacts-area .link-container a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 2px;
    width: 105px;
    background: #85754e;
}

.contacts-area .link-container a:hover:before {
    width: 200px;
}

/*/////////////////////////
///////// News ////////////
//////////////////////// */

.news {
    margin-left: -7px;
    margin-right: -7px;
}

.news-wrapper {
    background-color: #f6f6f6;
}

.news-container {
    padding: 25px 75px;
}

.news-wrapper figure {
    height: 290px;
    object-fit: cover;
}

.news-container span {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    text-transform: lowercase;
    font-size: 0.875rem;
    color: #85754e;
}

.news-container h1 {
    font-family: 'Abril Display Regular', serif !important;
    font-size: 1.375rem;
}

.news-container p {
    font-size: 0.875rem;
    letter-spacing: 0.03125rem;
    line-height: 1.4;
}

.news-container a {
    display: block;
    position: relative;
    font-family: 'Trajana Sans Regular', sans-serif !important;
    font-size: 0.8125rem;
    color: #85754e;
    margin-top: 15px;
    padding-left: 125px;
}

.news-container a:after {
    content: '';
    display: block;
    position: absolute;
    width: 100px;
    height: 2px;
    left: 0;
    top: 40%;
    background: #85754e;
}

.news-container a:hover:after {
    width: 200px;
}

/* Single */

.single-news {
    padding-left: 90px;
    padding-right: 90px;
}

.single-news figure {
    height: 480px;
    margin-bottom: 30px;
}

.single-news figure img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.single-news-content {
    padding-left: 45px;
    padding-right: 45px;
    padding-bottom: 125px;
}

.single-news-content h2:nth-child(1) {
    font-family: "Trajana Sans Regular", sans-serif;
    font-size: 0.9375rem;
    text-transform: lowercase;
    color: #85754e;
}

.single-news-content h1 {
    font-family: 'Abril Display Regular', serif !important;
    font-size: 1.375rem;
    margin-bottom: 20px;
}

.single-news-content h2 {
    font-size: 1.275rem;
}

.single-news-content h3 {
    font-size: 1.175rem;
}

.single-news-content h4 {
    font-size: 1.075rem;
}

.single-news-content ul,
.single-news-content ol {
    font-size: 0.875rem;
    margin: 10px 0;
    padding-left: 40px;
}

.single-news-content,
.single-news-content p {
    letter-spacing: 0.03125rem;
    line-height: 1.4;
}

.single-news-content a {
    color: #85754e
}

.single-news-content a:hover {
    color: #574a25;
    text-decoration: underline;
}

/*/////////////////////////
/////// Story Page/////////
//////////////////////// */

.page-story {
    margin-top: 100px;
    margin-bottom: 60px;
}

.story-since h1 {
    font-family: 'Abril Fatface', serif !important;
    color: #85754e;
    font-size: 7rem;
    margin-bottom: 0;
    line-height: 1;
}

.story-since h2 {
    font-family: 'Abril Display Extra Bold', serif !important;
    margin-bottom: 0;
    font-size: 1.375rem;
    color: #85754e;
    line-height: 1;
}

.story-since p {
    font-family: 'Abril Text Regular', serif !important;
    font-size: 1.875rem;
    line-height: 1.3;
    margin-top: 15px;
}

.story-text {
    max-width: 55%;
    margin: 45px auto 85px;
}

.story-text p {
    font-size: 0.875rem;
    letter-spacing: 0.03125rem;
    line-height: 1.4;
}

/* Story Gallery 1 */

.story-images-container {
    columns: 5;
    column-gap: 10px;
    padding: 0;
}

.story-images-container figure {
    height: 14vw;
}

/* Story Gallery 2 */

.story-gallery-container {
    margin-left: -7px;
    margin-right: -7px;
}

.story-gallery-container .story-img-medium {
    height: 340px;
}

.story-gallery-container .story-img-tall {
    height: 694px;
}

.story-gallery-container .col-12 {
    margin-bottom: 14px;
    padding-left: 7px;
    padding-right: 7px;
}

.story-gallery-container .last {
    margin-top: -354px;
}

/*/////////////////////////
/////// Brands Page ///////
//////////////////////// */

.brand-container {
    padding: 0 7px 0;
    margin-bottom: 14px;
}

.brand-container .brand-logo {
    width: 100%;
    height: 280px;
}

.brand-container a {
    font-family: "Trajana Sans", sans-serif !important;
    text-transform: lowercase;
    color: #85754E;
    font-size: 0.875rem;
    letter-spacing: 1px;
    white-space: nowrap;
}

.brand-m-content.flex-column a {
    margin-top: 20px;
}

.brand-m-content.flex-column-reverse a {
    margin-bottom: 20px;
}

.brand-container a:hover {
    color: #574a25;
}

.brand-container .wrapper:hover .overlay {
    opacity: 1;
}

.brand-container .brand-logo {
    display: block;
    background-color: #F6F6F6;
}

.brand-container .wrapper img {
    max-width: 180px;
    width: 100%;
}

.brand-container .wrapper .overlay img {
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

.brand-container .wrapper .overlay img {
    margin-bottom: 10px;
    margin-top: 43px;
}

.brand-container .wrapper .overlay p:before {
    width: 0;
}

.brand-container .wrapper .overlay:hover p:before {
    width: 33%;
}

.brand-container.brand-container-lg .wrapper,
.brand-container.brand-container-m .wrapper {
    background-position: center center;
    background-size: cover;
    height: 280px;
}

.brand-container.brand-container-lg .brand-link,
.brand-container.brand-container-m .brand-link {
    background-color: transparent;
}

.brand-container-lg .wrapper img {
    filter: invert(100%);
    width: 220px;
}

.brand-lg-content .content {
    display: inline-block;
    padding-left: 12%;
    text-align: center;
}

.brand-lg-content figure {
    margin-bottom: 15px;
}

.brand-container .wrapper.logo-not-invert img {
    -webkit-filter: unset;
    filter: unset;
}

.brand-container-m img {
    max-width: 155px;
    width: 100%;
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

.brand-container.brand-container-lg .wrapper .overlay:hover p:before {
    width: 45%;
}

.brand-container.brand-container-m .wrapper .overlay:hover p:before {
    width: 42%;
}

.brand-m-content {
    padding-left: 7%;
}

.brand-m-content a {
    position: relative;
    padding-left: 135px;
}

.brand-m-content a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 2px;
    background-color: #85754E;
    width: 120px;
    margin-right: 15px;
}

.brand-m-content a:hover {
    color: #85754E;
}

.brand-m-content a:hover:before {
    margin-right: 5px;
    width: 230px;
}

.brand-container-m .flex-lg-column figure {
    margin-bottom: 12px;
}

.brand-container-m .flex-lg-column-reverse figure {
    margin-top: 12px;
}

.brands-see-more {
    margin-top: 40px;
}

/*//*/

.single-brand-header {
    width: 55%;
    margin: 0 auto;
}

.single-brand-header img {
    max-width: 180px;
}

.single-brand-header p {
    font-size: 0.875rem;
    letter-spacing: 0.03125rem;
    line-height: 1.4;
    margin-top: 40px;
    margin-bottom: 80px;
}

.product .wrapper {
    position: relative;
}

.secondary-overlay {
    position: absolute;
    background: #757575;
    opacity: 5%;
    z-index: 2 !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.product .product-img {
    height: 18.75vw;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.product:hover .overlay {
    opacity: 1;
}

.product {
    padding: 0 7px;
    margin-bottom: 14px;
}

.product-last {
    background-color: #132032;
    color: #FFF;
    margin-left: 7px;
    margin-right: 7px;
}

.product-last .wrapper {
    max-width: 80%;
}

.product-last h2 {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    font-size: 0.875rem;
    text-transform: lowercase;
}

.product-last h1 {
    font-family: 'Abril Display Regular', serif !important;
    font-size: 1.375rem;
}

.product-last a:before {
    content: '';
    width: 125px;
    height: 3px;
    background: #85754e;
    margin-right: 15px;
}

.product-last a:hover:before {
    width: 245px;
}

.product-last .link-container {
    margin-top: 30px;
}

.product-last-img {
    background-size: 125%;
    background-repeat: no-repeat;
    background-position: center 25%;
    height: 18.75vw;
}

.prod-not-available {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    max-width: 75%;
    margin: 0 auto;
    font-size: 1.25rem;
    line-height: 1.2;
    text-transform: lowercase;
    color: #85754E;
}

.other-brands {
    font-family: "Trajana Sans Regular", sans-serif;
    text-transform: lowercase;
    font-size: 1.125rem;
    margin-top: 100px;
    margin-bottom: 50px;
}

.other-brands-container {
    margin-left: -7px;
    margin-right: -7px;
}

.other-brands-slider {
    padding-bottom: 30px;
}

.other-brands-slider .swiper-pagination {
    position: relative;
    bottom: unset;
    left: unset;
    right: unset;
    margin-top: 20px;
}

.other-brands-slider .swiper-pagination button {
    width: 16px;
    height: 16px;
    opacity: 1;
}

/*/////////////////////////
///// Single Product //////
//////////////////////// */

.single-product-overlay {
    position: absolute;
    background: #757575;
    opacity: 5%;
    z-index: 2 !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.single-product .product-text-wrapper h1 {
    font-family: 'Abril Display Regular', sans-serif !important;
    font-size: 1.575rem;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.single-product .product-text-wrapper h2 {
    font-family: 'Trajana Sans Regular', sans-serif !important;
    text-transform: lowercase;
    font-size: 1.15rem;
}

.single-product .product-text-wrapper p {
    margin-bottom: 20px;
}

.single-product .product-text-wrapper .product-spec-title,
.single-product .product-text-wrapper .product-spec p {
    font-size: 0.875rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.09375rem;
}

.single-product .product-text-wrapper h3 {
    font-weight: 600;
}

.single-product .product-text-wrapper .product-spec-title {
    margin-bottom: 15px;
}

.single-product .product-text-wrapper .product-spec {
    text-transform: uppercase;
}

.single-product .row {
    position: relative;
    margin-left: 0;
    margin-right: 0;
}

.single-product .product-image-wrapper,
.single-product .product-text-wrapper {
    padding: 65px 0;
}

.single-product figure {
    margin-bottom: 0;
}

.single-product figure img {
    width: 450px;
}

.single-product .product-text-wrapper {
    padding-left: 90px;
    padding-right: 115px;
}

.single-product .product-text-bg {
    background: #F5F5F5;
}

.single-product .navigation-btns {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    z-index: 10;
}

.single-product .navigation-btns a {
    display: block;
    background: #616161;
    color: #FFF;
    width: 60px;
    height: 60px;
}

.single-product .navigation-btns a:hover {
    background: #212121;
}

.single-product .next img,
.single-product .previous img {
    width: 13px;
    filter: invert(100%);
}

/*/////////////////////////
///// Media Queries ///////
//////////////////////// */

@media only screen and (min-width: 1200px) {
    .container {
        max-width: 1170px;
    }
}

@media only screen and (min-width: 992px) {

    /* Navbar */
    .sidenav {
        display: none !important;
    }

    .navbar-expand-lg .navbar-collapse {
        display: none !important;
    }

    .modal-dialog {
        max-width: 980px;
        border: 0;
        border-radius: 0;
    }
}

@media only screen and (max-width: 992px) {

    .modal-header .close {
        margin: 0 5% 0 auto;
    }

    .modal-dialog {
        max-width: 85%;
    }

    /* Navbar */
    header {
        height: unset;
        padding: 30px 0;
    }

    header nav {
        max-width: 95%;
        width: 100%;
        position: relative;
    }

    .sidenav {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        transform: translateX(100%);
        opacity: 0;
        background: #000;
        color: #FFF;
        z-index: 1000;
        -o-transition: all 0.2s ease 0s;
        -webkit-transition: all 0.2s ease 0s;
        -moz-transition: all 0.2s ease 0s;
        transition: all 0.2s ease 0s;
    }

    .sidenav.open {
        opacity: 1;
        transform: translateX(0);
    }

    .sidenav .navbar-toggler {
        position: absolute;
        top: 120px;
        right: 20px;
    }

    .icon-bar {
        width: 33px;
        height: 3px;
        background-color: #FFF;
        display: block;
        margin-top: 6px;
        -webkit-transition: all 0.4s ease 0s;
        -o-transition: all 0.4s ease 0s;
        -moz-transition: all 0.4s ease 0s;
        transition: all 0.4s ease 0s;
    }

    .nav-dark .icon-bar {
        background-color: #000;
    }

    .site-logo {
        text-align: center;
    }

    .navbar-toggler {
        position: absolute;
        right: 0;
        top: 30px;
    }

    .navbar-toggler:focus {
        outline: 0;
    }

    .navbar-nav {
        text-align: center;
    }

    .menu-link {
        font-size: 1.25rem;
    }

    /* Banner */
    .banner-content {
        margin-left: 9%;
    }

    .banner-content a {
        padding: 0;
        font-size: 1rem;
        font-weight: bold;
    }

    .banner-content a:before,
    .banner-content a:after {
        content: none !important;
    }

    /* Footer */
    footer .col-12 {
        margin-bottom: 40px;
    }

    /* Home */
    .hp-product-wrapper,
    .hp-brand-wrapper {
        width: 90%;
        margin: 10% auto;
        padding-left: 0;
    }

    .overlay-figure {
        height: 75vw;
    }

    .hp-news .col-12 {
        margin-bottom: 30px;
    }

    /* Brands */
    .brand-container.brand-container-lg .wrapper,
    .brand-container.brand-container-m .wrapper {
        height: 42vw;
    }

    .brand-container .brand-logo {
        height: 45.054vw;
    }

    /* Story */
    .story-text {
        max-width: 80%;
    }

    /* Addresses */
    .contacts-area .wrapper {
        width: 60%;
        margin: 15% auto;
    }

    /* Brand Page */
    .product .product-img {
        height: 45.054vw;
    }

    .product-last-img {
        background-size: 170%;
        height: 60vw;
    }

    .product-last .wrapper {
        margin: 15% auto;
    }

    /* Single Product */

    .single-product {
        margin-top: 20%;
        margin-bottom: 20%;
    }

    .single-product .product-text-wrapper {
        padding-left: 7%;
        padding-right: 7%;
    }

    .single-product .navigation-btns {
        bottom: -30px;
    }

    /* News */
    .news-container {
        padding: 15% 10%;
    }

    .news-wrapper figure {
        height: 70vw;
    }

    .single-news {
        padding-left: 7%;
        padding-right: 7%;
    }

    .single-news-content {
        padding-left: 4%;
        padding-right: 4%;
        padding-bottom: 11%;
    }

    .single-news figure  {
        height: 48vw;
    }
}

@media only screen and (max-width: 576px) {

    .modal-dialog {
        max-width: 90%;
        width: 100%;
        margin: 0 auto;
    }

    /* Banner */
    .banner {
        min-height: 300px;
        height: calc(100vh - 200px);
    }

    .banner-content a:after {
        width: 40%;
    }

    .banner-content {
        margin: 0 auto;
        max-width: 80%;
        text-align: center;
    }

    .banner-overlay {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.1);
        z-index: 1;
    }

    .banner-content {
        z-index: 2;
    }

    .banner-content img {
        margin: 0 auto;
    }

    .banner-content a:before,
    .banner-content a:after {
        display: inline-block;
        content: '';
        background: #85754e;
        height: 2px;
        width: 20%;
        margin-right: 15px;
        margin-left: 15px;
    }

    /* Navbar */
    .icon-bar {
        width: 30px;
        height: 2px;
    }

    /* Home Page */
    .hp-product-wrapper h2 {
        margin-right: 0;
    }

    .hp-product-wrapper a:before {
        width: 50%;
    }

    .hp-product-wrapper a {
        padding-left: 50%;
    }

    .hp-product-wrapper a:hover:before {
        width: 107%;
    }

    /* Footer */
    .social-title {
        text-align: center;
    }

    /* Brands */
    .brand-container .brand-logo {
        height: 400px;
    }

    .brand-container.brand-container-lg .wrapper,
    .brand-container.brand-container-m .wrapper {
        height: 55vw;
    }

    /* Brand Page */
    .single-brand-header {
        width: 100%;
    }

    .product .product-img {
        height: 400px;
    }

    .product-last-img {
        background-size: 120%;
        height: 400px;
    }

    .brand-lg-content,
    .brand-m-content {
        background: rgba(0, 0, 0, 0.6);
        height: 100%;
        display: flex;
        justify-content: center;
        align-content: center;
    }

    .brand-lg-content .content,
    .brand-m-content .content {
        display: flex;
        justify-content: center;
        align-content: center;
        flex-direction: column;
        padding: 0;
    }

    /* Addresses */
    .contacts-figure {
        height: 70vw;
    }

    .contacts-area .wrapper {
        width: 85%;
        text-align: center;
    }

    /* Story */
    .story-since p {
        font-size: 1.325rem;
    }

    .story-text {
        width: 100%;
        max-width: 100%;
    }

    .story-images-container {
        columns: 1;
        column-gap: 0;
        padding-right: 15px;
        padding-left: 15px;
    }

    .story-images-container figure {
        height: 340px;
    }

    .story-images-container div {
        margin-bottom: 20px;
    }

    .story-gallery-container .last {
        margin-top: 0;
    }
}