@font-face {
	font-family: 'metropolis-bold';
	src: url('../fonts/Metropolis/Metropolis-Bold.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'metropolis-medium';
	src: url('../fonts/Metropolis/Metropolis-Medium.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'metropolis-regular';
	src: url('../fonts/Metropolis/Metropolis-Regular.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'metropolis-light';
	src: url('../fonts/Metropolis/Metropolis-Light.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'metropolis-thin';
	src: url('../fonts/Metropolis/Metropolis-Thin.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

img {
    max-width: 100%;
}
a {
    cursor: pointer;
}

/*HEADER*/

header#header {
    width: 100%;
    position: fixed;
    background: #fff;
    padding: 16px 0;
    z-index: 11;
}
header.bg-black .menu ul li a {
    color: #fff;
}
header.bg-black a.menu-item.brand {
    color: #fff;
}
header.bg-black .link-maps path {
    fill: #fff;
}
header.bg-black .open-menu svg rect {
    fill: #fff;
}
.nav-up {
    top: -57px;
}
.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    background: #fff;
}
#header .col-md-2 .logo {
    justify-content: center;
    display: flex;
}
.first-menu ul {
    display: flex;
    list-style: none;
    gap: 80px;
    margin-bottom: 0;
    padding-left: 0;
}
.second-menu ul {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    gap: 80px;
    margin-bottom: 0;
    padding-left: 0;
}
.menu ul li a {
    font-family: 'metropolis-regular';
    font-size: 14px;
    line-height: 14px;
    text-transform: uppercase;
    text-decoration: none;
    color: #4F4F4F;
}
.menu ul li a.active,
.menu ul li a:hover {
    color:#000;
}
a.menu-item.brand {
    font-family: 'metropolis-bold';
    font-size: 24px;
    line-height: 24px;
    letter-spacing: 0.04em;
    color: #000;
    text-decoration: none;
}
button {
    border: none;
    background: transparent;
    padding: 0;
}
button.close-menu {
    position: absolute;
    top: 21px;
    right: 21px;
}
#mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #000;
    overflow: scroll;
    z-index: 1;
    transition: height 0.2s;
}
#mobile-menu .wrapper {
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 24px 24px 40px;
}
#mobile-menu a.menu-item.brand {
    color: #fff;
    text-align: center;
}
#mobile-menu .menu ul {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 0;
}
#mobile-menu li.page_item {
    list-style: none;
    text-align: center;
    font-family: 'metropolis-regular';
    font-size: 16px;
    line-height: 16px;
    text-transform: uppercase;
    color: #fff;
}
#mobile-menu li.page_item a {
    text-decoration: none;
}
.contact-mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.contact-mobile a {
    font-family: 'metropolis-bold';
    font-size: 16px;
    line-height: 16px;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
}

@media screen and (max-width:991px) {
    .desktop {
        display: none;
    }
    header#header {
        padding: 16px 0;
    }
    #header .col-4.last {
        display: flex;
        justify-content: flex-end;
    }
    ul#menu-menu-principale {
        padding-left: 0;
        display: flex;
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }
    ul#menu-menu-principale li {
        list-style: none;
    }
    ul#menu-menu-principale li a {
        font-family: 'metropolis-regular';
        font-weight: 400;
        font-size: 16px;
        line-height: 16px;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        color: #fff;
    }
    header#header .container {
        width: 100%;
        max-width: 100%;
        padding: 0 24px;
    }
}

button.whatsapp-btn {
    width: 30px;
    height: 30px;
    background: #000;
    border-radius: 100%;
    position: sticky;
    bottom: 0;
    right: 0;
    left: 100%;
}

/*PAGE GENERAL*/

section.page-general {
    padding: 100px 0;
}
section.page-general h1 {
    font-family: 'metropolis-bold';
    font-size: 35px;
    line-height: 35px;
}
section.page-general .content-page p {
    font-family: 'metropolis-regular';
    font-size: 16px;
    line-height: 20px;
}

/*HOME*/

.bg-black {
    color: #fff;
}
#home .opening {
    display: flex;
    width: 100%;
    height: 100vh;
}
#home .bg-slide-color {
    width: 50%;
    background: #000;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-left: 122px;
    padding-bottom: 95px;
    z-index: 1;
}
.swiper-scrollbar {
    display: none;
}
#home .swiper-hero .swiper-slide.first-slide {
    background-image: url('../img/slide-woman.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#home .swiper-hero .swiper-slide.second-slide {
    background-image: url('../img/slide-man.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#home .swiper.swiper-hero {
    height: 100%;
    z-index:0;
}
#home .swiper-hero .swiper-button-prev,
#home .swiper-hero .swiper-button-next {
    display: none !important;
    z-index: 99999;
}
#home .bg-slide {
    width: 50%;
    height: 95%;
}
#home .container-text-slide {
    max-width: 655px;
    margin-left: auto;
    margin-right: -18%;
}
#home h1.title-slide {
    font-family: 'metropolis-bold';
    font-size: 290px;
    line-height: 290px;
    color: #fff;
    text-align: right;
    overflow: visible;
}
#home p.subtitle-slide {
    font-family: 'metropolis-thin';
    font-size: 20px;
    line-height: 20px;
    color: #fff;
    opacity: 0.7;
    padding-left: 30px;
}
#home .intro-hp.container {
    padding-top: 160px;
	padding-bottom: 120px;
}
#home .intro-hp h1 {
    font-family: 'metropolis-bold';
    font-size: 105px;
    line-height: 105px;
    text-align: left;
	color: #0e0e0e;
}
span.text-border {
    font-family: 'metropolis-bold';
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #828282;
    color: #fff;
}
#home .link-band {
    text-decoration: none;
}
#home a.link-band:hover .band-category {
    background-color: #000;
    transition: all 0.3s;
}
#home a.link-band:hover h2 {
    color: #fff;
    transition: all 0.3s;
}
#home .band-category {
    padding: 56px 0;
    border-top: 1px solid #000;
}
#home .band-category.last {
    border-bottom: 1px solid #000;
}
#home .band-category h2 {
    font-family: 'metropolis-thin';
    font-size: 105px;
    line-height: 105px;
    text-transform: uppercase;
    color: #000;
}
#home .brand-hp {
    padding: 160px 0;
}
#home .brand-hp h3 {
    font-family: 'metropolis-bold';
    font-size: 35px;
    line-height: 35px;
    text-align: center;
    margin-bottom: 80px;
}
#home .brand-hp .row {
    align-items: center;
}
#home .brand-hp .col-lg-3.first-col-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
#home .brand-hp .col-lg-3.last-col-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
#home .brand-hp .col-lg-6 {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#home .brand-hp .col-lg-3 {
	gap: 104px;
}
#home .brand-hp .col-lg-12 {
    display: flex;
    justify-content: center;
    padding-top: 60px;
}
.img-brand-appear {
    z-index: 2;
    position: relative;
    overflow: hidden;
}
.img-brand-appear img {
    position: absolute;
    width: 460px;
    height: 100%;
    left:0;
}

.fade-brand {
    position: absolute;
    top: -100%;
    transition: all 0.5s;
}
#cutler-img {
    position: unset;
}
.fade-brand.active {
    display: block;
    top:0;
    z-index: 1111;
}
.inactive {
    z-index: -1 !important;
    top:-100%;
    transition: all 0.5s;
}

a.btn-black, button.btn-black {
	display: inline-block;
	font-family: 'Metropolis-bold';
    font-size: 15px;
    line-height: 15px;
    text-transform: uppercase;
    text-decoration: none;
	padding: 24px 40px;
	color:#000;
    background-color: #fff;
    border: 1px solid #000;
}
a.btn-black:hover {
    background: #000;
    color: #fff;
    transition: all 0.3s;
}
a.btn-white, button.btn-white {
    display: inline-block;
	font-family: 'Metropolis-bold';
    font-size: 15px;
    line-height: 15px;
    text-transform: uppercase;
    text-decoration: none;
	padding: 24px 40px;
	color:#fff;
    background-color: #000;
    border: 1px solid #fff;
}
a.btn-white:hover, button.btn-white:hover {
    background: #fff;
    color: #000;
    transition: all 0.3s;
}
#home .first-active {
    opacity: 0.6;
}
#home .first-active .linea.left {
    animation: lineleft 0.5s linear forwards;
}
#home .logo-brand {
    position: relative;
}
#home .logo-brand:hover {
    opacity: 0.6;
    transition: all 0.3s;
}
#home .linea {
    width: 0;
    height: 1px;
    background: #000;
    position: absolute;
    top: 50%;
    animation: none;
}
#home .logo-brand:hover .linea.left,
#home .logo-brand.active .linea.left {
    animation: lineleft 0.5s linear forwards;
}
@keyframes lineleft {
    from {
      left:calc(100% + 15px);
      width:0%;
    }
    to {
      left:calc(100% + 15px);
      width:90%;
    }
}
#home .logo-brand:hover .linea.right,
#home .logo-brand.active .linea.right {
    animation: lineright 0.5s linear forwards;
}
@keyframes lineright {
    from {
      right:calc(100% + 15px);
      width:0%;
    }
    to {
      right:calc(100% + 15px);
      width:90%;
    }
}

#home .bg-black.store-hp {
    padding: 190px 0 240px;
}
#home .store-hp .review .row {
    align-items: flex-start;
}
#home .store-hp .row.discover-store {
    align-items: flex-end;
}
#home .store-hp .row.discover-store .col-lg-4 {
    max-width: 310px;
}
#home .store-hp h3.title-store {
    font-family: 'metropolis-bold';
    font-size: 105px;
    line-height: 105px;
    letter-spacing: 0.4px;
	margin-bottom:0;
}
#home .store-hp p.description-store {
    font-family: 'metropolis-thin';
    font-size: 16px;
    line-height: 16px;
    color: #CECECE;
}

/*SWIPER*/

#home .carousel-container {
    position: relative;
    margin-top: 160px;
    margin-bottom: 285px;
    padding-left: 16%;
}
#home .carousel-container .swiper {
    width: 100%;
    height: 100%;
    padding-top: 50px;
}
#home .swiper-custom-desktop .swiper-wrapper {
    gap: 58px;
    align-items: center;
}
#home .swiper-custom-desktop .swiper-wrapper .swiper-slide {
    height: auto;
}
#home .swiper-custom-desktop .swiper-slide.first-slide {
    width: 37.9% !important;
}
#home .swiper-custom-desktop .swiper-slide.second-slide {
    width: 55.5% !important;
}
#home .swiper-custom-desktop .swiper-slide.third-slide {
    width: 57.5% !important;
}
#home .swiper-custom-desktop .swiper-slide.fourth-slide {
    width: 45.5% !important;
}
#home .swiper-custom-desktop .swiper-slide.five-slide {
    width: 47% !important;
}
#home .swiper-custom-desktop .swiper-slide.six-slide {
    width: 50px !important;
}
#home .swiper-custom-desktop .swiper-slide img {
    width: 100%;
}
.swiper-button-disabled {
    opacity: 0.6;
}
#home .carousel-container .swiper-button-prev-desk {
    top: 0 !important;
    right: 11% !important;
    left: auto !important;
    width: 12px !important;
    height: 20px !important;
    position: absolute;
    z-index: 2;
}
#home .carousel-container .swiper-button-next-desk {
    top: 0 !important;
    right: 9% !important;
    left: auto !important;
    width: 12px !important;
    height: 20px !important;
    position: absolute;
    z-index: 2;
}
#home .carousel-container .swiper-button-next-desk::after, #home .carousel-container .swiper-button-prev-desk::after {
    content: '' !important;
    background-image: url('../img/next-navigation.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    width: 12px;
    height: 20px;
}
#home .carousel-container .swiper-button-next-mob::after, #home .carousel-container .swiper-button-prev-mob::after {
    content: '' !important;
    background-image: url('../img/next-navigation.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    width: 8px;
    height: 12px;
}
#home .carousel-container .swiper-button-prev-desk::after {
    transform: rotate(180deg);
}
#home .carousel-container .swiper-button-prev-mob::after {
    transform: rotate(180deg);
}

/*REVIEWS*/

#home .vote {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 22px;
    line-height: 22px;
    margin-bottom: 24px;
}
#home span.big-review {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 38px;
    line-height: 38px;
}
#home .text-based {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    color: #CECECE;
    margin-bottom: 16px;
}
#home .swiper-review .swiper-slide {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
#home .swiper-review .img-quote {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 75px;
    line-height: 75px;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #cecece;
    color: #000;
    height: 80px;
}
#home .swiper-review .text-quote {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 33px;
    line-height: 35px;
    margin-bottom: 42px;
}
#home .swiper-pagination-review {
    display: flex;
    align-items: center;
    padding-left: 55px !important;
}
#home .swiper-pagination-review span.swiper-pagination-bullet {
    background: #fff;
    width: 6px;
    height: 6px;
    opacity: 1;
    margin: 0 4px !important;
}
#home .swiper-pagination-review .swiper-pagination-bullet-active {
    width: 10px !important;
    height: 10px !important;
}

/*INSTAGRAM WALLET*/

#home .bg-white.instagram {
    border-top: 1px solid #fff;
    padding: 56px 0px;
}
#home .bg-white.instagram:hover {
    background-color: #000 !important;
    transition: 0.3s;
}
#home .instagram .marquee-wrapper {
    width: 100vw;
    overflow: hidden;
}
#home .marquee-wrapper .marquee {
    width: fit-content;
    white-space: nowrap;
    display: flex;
    align-items: center;
    column-gap: 120px;
    position: relative;
    transform: translate3d(0, 0, 0);
    animation: marquee 15s linear infinite;
}
@keyframes marquee {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      transform: translate3d(-50%, 0, 0);
    }
  }
#home .instagram .point {
    width: 18px;
    height: 18px;
    background: #000;
    border-radius: 100%;
}
#home .instagram .text-normal {
    font-family: 'metropolis-thin';
    font-size: 105px;
    line-height: 105px;
    text-transform: uppercase;
}
#home .instagram .text-shape {
    font-family: 'metropolis-bold';
    font-size: 105px;
    line-height: 105px;
    text-transform: uppercase;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #828282;
    color: #fff;
}
#home .bg-white.instagram:hover .point {
    background: #fff;
    transition: 0.3s;
}
#home .bg-white.instagram:hover .text-normal {
    color: #fff;
    transition: 0.3s;
}
#home .bg-white.instagram:hover .text-shape {
    -webkit-text-stroke-color: #fff;
    color: #000;
    transition: 0.3s;
}
#home .bg-white.wallet-instagram {
    padding: 0px 0 150px;
}
#home .bg-white.wallet-instagram .container {
    padding-top: 120px;
}
#home .bg-white.wallet-instagram .container .row {
    justify-content: center;
}

/*PLUGIN IG*/
.insta-gallery-feed[data-feed_layout=carousel] .insta-gallery-list, [data-feed_layout=carousel].qligg-mfp-wrap .insta-gallery-list {
    height: 350px !important;
}
.insta-gallery-image-wrap {
    height: 350px;
}
.insta-gallery-item {
    height: 350px;
}
/**/

.submit-nl {
    display: flex;
    flex-direction: column;
    max-width: 153px;
    margin: auto;
}
#home h3.title-newsletter {
    font-family: 'metropolis-bold';
    font-size: 35px;
    line-height: 35px;
    color: #0E0E0E;
    margin-bottom: 80px;
    text-align: center;
}
#home #wpcf7-f50-o1 {
    max-width: 464px;
    margin: auto;
}
#home #wpcf7-f50-o1 .email-nl {
    margin-bottom: 40px;
    position: relative;
}
.email-nl label {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 0px;
    text-align: left;
    position: absolute;
    bottom: 19px;
    cursor: text;
}
#home #wpcf7-f50-o1 .privacy-nl {
    display: flex;
    align-items: center;
    gap: 24px;
    font-family: 'metropolis-regular';
    font-size: 14px;
    line-height: 14px;
	text-align: left;
    color: #4F4F4F;
    margin-bottom: 50px;
}
#home #wpcf7-f50-o1 span.wpcf7-list-item {
    margin-left: 0;
}
span.wpcf7-spinner {
    display: flex;
    height: 0;
}
#home input[type="email"] {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.7);
    width: 100%;
    padding: 0 0 16px 0;
    font-family: 'metropolis-regular';
    font-size: 16px;
    line-height: 16px;
    text-transform: uppercase;
    color: #000;
    height: 35px;
    background:transparent;
}
#home input[type="checkbox"] {
    min-width: 24px;
    height: 24px;
    accent-color: #000;
}
#home input[type="submit"] {
    font-family: 'metropolis-bold';
    font-size: 15px;
    line-height: 15px;
    text-transform: uppercase;
    color: #000;
    border: 1px solid #000;
    padding: 24px 40px;
    background: transparent;
}
#home input[type="submit"]:hover {
    background: #000;
    color: #fff;
    transition: all 0.5s;
}
span.wpcf7-not-valid-tip,
.wpcf7-response-output {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 13px;
    text-align: left;
}
input:focus {
    outline: none;
}
.modal .wpcf7-submit:hover {
    background: #000;
    color: #fff;
    transition: all 0.3s;
}


/*PAGE ABOUT*/

/*ABOUT DETAIL*/

#about .about-detail {
    padding: 160px 0;
    color: #fff;
}

#about .about-detail h1 {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 100px;
    line-height: 100px;
    color: #FFFFFF;
}

/*DESCRIPTION JOB*/

#about .description-job .img-gemin .bg-image-gemin {
    height: 100%;
    max-width: 90%;
}
#about .description-job .img-gemin .bg-image-gemin img {
    max-width: 100%;
}
#about .description-job h2.title-name {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 40px;
    line-height: 40px;
    color: #FFFFFF;
    margin-bottom: 40px;
}
#about .accordion-col p.description-gemin {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 15px;
    line-height: 18px;
    color: #AEAEAE;
    max-width: 464px;
    margin-bottom: 45px;
}
#about #accordionFlushExample {
    max-width: 584px;
    width: 100%;
}
#about h2.accordion-header {
    margin: 0;
}
#about .accordion-item {
    border-top: none !important;
    border-bottom: 1px solid #828282;
}
#about .accordion-button {
    font-family: 'metropolis-medium';
    font-weight: 600;
    font-size: 15px;
    line-height: 15px;
    padding: 20px 10px;
    border: none !important;
    box-shadow: none;
}
#about #accordionFlushExample button.accordion-button:after {
    width: 12px;
    height: 8px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url('../img/icon-accordion.svg');
}
#about .accordion-body {
    background: #000;
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #ccc;
    padding: 0px 10px 20px;
}

/*NUMBER*/

#about .number-job.bg-black {
    padding: 120px 0 80px;
    display: flex;
    flex-direction: column;
    gap: 47px;
}
#about .number-job .container-number {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 49px;
}
#about .number-job .container-number .number {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 220px;
    line-height: 220px;
    color: #FFFFFF;
    max-height: 130px;
    overflow: hidden;
    min-width: 295px;
    text-align: left;
}
#about .number-job .title-number {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 40px;
    line-height: 40px;
    color: #AEAEAE;
    min-width: 335px;
}

/*CTA ABOUT*/

#about .cta-about.bg-black {
    justify-content: center;
    text-align: center;
    padding-bottom: 122px;
}
#about .about-detail.bg-black .row,
#about .description-job.bg-black .row {
    margin: 0;
}
#about .about-detail.bg-black .col-lg-9,
#about .description-job .col-md-6.img-gemin.desktop,
#about .description-job .col-md-5.accordion-col {
    padding: 0;
}
#about .cta-about p {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    color: #AEAEAE;
    margin-bottom: 56px;
}

/*NEW EXPERIENCE*/

#about .new-experience {
    padding: 120px 0;
    background: #fff;
}
#about .new-experience .col-md-12 {
    justify-content: flex-start;
    text-align: center;
}
#about .new-experience h2 {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 40px;
    line-height: 44px;
    text-align: center;
    color: #000000;
    margin-bottom: 120px;
}
#about .new-experience .col-md-4 {
    border-left: 1px solid #5E5656;
    padding: 24px;
}
#about .new-experience .col-md-4.last {
    border-right: 1px solid #5E5656;
}
#about .new-experience .col-md-4 h5 {
    font-family: 'metropolis-medium';
    font-weight: 600;
    font-size: 23px;
    line-height: 23px;
    color: #000000;
    margin-bottom: 24px;
}
#about .new-experience p {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 15px;
    line-height: 18px;
    color: #020202;
    margin-bottom: 0;
}
#about .new-experience a.btn-black {
    margin-top: 56px;
}
#about .col-md-12.appointment {
    padding-top: 55px;
}
.container-response {
    display: none;
    padding: 150px 50px;
}
.container-response h3 {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 24px;
    line-height: 24px;
    text-align: center;
    color: #000000;
    margin-bottom: 24px;
}
.container-response p {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    color: #000000;
}

/*PAGE BRANDS*/

#brands .brands-detail {
    padding: 160px 0;
}
#brands .brands-detail h1 {
    font-family: 'metropolis-bold';
    font-size: 105px;
    line-height: 105px;
    text-align: center;
    color:#0E0E0E;
}
#brands .col-lg-4.first.left {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 200px 60px;
}
#brands .col-lg-4.first.central {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 200px 60px;
}
#brands .col-lg-4.first.right {
    border-top: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 200px 60px;
}
#brands .bg-phrase {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}
#brands .col-lg-4.first.right.img-bg {
    background-image: url('../img/bg-page-brand.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#brands .phrase-brand {
    font-family: 'metropolis-bold';
    font-size: 35px;
    line-height: 35px;
    color: #fff;
}

@media screen and (min-width:768px){
    .mobile {
        display: none;
    }
}
@media screen and (min-width:1501px) and (max-width:1700px){
    #home .carousel-container {
        padding-left: 10%;
    }
}
@media screen and (min-width:1401px) and (max-width:1500px){
    #home .carousel-container {
        padding-left: 4%;
    }
}
@media screen and (min-width:1201px) and (max-width:1400px){
    #home .carousel-container {
        padding-left: 6%;
    }
}
@media screen and (min-width:992px) and (max-width:1200px){
    #home .band-category h2 {
        font-size: 90px;
        line-height: 90px;
    }
    #home .store-hp h3.title-store {
        font-size: 85px;
        line-height: 85px;
    }
    #home .carousel-container {
        padding-left: 5%;
    }
}
@media screen and (min-width:768px) and (max-width:991px){
    #home .brand-hp .col-lg-3 {
        gap: 65px;
    }
    #home h1.title-slide {
        font-size: 150px;
        line-height: 150px;
    }
    #home .intro-hp.container {
        padding-top: 110px;
        padding-bottom: 110px;
    }
    #home .intro-hp h1 {
        font-size: 75px;
        line-height: 75px;
    }
    #home .band-category {
        padding: 35px 0;
    }
    #home .band-category h2 {
        font-size: 65px;
        line-height: 65px;
    }
    #home .bg-black.store-hp {
        padding: 130px 0 180px;
    }
    #home .store-hp h3.title-store {
        font-size: 68px;
        line-height: 68px;
    }
    #home .carousel-container {
        margin-top: 110px;
        margin-bottom: 160px;
        padding-left: 9%;
    }
    #home .instagram .text-normal,
    #home .instagram .text-shape {
        font-size: 85px;
        line-height: 85px;
    }
    #about h1.desktop {
        display: block;
        font-size: 75px;
        line-height: 75px;
    }
    #about .col-md-6.img-gemin.desktop {
        display: block;
    }
    #about .description-job h2.title-name {
        font-size: 35px;
        line-height: 35px;
        margin-bottom: 25px;
    }
    #about .accordion-col p.description-gemin {
        margin-bottom: 25px;
    }
    #about .number-job .container-number .number {
        font-size: 180px;
        line-height: 180px;
        max-height: 110px;
    }
    #about .number-job .title-number {
        font-size: 35px;
        line-height: 35px;
    }
    .brands-detail {
        padding: 150px 0 120px;
    }
    #brands .brands-detail h1 {
        font-size:60px;
        line-height:60px;
    }
    #brands .col-lg-4.first.left,
    #brands .col-lg-4.first.central,
    #brands .col-lg-4.first.right {
        padding: 140px 60px;
    }
    .loghi-detail .right {
        border-right: 1px solid #000;
    }
    .upper-footer {
        padding: 80px 0 36px;
    }
    footer .upper-footer .first .first-column,
    footer .upper-footer .first .second-column {
        width: 50% !important;
        float: left;
    }
    footer .upper-footer .first .third-column {
        width: 100% !important;
        margin-top: 30px;
    }
    .upper-footer .row.second {
        align-items: center;
    }
}
@media screen and (min-width:767px){
    #home .swiper.swiper-custom-mobile,
    #home .swiper-button-prev-mob,
    #home .swiper-button-next-mob {
        display:none;
    }
}
@media screen and (max-width:767px){
    .container {
        padding-left: 24px;
        padding-right: 24px;
    }
    #home .opening {
        height: 440px;
        min-height: 440px;
        position: relative;
    }
    #home h1.title-slide {
        font-size: 85px;
        line-height: 85px;
        text-align: left;
        padding-left: 16px;
    }
    #home p.subtitle-slide {
        font-size: 17px;
        line-height: 17px;
        padding-left: 16px;
        margin-bottom: 40px;
    }
    #home .container-text-slide {
        max-width: 100%;
        width: 100%;
        margin-right: 0;
        bottom: 0;
        position: absolute;
    }
    #home .bg-slide-color {
        width: 0;
        padding-left: 0;
    }
    #home .bg-slide {
        width: 100%;
        height: 100%;
    }
    #home .intro-hp h1 {
        font-size: 40px;
        line-height: 40px;
    }
    #home .intro-hp.container {
        padding-top: 40px;
        padding-bottom: 32px;
    }
    #home .band-category h2 {
        font-size: 32px;
        line-height: 32px;
    }
    #home .band-category {
        padding: 24px 0;
    }
    #home .band-category .container {
        padding-left: 28px;
        padding-right: 28px;
    }
    #home .brand-hp {
        padding: 80px 0 64px 0;
    }
    #home .brand-hp .row {
        gap: 35px;
    }
    #home .brand-hp h3 {
        font-size: 24px;
        line-height: 24px;
        margin-bottom: 45px;
    }
    #home .linea.left, #home .linea.right {
        display: none;
    }
    #home .brand-hp .col-lg-3 {
        gap: 45px;
        align-items: center !important;
    }
    #home .brand-hp .col-lg-12 {
        padding-top: 10px;
    }
    #home .brand-hp .col-lg-6 {
		display: none;
	}
	#home .logo-brand, #home .logo-brand img {
		max-width: 165px;
	}
	#home .bg-black.store-hp {
		padding: 80px 0;
	}
    #home .store-hp h3.title-store {
        font-size: 38px;
        line-height: 38px;
        margin-bottom: 20px;
    }
    #home .store-hp p.description-store {
        font-family: 'metropolis-regular';
    }
    #home .swiper.swiper-custom-desktop,
    #home .swiper-button-prev-desk,
    #home .swiper-button-next-desk {
        display:none;
    }
    #home .carousel-container {
        margin-top: 30px;
        margin-bottom: 66px;
        padding-left: 14px;
    }
    #home .swiper-button-prev-mob {
        position: absolute;
        right: 50px;
        z-index: 2;
    }
    #home .swiper-button-next-mob {
        position: absolute;
        right: 25px;
        z-index: 2;
    }
    #home .swiper-custom-mobile .swiper-slide.first-slide {
        width: 85% !important;
    }
    #home .swiper-custom-mobile .swiper-slide.second-slide {
        width: 100% !important;
    }
    #home .swiper-custom-mobile .swiper-slide.third-slide {
        width: 109% !important;
    }
    #home .swiper-slide.fourth-slide {
        width: 80% !important;
    }
    #home .swiper-slide.five-slide {
        width: 90% !important;
    }
    #home .swiper-custom-mobile .swiper-slide img {
        height: auto;
        width: 100%;
    }
    #home .carousel-container .swiper {
        height: 100%;
    }
    #home .swiper-custom-mobile .swiper-wrapper {
        gap: 25px;
        align-items: flex-end;
    }
    #home .store-hp .review .row {
        flex-direction: column-reverse;
        text-align: center;
    }
    #home .swiper-review .swiper-slide {
        flex-direction: column;
        align-items: center;
        gap:0;
    }
    #home .swiper-review .img-quote {
        font-size: 64px;
        line-height: 64px;
        height: 65px;
    }
    #home .swiper-review .text-quote {
        font-size: 24px;
        line-height: 24px;
        margin-bottom: 18px;
    }
    #home .swiper-pagination-review {
        padding-left: 0 !important;
        justify-content: center;
        padding-top: 15px;
    }
    #home .vote {
        margin-top: 58px;
        font-size: 18px;
        line-height: 18px;
        margin-bottom: 8px;
    }
    #home span.big-review {
        font-size: 24px;
        line-height: 24px;
    }
    #home .bg-white.instagram {
        padding: 24px 0px;
    }
    #home .marquee-wrapper .marquee {
        column-gap: 40px;
    }
    #home .instagram .text-normal,
    #home .instagram .text-shape {
        font-size: 32px;
        line-height: 32px;
    }
    #home .instagram .point {
        width: 8px;
        height: 8px;
    }
    .insta-gallery-feed.insta-gallery-square .insta-gallery-list .insta-gallery-item {
        width: 50% !important;
    }
    #home .bg-white.wallet-instagram .container {
        padding-top: 55px;
    }
    #home h3.title-newsletter {
        font-size: 24px;
        line-height: 24px;
    }
    #home .bg-white.wallet-instagram {
        padding: 0px 0 80px;
    }
    #brands .brands-detail h1 {
        font-size:35px;
        line-height:35px;
    }
    #brands .loghi-detail .left, .loghi-detail .central, .loghi-detail .right {
        border-right: none !important;
        padding: 140px 0 !important;
    }
    #brands .bg-phrase {
        padding: 106px 24px 56px;
        min-height: 300px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    /*MOBILE ABOUT*/
    #about .about-detail {
        padding: 136px 0 56px;
    }
    #about .about-detail h1 {
        font-size: 40px;
        line-height: 40px;
    }
    #about .description-job h2.title-name {
        font-size: 24px;
        line-height: 24px;
        margin-bottom: 24px;
        padding-left: 24px;
        padding-right: 24px;
    }
    #about .accordion-col p.description-gemin {
        margin-bottom: 56px;
        padding-left: 24px;
        padding-right: 24px;
    }
    #about .description-job img.mobile {
        max-width: 100%;
        margin-bottom: 30px;
    }
    #about #accordionFlushExample {
        padding-left: 24px;
        padding-right: 24px;
    }
    #about .number-job.bg-black {
        padding: 80px 0;
        gap: 64px;
    }
    #about .number-job .container-number {
        align-items: center;
        gap: 23px;
        flex-direction: column;
        text-align: center;
    }
    #about .number-job .container-number .number {
        font-size: 120px;
        line-height: 120px;
        max-height: 76px;
        min-width: auto;
    }
    #about .number-job .title-number {
        font-size: 35px;
        line-height: 35px;
    }
    #about .cta-about p {
        margin-bottom: 40px;
    }
    #about .new-experience {
        padding: 56px 0 64px;
    }
    #about .new-experience h2 {
        font-size: 24px;
        line-height: 24px;
        margin-bottom: 25px;
    }
    #about .new-experience .row {
        margin: 0;
        text-align: center;
    }
    #about .new-experience .col-md-4 {
        border-left: none;
        padding: 0 0 40px;
        border-bottom: 1px solid #5E5656;
    }
    #about .new-experience .col-md-4.last {
        border-right: none;
        border-bottom: none;
        padding-bottom: 10px;
    }
    #about .new-experience .col-md-4 h5 {
        font-size: 18px;
        line-height: 18px;
        margin-bottom: 16px;
        margin-top: 30px;
    }
    #about .new-experience p {
        font-size: 16px;
    }
}

/* OCCHIALI DA SOLE */

#occhiali-sole .hero-sole {
    height: 100vh;
    max-height: 688px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-image: url('../img/bg-occhiali-sole.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.hero-sole .line-title {
    display: block;
    background: #fff;
    width: 100%;
    min-height: 1px;
    margin-bottom: 80px;
}
.hero-sole .title-page h1 {
    font-family: 'metropolis-bold';
    font-size: 100px;
    line-height: 100px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 24px;
}
#occhiali-sole .intro-description {
    padding: 120px 0 120px;
}
#occhiali-sole .intro-description h2 {
    font-size: 38px;
    font-family: 'metropolis-bold';
    line-height: 40px;
    color: #000000;
}
.products-section {
    display: flex;
}
.products-section .cover-black {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.1);
}
#occhiali-vista .col-md-6.bg-brand,
#occhiali-sole .col-md-6.bg-brand {
    position: sticky;
    top:0;
    height: 100vh;
}
.change-img-brand {
    height: 100vh;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top:100vh;
    transition: all 0.5s;
}
.change-img-brand.active {
    top:0;
}
.change-img-brand.always {
    top:0 !important;
}
#occhiali-vista .linea,
#occhiali-sole .linea {
    width: 95px;
    height: 2px;
    background: #fff;
}
#occhiali-vista .logo-single-brand,
#occhiali-sole .logo-single-brand {
    display: flex;
    align-items: center;
    gap: 27px;
    position: absolute;
    z-index: 2;
    right: 0;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.logo-single-brand img {
    max-width: 250px;
    min-width: 205px;
}
.bg-black.outro-description {
    padding: 200px 0 160px;
}
.outro-description p {
    font-family: 'metropolis-bold';
    font-size: 70px;
    line-height: 70px;
    letter-spacing: 0.01em;
}

/* OCCHIALI DA VISTA */

#occhiali-vista .hero-vista {
    height: 100vh;
    max-height: 688px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-image: url('../img/bg-occhiali-vista.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.hero-vista .line-title {
    display: block;
    background: #fff;
    width: 100%;
    min-height: 1px;
    margin-bottom: 80px;
}
.hero-vista .title-page h1 {
    font-family: 'metropolis-bold';
    font-size: 100px;
    line-height: 100px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 24px;
}
#occhiali-vista .intro-description {
    padding: 120px 0 120px;
}
#occhiali-vista .intro-description h2 {
    font-size: 38px;
    font-family: 'metropolis-bold';
    line-height: 40px;
    color: #000000;
}
.container-products .products {
    display: flex;
    flex-wrap: wrap;
}
#occhiali-vista .novita,
#occhiali-sole .novita {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-top: 1px solid #000;
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    text-align: center;
    padding: 0 10px;
    color: #000;
}
.container-products .products li {
    display: flex;
    align-items: center;
    list-style: none;
    width: 50%;
    cursor: pointer;
    height: 50vh;
    min-height: 300px;
}
.container-products .products li a img {
    height: auto;
    max-width: 375px;
    width: 100%;
}
.container-products .products li img:nth-of-type(2) {
    display: none;
    width: 100%;
    height: auto;
    max-width: 375px;
}
.container-products .products li:hover img:nth-of-type(2) {
    display: block;
    transition: 0.5s;
    transition-timing-function: linear;
}
.container-products .products li:hover img:nth-of-type(1) {
    display: none;
    transition: 0.5s;
    transition-timing-function: linear;
}
.container-products .products a.button.wp-element-button.product_type_simple {
    display: none;
}
#occhiali-vista li.product.type-product,
#occhiali-sole li.product.type-product {
    position: relative;
}
.products-section .card-single-product {
    height: 100%;
    width: 100%;
    position: relative;
}
.products-section .card-single-product a {
    display: flex;
    min-height: 300px;
    flex-direction: column;
    align-items: center;
}
.products-section h2.woocommerce-loop-product__title {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    text-align: center;
    text-decoration: none;
    position: absolute;
    bottom: 40px;
    padding: 0 10px;
    color: #000;
}
.container-products .products li:hover a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    color:#000;
}
.container-products .products li:nth-child(2n+1) {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
}
.container-products .products li:nth-child(2n+0) {
    border-top: 1px solid #000;
}

/*SINGLE PRODUCT*/

#section-product-custom .col-md-6.container-scrolling {
    padding-left: 0;
}
#section-product-custom .container-image-product {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: sticky;
    top: 0;
}
#section-product-custom .wrapper {
    margin: 0 auto;
    padding-left: 45px;
    width: 100%;
    /* height: 100vh;
    overflow: auto;
    scroll-snap-points-y: repeat(300px);
    scroll-snap-type: y mandatory;
    scroll-snap-type: mandatory; */
}
#section-product-custom .wrapper-single-detail {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    /* scroll-snap-align: start;
    scroll-snap-stop: always; */
}
#section-product-custom h1.product_title.entry-title {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 70px;
    line-height: 70px;
    color: #000000;
}
#section-product-custom .title-scroll {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 17px;
    line-height: 17px;
    text-transform: uppercase;
    color: #000;
    position: absolute;
    bottom: 63px;
}
.black-dot{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: black;
    font-size: 0; 
}
article {
    position: relative;
    margin: 0 auto;
}
.timeline__line {
    height: 100%;
    position: absolute;
    border: 1px solid black;
}

.timeline__nav {
    position: fixed;
    z-index: 99;
    top: 0;
    /* -webkit-transition: top .3s ease-out; */
    /* transition: top .3s ease-out; */
}
.timeline__nav ul {
    list-style: none;
    list-style-position: inside;
    margin: 15px -9px;
    padding: 0;
}
.timeline__nav ul li {
    opacity: 0;
    margin: 15px 0;
    padding-left: 0;
    list-style-type: none;
    color: #bfc1c3;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
    cursor: pointer;
    /* -webkit-transition: all .3s ease-out; */
    /* transition: all .3s ease-out; */
}
.timeline__nav ul li.active {
    opacity: 1;
    font-weight: bold;
    color: #f94125;
    border-bottom: 1px dotted transparent;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.timeline__nav ul li:hover {
    color: #000;
}

/**/

#section-product-custom .product.type-product {
    padding-bottom: 120px;
}
#section-product-custom .container-external {
    height: 104vh;
    overflow: auto;
    scroll-snap-points-y: repeat(300px);
    scroll-snap-type: y mandatory;
    scroll-snap-type: mandatory;
}
#section-product-custom .second-row .col-md-6.offset-md-6,
#section-product-custom .third-row .col-md-6.offset-md-6,
#section-product-custom .fourth-row .col-md-6.offset-md-6 {
    border-left: 1px solid;
    height: 100vh;
    align-items: center;
    display: flex;
}
#section-product-custom .row.first-row {
    position: relative;
    padding-top: 80px;
    height: 88vh;
    align-items: center;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
#section-product-custom .row.second-row,
#section-product-custom .row.third-row,
#section-product-custom .row.fourth-row {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
#section-product-custom .img-product-custom img {
    max-width: 100%;
}
.wrapper-details {
    position: relative;
}
.circle-scroll {
    width: 24px;
    height: 24px;
    background: #000;
    border-radius: 100%;
    position: absolute;
    margin-left: -12px;
    bottom:30px;
    left: 50%;
}
.technical-features,
.materials,
.perfect-for {
    padding-left: 20px;
}
#section-product-custom h2.title-details-product,
#section-product-custom h2.title-cta-product {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 38px;
    line-height: 38px;
    color: #000000;
    margin-bottom: 35px;
}
#section-product-custom p.description-details-product {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    color: #000000;
    opacity: 0.7;
    margin-bottom: 0;
    width: 100%;
    max-width: 342px;
}
p.description-cta {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    color: #000000;
    margin-bottom: 56px;
    width: 100%;
    max-width: 512px;
}
#section-product-custom .cta-product-outro {
    padding: 120px 0;
    text-align: center;
    scroll-snap-align: start;
}
#section-product-custom .cta-product-outro h3 {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 38px;
    line-height: 38px;
    color: #000000;
    letter-spacing: 0.4px;
    margin-bottom: 40px;
}
#section-product-custom .cta-product-outro p {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    color: #000000;
    max-width: 512px;
    margin: 0 auto 56px;
}
#section-product-custom .cta-product-outro button.btn-black.modale {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 16px;
    line-height: 16px;
    text-transform: uppercase;
    color: #000;
    border: 1px solid #000;
    padding: 24px 40px;
}
.modal-dialog.modal-dialog-centered {
    margin: 0 auto;
}
.modal-content {
    border: none;
    border-radius: 0;
}
.modal-dialog.modal-dialog-centered {
    text-align: left;
}
.modal-header {
    border: none;
    padding: 21px 21px 5px;
}
.modal-body {
    padding: 0 24px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.modal-header button.btn-close {
    opacity: 1;
    width: 15px;
    height: 15px;
    padding: 0;
    margin-top:0;
    margin-left: auto;
    background-image: url('../img/close-popup.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
p.title-popup,
#about p.title-popup {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 22px;
    line-height: 22px;
    margin-bottom: 22px;
}
p.description-popup,
#about p.description-popup {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    color: #000000;
    margin-bottom: 40px;
}
.wpcf7 p,
#about .wpcf7 p {
    margin-bottom: 0;
}
.modal label, .modal input {
    width: 100%;
}
.modal label.name,
.modal label.telephone,
.modal label.age {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 12px;
    line-height: 12px;
    text-transform: uppercase;
    color: #828282;
    margin-bottom: 0px;
    text-align: left;
    position: absolute;
    bottom: 15px;
    cursor: text;
}
.modal input#name-surname,
.modal input#phone,
.modal input#age,
.modal input#phone,
.modal .wpcf7-text,
.modal .wpcf7-number,
.modal .wpcf7-tel {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    text-transform: uppercase;
    color: #000;
    height: 24px;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #828282;
    padding: 0 0 6px;
    background: transparent
}
.modal .col-md-6,
.modal .col-md-12 {
    margin-bottom: 38px;
    position: relative;
}
.modal .col-md-12.submit {
    margin-bottom: 0;
}
span.wpcf7-list-item {
    margin-left: 0;
}
input[type="checkbox"] {
    accent-color: #000;
}
.modal input[type="checkbox"] {
    width: 24px;
    height: 24px;
    border: 1px solid #828282;
}
.modal .privacy span,
.modal label.privacy {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 12px;
    line-height: 12px;
    color: #333333;
}
.modal label.privacy {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0px;
    text-align: left;
}
.col-md-12.col-privacy {
    display: flex;
    align-items: center;
    gap: 12px;
}
.modal input#submit-popup,
.modal .wpcf7-submit {
    border: 1px solid #000;
    padding: 24px;
    background: #fff;
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 17px;
    line-height: 17px;
    text-transform: uppercase;
}
p.text-privacy,
#about p.text-privacy {
    margin-bottom: 0;
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 12px;
    line-height: 12px;
    color: #333333;
}
.text-privacy a:hover {
    opacity: 0.7;
    color: #333;
}

#section-product-custom .time-line-box {
    position: relative;
}
#section-product-custom .img-single-product {
    position: absolute;
    width: 50%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#section-product-custom .img-single-product img {
    width: 100%;
    max-width: 720px;
}
#section-product-custom .swiper-container {
    width: 100vw;
    position: relative;
    margin-bottom: 120px;
}
#section-product-custom .swiper-container::before {
    content: '';
    width: 24px;
    height: 24px;
    border-radius: 100%;
    background: #000;
    position: sticky;
    left: calc(50% - 12px);
    top: 50%;
    display: flex;
}
#section-product-custom .swiper-wrapper {
    flex-direction: column;
    height: 100vh;
    overflow: auto;
    scroll-snap-points-y: repeat(300px);
    scroll-snap-type: y mandatory;
    scroll-snap-type: mandatory;
    margin-top: -24px;
}
#section-product-custom .swiper-slide {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    width: fit-content;
    padding-right: 100px;
}
#section-product-custom .swiper-slide.first,
#section-product-custom .swiper-slide.second,
#section-product-custom .swiper-slide.third,
#section-product-custom .swiper-slide.fourth {
    padding-left: calc(50% + 40px);
}
#section-product-custom .swiper-slide .container-slide {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}
#section-product-custom .swiper-slide.first .container-slide:before {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    background: #000;
    top: 50%;
    left: -40px;
}
#section-product-custom .swiper-slide.second .container-slide:before,
#section-product-custom .swiper-slide.third .container-slide:before {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    background: #000;
    top: 0%;
    left: -40px;
}
#section-product-custom .swiper-slide.fourth .container-slide:before {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    background: #000;
    top: 0%;
    left: -40px;
}
#section-product-custom .container.cta-product {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 120px;
}
#section-product-custom .container.cta-product .row .col-md-8 {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center;
}
#section-product-custom .swiper-slide.first .container-slide p.scroll-horiz {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 18px;
    line-height: 18px;
    text-transform: uppercase;
    color: #000000;
    position: absolute;
    bottom: 50px;
}
@media screen and (min-width:1600px){
    .container-products .products li {
        height: 33.33vh;
    }
}
@media screen and (min-width:992px) and (max-width:1200px){
    #section-product-custom h1.product_title.entry-title {
        font-size: 80px;
        line-height: 80px;
    }
    #section-product-custom .swiper-slide {
        padding-right: 35px;
    }
}
@media screen and (min-width:768px) and (max-width:991px){
    #section-product-custom h1.product_title.entry-title {
        font-size: 60px;
        line-height: 60px;
    }
    #section-product-custom .swiper-slide {
        padding-right: 35px;
    }
    .outro-description p {
        font-size: 55px;
        line-height: 55px;
    }
    .bg-black.outro-description {
        padding: 130px 0 80px;
    }
    .container-products .products li {
        height: 230px;
        min-height: auto;
    }
    .container-products .products li a img {
        padding-top: 20px;
    }
    .products-section h2.woocommerce-loop-product__title {
        bottom: 20px;
    }
}
@media screen and (min-width:768px){
    #mobile-single-product {
        display: none;
    }
    .products-mobile {
        display: none;
    }
}
@media screen and (max-width:767px){
    .products-mobile .img-bg-brand {
        height: 300px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .products-mobile .img-bg-brand img {
        max-width: 205px;
    }
    .products-mobile li:hover a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
        color:#000;
    }
    .products-mobile li a img {
        height: auto;
    }
    .products-mobile li img:nth-of-type(2) {
        display: none;
        width: 100%;
        height: 100%;
    }
    .products-mobile li:hover img:nth-of-type(2) {
        display: block;
        transition: 0.5s;
        transition-timing-function: linear;
    }
    .products-mobile li:hover img:nth-of-type(1) {
        display: none;
        transition: 0.5s;
        transition-timing-function: linear;
    }
    .products-mobile .card-single-product a.button.wp-element-button.product_type_simple {
        display: none;
    }
    .products-mobile .card-single-product {
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
    }
    .products-mobile .card-single-product a {
        height: auto;
        display: flex;
        justify-content: center;
    }
    .products-mobile h2.woocommerce-loop-product__title {
        font-family: 'metropolis-regular';
        font-weight: 400;
        font-size: 16px;
        line-height: 16px;
        text-align: center;
        text-decoration: none;
        position: absolute;
        bottom: 40px;
        padding: 0 20px;
    }
    .container-brand {
        display: flex;
        flex-wrap: wrap;
    }
    #occhiali-vista .hero-vista,
    #occhiali-sole .hero-sole {
        height: auto;
        max-height: 480px;
        min-height: 480px;
    }
    #occhiali-vista .hero-vista {
        background-image: url('../img/bg-hero-vista-mobile.jpg');
    }
    #occhiali-sole .hero-sole {
        background-image: url('../img/bg-hero-sole-mobile.jpg');
    }
    .hero-vista .title-page h1,
    .hero-sole .title-page h1 {
        font-size: 40px;
        line-height: 40px;
    }
    .hero-vista .line-title,
    .hero-sole .line-title {
        margin-bottom: 65px;
    }
    #occhiali-vista .intro-description h2,
    #occhiali-sole .intro-description h2 {
        font-size: 24px;
        line-height: 28px;
    }
    #occhiali-vista .intro-description,
    #occhiali-sole .intro-description {
        padding: 40px 0 66px;
    }
    .products-section {
        display: none;
    }
    #occhiali-vista .linea,
    #occhiali-sole .linea {
        display: none;
    }
    .change-img-brand {
        justify-content: center;
    }
    #occhiali-vista .logo-single-brand,
    #occhiali-sole .logo-single-brand {
        max-width: 215px;
    }
    .change-img-brand {
        height: 400px;
    }
    #occhiali-vista .outro-description p,
    #occhiali-sole .outro-description p {
        font-size: 40px;
        line-height: 40px;
        color: #000;
    }
    #occhiali-vista .bg-black.outro-description,
    #occhiali-sole .bg-black.outro-description {
        padding: 80px 0 80px;
        background: #fff !important;
    }
    #occhiali-vista span.text-border.white,
    #occhiali-sole span.text-border.white {
        font-family: 'metropolis-bold';
        -webkit-text-stroke-color: #828282;
        color: #fff;
    }
    #section-product-custom {
        display: none;
    }
    .modal input#name-surname,
    .modal input#phone,
    .modal input#age,
    .modal input#phone,
    .modal .wpcf7-text,
    .modal .wpcf7-number {
        font-size: 14px;
        line-height: 14px;
    }
    .modal input#submit-popup,
    .modal .wpcf7-submit {
        padding: 18px;
    }
    .modal .col-md-6,
    .modal .col-md-12 {
        margin-bottom: 30px;
    }
    #about p.description-popup,
    #mobile-single-product p.description-popup {
        margin-bottom: 25px;
    }
    #mobile-single-product .time-line-box {
        height: 100%; 
        padding: 0;
        width: 100%;
    }
    #mobile-single-product .time-line-box .timeline {
        list-style-type: none;
        display: flex;
        padding: 0;
        text-align: center;
    }
    #mobile-single-product .swiper-container {
        width: 100%; 
        margin: auto;
        overflow-y: auto;
    }
    #mobile-single-product .swiper-wrapper{
        display: inline-flex;
        flex-direction: row;
        padding-top: 255px;
        padding-bottom: 75px;
        width: 100vw;
        overflow: auto;
        scroll-snap-points-x: repeat(300px);
        scroll-snap-type: x mandatory;
        scroll-snap-type: mandatory;
    }
    .swiper-container::-webkit-scrollbar-track{
        display: none;
    }
    .swiper-container::-webkit-scrollbar{
        display: none;
    }
    .swiper-container::-webkit-scrollbar-thumb{
        display: none;
    }
    .container-horiz-scroll {
        width: 100vh;
        height: 100vw;
        transform: rotate(-90deg) translateX(-100vh);
        transform-origin: top left;
        overflow-x: hidden;
        display: flex;
        flex-direction: column;
    }
    #mobile-single-product {
        height: 100vh;
        max-height: 665px;
    }
    #mobile-single-product .empty-space {
        min-height: 260px;
    }
    #mobile-single-product img.image-custom-product {
        position: absolute;
        padding-top: 15px;
        width: 400px;
        left: 50%;
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        top: 70px;
    }
    #mobile-single-product ::-webkit-scrollbar {
      width: 1px;
      height: 1px;
    }
    
    #mobile-single-product ::-webkit-scrollbar-button {
      width: 1px;
      height: 1px;
    }
    
    #mobile-single-product .horizontal-scroll {
        display: flex;
        flex-direction: row;
        width: 500vw;
        transform: rotate(90deg) translateY(-100vh);
        transform-origin: top left;
        padding-top: 50px;
    }
    #mobile-single-product .horizontal-scroll-container{
        width: 100vw;
        height: 100vh;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column;
        /* padding-top: 265px; */
        padding-bottom: 75px;
    }
    #mobile-single-product .title-slider {
        width: 100%;
    }
    #mobile-single-product .swiper-slide {
        text-align: center;
        font-size: 12px;
        width: 100%;
        height: 100%;
        position: relative;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
    #custom-product {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-top: 56px;
        position: relative;
    }
    #mobile-single-product .product_title.entry-title::before,
    #mobile-single-product .title-details-product::before,
    #mobile-single-product h2.title-cta-product::before {
        content: '';
        width: 16px;
        height: 16px;
        background-color: #000;
        border-radius: 100%;
        position: absolute;
        left: 50%;
        top: 0%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        transition: all 200ms ease-in;
    }
    h1.product_title.entry-title:after {
        content: '';
        height: 1px;
        width: 50%;
        display: block;
        background: #000;
        position: absolute;
        bottom: 99%;
        left: 50%;
    }
    #mobile-single-product h2.title-cta-product::after {
        content: '';
        height: 1px;
        width: 50%;
        display: block;
        background: #000;
        position: absolute;
        bottom: 99%;
        left: 0%;
    }
    #mobile-single-product h1.product_title.entry-title,
    #mobile-single-product .title-details-product,
    #mobile-single-product h2.title-cta-product {
        position: relative;
        margin-top: 0;
        padding: 48px 24px 0;
        font-family: 'metropolis-bold';
        font-size: 32px;
        line-height: 32px;
        margin-bottom: 24px;
        text-align: center;
    }
    #mobile-single-product .title-details-product {
        border-top: 1px solid #000;
    }
    #mobile-single-product .description-details-product {
        font-family: 'metropolis-regular';
        font-weight: 400;
        font-size: 16px;
        line-height: 18px;
        color: #555;
        margin-bottom: 0;
        padding: 0 24px;
        text-align: center;
    }
    #mobile-single-product .scroll-horiz {
        font-family: 'metropolis-bold';
        font-style: normal;
        font-weight: 700;
        font-size: 17px;
        line-height: 17px;
        text-align: center;
        text-transform: uppercase;
        color: #000000;
    }
    #mobile-single-product .description-slider {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #mobile-single-product .btn-black.modale {
        margin-top: 30px;
    }
}
@media screen and (min-width:481px) and (max-width:767px){
    .modal .col-md-6 {
        width: 50%;
    }
    .container-brand li {
        display: flex;
        align-items: center;
        list-style: none;
        width: 50%;
        cursor: pointer;
        border-bottom: 1px solid #000;
    }
    .card-single-product {
        min-height: 270px;
    }
    .products-mobile li:nth-child(2n+1) {
        border-right: 1px solid #000;
    }
    #occhiali-vista .novita,
    #occhiali-sole .novita {
        border-top: none;
        border-bottom: 1px solid #000;
    }
}
@media screen and (max-width:575px){
    .modal-content {
        height: 100vh;
    }
}
@media screen and (max-width:480px){
    .card-single-product {
        min-height: 370px;
    }
    .container-brand li {
        display: flex;
        align-items: center;
        list-style: none;
        width: 100%;
        cursor: pointer;
        border-bottom: 1px solid #000;
    }
    #occhiali-vista .novita,
    #occhiali-sole .novita {
        display: none;
    }
}

/*PAGE 404*/

#page-not-found {
    padding: 100px 0;
    height: 100vh;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#page-not-found h1 {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 220px;
    line-height: 220px;
    margin-bottom: 32px;
    color: #000;
}
#page-not-found p.subtitle {
    font-family: 'metropolis-bold';
    font-weight: 700;
    font-size: 35px;
    line-height: 35px;
    margin-bottom: 24px;
}
#page-not-found p.description {
    font-family: 'metropolis-regular';
    font-weight: 400;
    font-size: 15px;
    line-height: 17px;
    margin-bottom: 32px;
}

@media screen and (min-width:768px) and (max-width:991px){
    #page-not-found h1 {
        font-size: 150px;
        line-height: 150px;
    }
    #page-not-found p.subtitle {
        font-size: 30px;
        line-height: 30px;
    }
}
@media screen and (max-width:767px){
    #page-not-found h1 {
        font-size: 75px;
        line-height: 75px;
    }
    #page-not-found p.subtitle {
        font-size: 24px;
        line-height: 24px;
    }
}

/*FOOTER*/

footer.footer {
    background: #000;
    color: #fff;
}
.upper-footer {
	padding: 120px 0 36px;
	border-bottom:1px solid #CECECE;
}
footer .upper-footer .first .first-column,
footer .upper-footer .first .second-column {
    width: 28%;
}
footer .upper-footer .first .third-column {
    width: 44%;
}
h5.title-footer {
    font-family: 'metropolis-bold';
    font-size: 35px;
    line-height: 35px;
    letter-spacing: 0.4px;
	margin-bottom: 24px;
}
footer p.description {
    color: #CECECE;
    font-family: 'metropolis-thin';
    font-size: 16px;
    line-height: 27px;
}
span.text-bold {
    font-family: 'metropolis-medium';
    color: #fff;
}
span.text-normal {
    font-family: 'metropolis-regular';
    opacity: 0.7;
}
.cta-footer {
    font-family: 'metropolis-medium';
    font-size: 32px;
    line-height: 32px;
    margin-bottom: 40px;
}
span.text-bold-cta {
    font-size: 35px;
    line-height: 35px;
    font-family: 'metropolis-bold';
    letter-spacing: 0.4px;
}
span.text-border.white {
    font-family: 'metropolis-bold';
    -webkit-text-stroke-color: #fff;
    color: #000;
}
.upper-footer .row.second {
    padding-top: 105px;
}
h6.text-contact {
    margin: 0;
    width: fit-content;
}
h6.text-contact a {
    font-family: 'metropolis-medium';
    font-size: 15px;
    line-height: 15px;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
}
h6.text-contact a::after {
    content: '';
    width: 0;
    height: 1px;
    background: #fff;
    display: flex;
    margin-top: 5px;
}
h6.text-contact a:hover::after {
    animation: linefooter 0.5s linear forwards;
}
@keyframes linefooter {
    from {
      left:0;
      width:0%;
    }
    to {
      left:0;
      width:100%;
    }
}
.row.second .col-lg-6 {
    display: flex;
    justify-content: flex-end;
}
.social.footer {
	display: flex;
    gap: 17px;
}
.social.footer a svg {
    opacity: 0.7;
}
.social.footer a:hover svg {
    opacity: 1;
    transition: all 0.5;
}
.lower-footer {
    padding: 24px 0;
}
.lower-footer .col-lg-12 {
    display: flex;
    gap: 40px;
}
a.link-lower-footer {
    text-decoration: none;
}
p.link-lower-footer, a.link-lower-footer p {
    font-family: 'metropolis-thin';
    font-size: 13px;
    line-height: 13px;
    color: #fff;
    opacity: 0.5;
    text-decoration: none;
    margin-bottom: 0;
}
a.link-lower-footer:hover p {
    opacity: 1;
    transition: all 0.5;
}

@media screen and (max-width:767px){
    footer .upper-footer .row.first {
        flex-direction: column;
    }
    footer .upper-footer .first .first-column,
    footer .upper-footer .first .second-column,
    footer .upper-footer .first .third-column {
        width: 100%;
    }
    footer .upper-footer {
		text-align: center;
        padding: 120px 0;
	}
	h5.title-footer, .cta-footer {
		font-size: 24px;
		line-height: 24px;
	}
    .cta-footer {
        margin-top: 25px;
    }
    footer span.text-bold-cta {
        font-size: 28px;
    }
    footer .upper-footer .row.second {
        padding-top: 80px;
    }
    footer .row.second .col-lg-3 {
        margin-bottom: 16px;
    }
	footer .row.second .col-lg-6 {
		justify-content: center;
        margin-top: 28px;
	}
    footer .lower-footer {
        padding: 16px 0;
    }
    footer .lower-footer .col-lg-12 {
        gap: 24px;
        justify-content: center;
    }
    footer p.link-lower-footer,
    footer a.link-lower-footer p {
        font-size: 12px;
        line-height: 12px;
    }
    h6.text-contact {
        margin: 0 auto;
    }
}




.company-timeline:before {
    width: 100%;
    height: 100vw;
    content: "";
    display: none;
}
.company-timeline .timeline-heading {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
    margin-bottom: -95%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.company-timeline-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.company-timeline-list {
    position: sticky;
    top: 0;
    width: 50% !important;
    height: 100vh;
    display: flex;
    flex-wrap: wrap;
}
  .company-timeline-list .company-timeline-year {
    position: relative;
    width: 254px;
    height: 80px;
    margin-left: auto;
    overflow: hidden;
    transform: translateX(12px);
  }
  .company-timeline-list .timeline-date {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: block;
    font-size: 80px;
    font-weight: 300;
    line-height: 1;
    padding-right: 55px;
    opacity: 1;
    height: 24px;
  }
  .company-timeline-list .timeline-date .date span:nth-child(1) {
    transition-delay: 0.05s;
  }
  .company-timeline-list .timeline-date .date span:nth-child(2) {
    transition-delay: 0.1s;
  }
  .company-timeline-list .timeline-date .date span:nth-child(3) {
    transition-delay: 0.15s;
  }
  .company-timeline-list .timeline-date .date span:nth-child(4) {
    transition-delay: 0.2s;
  }
  .company-timeline-list .timeline-date .date {
    display: flex;
  }
  .company-timeline-list .timeline-date .date span {
    transform: translateY(100%);
    transition: 0.2s;
  }
  .company-timeline-list .timeline-date.animate {
    opacity: 1;
  }
  .company-timeline-list .timeline-date.animate .date span {
    transform: translateY(0);
  }
  .company-timeline-list .circle {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: 1px solid #000;
    border-radius: 16px;
    background-color: #000;
  }
.company-timeline-slider {
    width: 50%;
    margin-left: auto;
    padding-left: 50px;
    border-left: 1px solid #000;
    overflow: visible;
    position: relative;
}
.company-timeline-slider:after {
    content: '';
    width: 24px;
    height: 24px;
    border: 1px solid #000;
    border-radius: 16px;
    background-color: #000;
    position: absolute;
    left: -12px;
}
  .company-timeline-slider .slick-list {
    overflow: visible !important;
  }
  .company-timeline-slider .slick-track {
    display: block;
  }
.company-timeline-block {
    height: 100vh;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* scroll-snap-align: start;
    scroll-snap-stop: always; */
}
  .company-timeline-block .timeline-date {
    font-size: 80px;
    font-weight: 300;
    line-height: 1;
    padding-right: 55px;
    display: none;
  }
  .company-timeline-block.has-media {
    padding-top: 0;
  }
  .company-timeline-block.has-media .circle {
    top: 32px;
  }
  .company-timeline-block:first-child .circle {
    display: none;
  }
  .company-timeline-block .circle {
    position: absolute;
    left: -84px;
    top: 32px;
    width: 16px;
    height: 16px;
    border: 1px solid #F80964;
    border-radius: 16px;
    background-color: #fff;
  }
  .company-timeline-block .circle:before {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 6px;
    width: 6px;
    height: 6px;
    background-color: #F80964;
    content: "";
  }
  .company-timeline-block .image-block {
    margin-bottom: 30px;
  }
  .company-timeline-block h4 {
    margin-bottom: 10px;
    margin-top: 0;
  }
  .company-timeline-block p {
    line-height: 1.75;
  }