/* Fonts */
@font-face { font-family: suisseIntl; src: url(../fonts/SuisseIntl-Book-WebXL.woff2); }
@font-face { font-family: oggItalic; src: url(../fonts/Ogg-LightItalic.woff2); }
@font-face { font-family: oggMedium; src: url(../fonts/Ogg-Medium.woff2); }
@font-face { font-family: suisseIntlMono; src: url(../fonts/SuisseIntlMono-Regular-WebXL.woff2); }
@font-face { font-family: suisseIntlMonoThin; src: url(../fonts/SuisseIntlMono-Thin-WebXL.woff2); }
@font-face { font-family: suisseWorks; src: url(/assets/fonts/SuisseWorks-Regular-WebXL.woff2); }
@font-face { font-family: tonka; src: url(/assets/fonts/Tonka-Medium.woff2); }
.suisseIntl { font-family: suisseIntl; }
.oggItalic { font-family: oggItalic; }
.oggMedium { font-family: oggMedium; }
.suisseIntlMono { font-family: suisseIntlMono; }
.suisseIntlMonoThin { font-family: suisseIntlMonoThin; }
.suisseWorks { font-family: suisseWorks; }
.tonka { font-family: tonka; }
/* Fonts */

html, body { min-height: 100vh; }
html { font-size: 62.5%; overflow-x: hidden; }

@media only screen and (max-width: 767.98px) { .padding-mobile { padding-left: 1.25rem; padding-right: 1.25rem; } }
@media only screen and (max-width: 991.98px) { html { font-size: 50%; } }
body { font-family: suisseIntl; font-size: 1.4rem; color: #000; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; transition: margin-right 0.3s; }

#main { max-width: 700px; }
#main::before { content: ''; display: block; height: 60px; }

h1, h2, h3, h4, h5, h6 { font-family: suisseIntl; text-transform: uppercase; margin-bottom: 1rem; }

button, input, optgroup, select, textarea { font-family: suisseIntlMono; }

label, .thumbnail { cursor: pointer; }

.old-image { background: #eee !important; }
.old-image img { mix-blend-mode: darken; }

.text-red { color: #c81d30 !important; }

.bg-gold { background-color: #BC9066 !important; }

.btn-outline-secondary { border-color: #bbb; }

.small, small { font-size: .75em; }

.inactive { opacity: 0.3; pointer-events: none; }

.bg-gray { background-color: #eee; }

.border-start-lg { border-left: 1px solid #bbb; }
@media only screen and (max-width: 991.98px) { .border-start-lg { border-left: none; } }

.border-start-md { border-left: 1px solid; }
@media only screen and (max-width: 767.98px) { .border-start-md { border-left: none; } }

.top-minus { margin-top: -1px; }

.bottom-minus { margin-bottom: -1px; }

.page-header { margin-bottom: 3rem; }

.page-title { font-family: suisseIntlMono; font-size: 1.8rem; text-transform: uppercase; }

.page-subtitle { font-family: suisseIntlMono; font-size: 1.4rem; }

.form-check-input { border-radius: 0 !important; border-color: #bbb; }

.table { border-color: #bbb; }

.form-control { border-radius: 0; height: 5rem; font-size: 1.4rem; padding: 0.5rem 1rem; }

.max-800 { max-width: 800px !important; }

.max-500 { max-width: 500px !important; }

.form-control:focus { box-shadow: 0 0 0.2rem #000; }

.alert { margin-bottom: 0; }

.btn-radio { background: #fff; color: #000; cursor: pointer; padding: 1rem; text-align: center; border: 1px solid #000; height: 100%; display: flex; align-items: center; justify-content: center; }

.btn-radio.active { background: #000; color: #fff; }

#top-nav-mobile { justify-content: center; }
#top-nav-mobile .material-icons-outlined { font-size: 24px; }
#top-nav-mobile .nav-item:first-child, #top-nav-mobile .nav-item:last-child { position: absolute; }
#top-nav-mobile .nav-item:first-child { left: 0.75rem; }
#top-nav-mobile .nav-item:last-child { right: 0.75rem; }

.material-icons-outlined { font-size: 2.4rem; }

#breadcrumb { position: absolute; z-index: 2; top: 0; text-transform: uppercase; font-size: 1rem; padding: 1.25rem; }
@media only screen and (max-width: 767.98px) { #breadcrumb { font-size: 1.2rem; } }
#breadcrumb .breadcrumb { margin-bottom: 0; }
#breadcrumb .breadcrumb .material-icons-outlined { font-size: 1.6rem; }

.title-padding { padding: 1.25rem; text-transform: uppercase; }
@media only screen and (max-width: 767.98px) { .title-padding { font-size: 1.8rem; } }

#preload-images { width: 0px; height: 0px; display: inline; }

#menu-overlay { position: fixed; z-index: -1; width: 100vw; height: 100vh; background: #444; opacity: 0; text-align: center; transition: padding 0.3s, opacity 0.3s; }
@media only screen and (max-width: 991.98px) { #menu-overlay { display: none !important; } }
#menu-overlay .overlay-header { line-height: 120px; opacity: 0.8; }
#menu-overlay .overlay-header.topbar-active { line-height: 120px; }
#menu-overlay .overlay-header img { height: 40px; }

#search-overlay { position: fixed; z-index: -1; width: 100vw; height: 100vh; background: #eee; opacity: 0; text-align: center; transition: padding 0.3s, opacity 0.3s; }
@media only screen and (max-width: 991.98px) { #search-overlay { display: none !important; } }
#search-overlay .search-header { line-height: 120px; }
#search-overlay .search-header img { height: 40px; }
#search-overlay .search-body { overflow-y: auto; }
#search-overlay .center-search { display: flex; justify-content: center; align-items: center; }
#search-overlay .center-search img { transform: translateY(-50%); }

a { color: #000; text-underline-offset: 2px; }
a:hover { color: #000; }

hr { opacity: 1; margin: 1rem 0; background-color: #000; }

.border, .border-top, .border-bottom, .border-start, .border-end, .form-control, .img-thumbnail { border-color: #bbb !important; }

.form-control.is-invalid, .was-validated .form-control:invalid { border-color: #dc3545 !important; }

.list-group-item { color: #000; border-color: #bbb; background: transparent; padding: .5rem 1.25rem; }
.list-group-item.active { background-color: #000; border-color: #bbb; color: #fff; }

.nav-tabs .nav-link.active, .form-control { background: transparent; }

.btn { font-size: 1.4rem; color: #000; border-radius: 0; padding-left: 2rem; padding-right: 2rem; }

.btn-check:focus + .btn, .btn:focus { box-shadow: none; }

.btn-dark, .btn-light, .btn-outline-dark { border-radius: 0; padding-top: 2rem; padding-bottom: 2rem; text-transform: uppercase; }

.btn-dark { color: #fff; }

.btn-light { color: #000; background-color: #fff; }

.btn-small { padding-top: 1rem; padding-bottom: 1rem; }

.text-underline { text-decoration: underline; text-underline-offset: 2px; }

.accordion-button { font-size: 1.4rem; }

.accordion-body img { margin-bottom: 10px; max-width: 100%; }

.accordion-button:not(.collapsed) { color: #000; background-color: #fff; }

.accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }

.accordion-button:focus { border-color: #bbb; box-shadow: none; }

.accordion-item { border-color: #bbb; }

.owl-item.active { transition: width 0.3s; }

.owl-dots .owl-dot span { background: #fff !important; border-radius: 50% !important; box-shadow: 0 0 .2rem; width: 1.2rem !important; height: 1.2rem !important; margin: .5rem !important; }
.owl-dots .owl-dot.active span, .owl-dots .owl-dot:hover span { border: .2rem solid #fff !important; background: #000 !important; }

.loading { height: 1.8rem; }
.loading.large { height: 3.2rem; }

.badge { position: absolute; top: 1rem; left: 0; font-weight: normal; font-size: 1.4rem; padding: 0; z-index: 2; text-align: left; opacity: 0.5; }
.badge span { display: inline-block; }
.badge .new { background: #000; padding: 1rem; text-transform: uppercase; }
.badge .award img { width: 5rem; }
.badge .feature { padding: .5rem 1rem; background: #000; color: #fff; }

.menu-quantity { color: #fff; border: 1px solid #bbb; font-size: 12px; border-radius: 50%; background: #000; top: 5px; left: -5px; display: inline-flex; line-height: normal; padding: 0; width: 20px; height: 20px; align-items: center; justify-content: center; opacity: 1; }

#top-nav .menu-quantity { font-size: 10px; top: 4px; left: 4px; width: 15px; height: 15px; }

/* Menu icon animation */
.menu-icon { width: 55px; height: 55px; position: relative; display: block; }
.menu-icon .line { display: block; background: #000; width: 40px; height: 4px; position: absolute; left: 0.5rem; margin-top: -2px; transition: transform 0.3s; }
@media only screen and (max-width: 575.98px) { .menu-icon .line { width: 30px; } }
.menu-icon .line.line-1 { top: 24px; }
.menu-icon .line.line-2 { top: 34px; }
.menu-icon.active .line-1 { transform: translateY(5px) translateX(0) rotate(45deg); }
.menu-icon.active .line-2 { transform: translateY(-5px) translateX(0) rotate(-45deg); }

/* Top nav */
.navbar-expand.topbar-active { flex-wrap: wrap; }
.navbar-expand.topbar-active .top-bar { width: 100%; height: 30px; line-height: 30px; margin-top: -1.4rem; background: gold; text-align: center; }

.navbar { border-bottom: 1px solid #bbb; box-shadow: 0 1px 1px -1px; height: 120px; background: #fff; transition: margin-left 0.3s; }
.navbar.topbar-active { height: 135px; }
@media only screen and (max-width: 991.98px) { .navbar { height: 100px; }
  .navbar.topbar-active { height: 1155px; } }
.navbar .navbar-nav { font-family: suisseIntl; justify-content: space-between; flex-basis: 100%; font-size: 1.6rem; text-transform: uppercase; }
.navbar .navbar-nav .nav-item { align-self: center; }
.navbar .navbar-nav .nav-item .nav-link { color: #000; position: relative; }
.navbar .navbar-nav .nav-item .nav-link .logo { height: 40px; }
@media only screen and (max-width: 575.98px) { .navbar .navbar-nav .nav-item .nav-link .logo { height: 35px; } }
.navbar .navbar-nav .nav-item.last-item { display: flex; align-items: baseline; }
@media only screen and (min-width: 991.98px) { .navbar.transparent { border-bottom: none; box-shadow: none; background: transparent; margin-left: 50%; }
  .navbar.transparent .navbar-nav { justify-content: center; }
  .navbar.transparent .navbar-nav .nav-item .logo { content: url(../images/logo/white.svg); }
  .navbar.transparent .navbar-nav .nav-item:not(#logo-container) { display: none; } }
.navbar #top-nav-desktop .nav-link.active::after { content: ''; position: absolute; height: 3px; background: #000; bottom: 3px; left: .5rem; right: .5rem; }

/* Drawer navigation */
.menu-container { font-size: 24px; height: 100vh; position: fixed; z-index: 1021; background-color: #eee; overflow-x: hidden; transition: margin-left 0.3s; text-align: center; }
@media only screen and (max-width: 575.98px) { .menu-container { font-size: 24px; } }
.menu-container .search-icon { position: absolute; top: 14px; left: 14px; color: #000; }
.menu-container .search-input { text-indent: 30px; background: #fff; margin-top: 15px; }
.menu-container.sidenav { display: block; width: 50%; margin-left: -50%; top: 0; left: 0; border-right: 1px solid #bbb; }
.menu-container.sidenav .closeBtn { position: absolute; top: 2.25rem; left: 1.1rem; }
.menu-container.sidenav-mobile { flex-direction: column; justify-content: center; align-items: center; width: 100%; margin-left: -100%; top: 100px; font-size: 20px; }
.menu-container.sidenav-mobile.topbar-active { top: 115px; }
.menu-container.sidenav-mobile .left-menu-mobile { margin-top: -200px; }
.menu-container.sidenav-mobile .menu-mobile-footer { position: absolute; bottom: 160px; width: 100%; padding: 1rem 0; }
.menu-container.sidenav-mobile .menu-mobile-footer .mobile-footer-link { display: flex; justify-content: center; align-items: center; font-size: 14px; }
.menu-container.sidenav a, .menu-container.sidenav-mobile a { padding: 0; text-decoration: none; display: inline-flex; transition: margin-left 0.3s; color: #000; text-transform: uppercase; }
.menu-container.sidenav a:hover, .menu-container.sidenav-mobile a:hover { color: #000; }
.menu-container.sidenav .flag, .menu-container.sidenav-mobile .flag { display: inline-flex; align-items: center; }
.menu-container.sidenav .flag img, .menu-container.sidenav-mobile .flag img { width: 30px; margin-left: 10px; }
.menu-container .left-menu { display: flex; align-items: center; justify-content: center; flex-grow: 1; }
.menu-container .left-menu .search-top-nav { display: none; text-align: left; }
.menu-container .left-menu .search-top-nav .search-title { font-size: 4.2rem; font-family: oggMedium; }
.menu-container .left-menu .search-active { width: 75%; }
.menu-container .left-menu .search-active li { display: none; }
.menu-container .left-menu .search-active li.search-top-nav { display: block; }
.menu-container .left-menu-footer { font-size: 16px; }
.menu-container .right-menu { background: #fff; width: 40px; border-left: 1px solid #bbb; display: flex; flex-direction: column; justify-content: space-between; padding-top: 60px; padding-bottom: 25px; }
.menu-container .right-menu a { font-size: 16px; transform: rotate(-90deg); white-space: nowrap; }

/* Shopping cart */
.price { font-size: 3.2rem; }

.promotion .real-price { text-decoration: line-through; }

.basket-image { width: 5rem; }
@media only screen and (min-width: 991.98px) { .basket-image.large { width: 10rem; } }

.basket-table { vertical-align: middle; }
.basket-table .material-icons-outlined { margin-top: 0.5rem; font-size: 2.1rem; }
.basket-table a { text-transform: uppercase; text-decoration: underline; }
.basket-table #voucher-form { display: none; }

.basket-nav { position: fixed; z-index: 1021; top: 0; right: 0; transform: translateX(100%); transition: transform 0.3s; background: #eee; display: flex; flex-direction: column; height: 100%; width: 50%; }
@media only screen and (max-width: 991.98px) { .basket-nav { width: 100%; border-left: none; z-index: 2147483648; } }
.basket-nav .material-icons-outlined { cursor: pointer; }
.basket-nav .basket-header { letter-spacing: 2px; border-bottom: 1px solid #bbb; box-shadow: 0 2px 2px -2px; display: flex; align-items: center; padding: 1.25rem; font-size: 14px; height: 120px; }
@media only screen and (max-width: 991.98px) { .basket-nav .basket-header { height: 100px; } }
.basket-nav .basket-header .material-icons-outlined { font-size: 40px; }
.basket-nav #basket-container { display: flex; flex-direction: column; flex: 1 1 auto; }
.basket-nav #basket-container .close-icon { width: 2.5rem; text-align: right; }
.basket-nav #basket-container .stickers h4, .basket-nav #basket-container .stickers p, .basket-nav #basket-container .stickers label { font-size: 1.2rem; }
.basket-nav #basket-container label.gift { font-size: 1.2rem; }
.basket-nav .basket { padding: 1.25rem; font-size: 1.4rem; height: 1px; overflow-y: auto; flex: 1 1 auto; }
@media only screen and (min-width: 991.98px) and (max-width: 1199.98px) { .basket-nav .basket { font-size: 1.2rem; } }
.basket-nav .basket-footer { padding: 1.25rem; border-top: 1px solid #bbb; text-align: center; margin-top: auto; font-size: 1.4rem; }
.basket-nav .basket-footer .price { font-size: 3.2rem; }
.basket-nav .basket-footer .btn-dark, .basket-nav .basket-footer .btn-outline-dark { font-size: 1.4rem; }

/* Country language Modal */
#stock_currency .h2 { font-family: suisseIntlMono; font-size: 1.8rem; margin-bottom: 3rem; text-align: center; text-transform: uppercase; }
#stock_currency a { text-transform: uppercase; text-decoration: none; }
#stock_currency a.active { text-decoration: underline; }
#stock_currency .list-group-item { border: none; padding: 0; margin-bottom: 1rem; }
#stock_currency .country { position: relative; }
#stock_currency .country img { width: 32px; }
#stock_currency .country .disabled a { color: #999; pointer-events: none; }
#stock_currency .modal-content { background: #fff; border-radius: 0; }

#container { transition: transform 0.3s; overflow-x: hidden; border-top: 1px solid #bbb; margin-top: -1px; position: relative; width: calc(100% + 1px); }
@media only screen and (max-width: 991.98px) { #container { width: 100%; } }

.openBtn-mobile { transition: margin-left 0.3s; }

/* Footer */
#footer { background: #000; color: #fff; }
@media only screen and (min-width: 767.98px) and (max-width: 991.98px) { #footer { font-size: 1.2rem; } }
#footer .nav-link { padding: 0; color: #fff; text-transform: uppercase; }
#footer .payment-images { display: flex; justify-content: space-evenly; }
#footer .payment-images img { max-width: 20%; }
@media only screen and (max-width: 767.98px) { #footer .payment-images img { max-width: 12%; } }
#footer .footer-icon { text-align: center; }
#footer .footer-icon img { max-height: 35px; margin-bottom: 0.5rem; }

/* Trusted shop rating */
.star-rating { vertical-align: text-top; float: right; }
.star-rating input { border: 0; width: 1px; height: 1px; overflow: hidden; position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); opacity: 0; }
.star-rating input:checked ~ label:before { color: #FFC107; }
.star-rating label { position: relative; float: right; color: #C8C8C8; margin-bottom: 0; }
.star-rating label:before { content: "star"; font-family: 'Material Icons Outlined'; font-size: 1.6rem; text-transform: none; display: inline-block; color: #ccc; -webkit-user-select: none; -moz-user-select: none; user-select: none; }

/* Back to Top */
.cd-top { display: inline-block; position: fixed; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.05); overflow: hidden; text-indent: 100%; white-space: nowrap; background: rgba(0, 0, 0, 0.8) url(../../assets/images/icons/cd-top-arrow.svg) no-repeat center 50%; visibility: hidden; opacity: 0; transition: opacity .3s 0s, visibility 0s .3s; border-radius: 50%; z-index: 101; height: 4rem; width: 4rem; right: 3rem; bottom: 3rem; }
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .cd-top:hover { transition: opacity .3s 0s, visibility 0s 0s; }
.cd-top.cd-is-visible { visibility: visible; opacity: 1; }
.cd-top.cd-fade-out { opacity: .5; }
.cd-top:hover { background-color: #000 !important; opacity: 1 !important; }

.products { margin-top: -1px; margin-bottom: -1px; border-bottom: 1px solid #bbb; }
.products .product { position: relative; border-top: 1px solid #bbb; border-right: 1px solid #bbb; border-bottom: 1px solid #bbb; margin-top: -1px; background: #eee; }
@media only screen and (max-width: 767.98px) { .products .product { border-right: none; } }
.products .product:after { content: ""; display: block; padding-bottom: 100.2%; }
.products .product .content { position: absolute; width: 100%; height: 100%; }
.products .product .product-title { width: 100%; font-family: oggItalic; font-size: 2.8rem; text-align: center; position: absolute; z-index: 2; top: 10%; padding: 0; }
@media only screen and (min-width: 1399.98px) and (max-width: 2399.98px) { .products .product .product-title { font-size: 2.4rem; } }
.products .product .product-image { width: 100%; }
.products .product .carousel-item { transition: transform .3s ease-in-out; }
.products .product .product-footer { position: absolute; z-index: 2; bottom: 0; width: 100%; padding: 0 1.25rem 1rem; }
@media (hover: none) { .products .product .product-footer { display: none; } }
.products .product .product-footer .product-price { text-transform: uppercase; display: inline-block; }
@media only screen and (max-width: 767.98px) { .products .product .product-footer .product-price { font-size: 1.8rem; } }
.products .product.hide { display: none; }
.products .product.show { display: block; }
.products.fashion .product {             /*&:after { padding-top: 7rem; }
 .content { padding-top: 7rem; }*/ }
.products.fashion .product .product-title { top: 2%; }
.products.fashion .badge { top: unset; bottom: 5rem; }

.search-body .products { border-bottom: none; }
.search-body .products .product { min-height: 150px; }
@media only screen and (min-width: 1199.98px) { .search-body .products .product:nth-child(3n) { border-right-color: #bbb; } }
.search-body .products .product .product-title { font-size: 1.5rem; }
.search-body .products .product .product-footer { padding: 0 .5rem .5rem; }
.search-body .products .product .product-footer > div { padding: 0 0.25rem; font-size: 1rem; }
.search-body .products .product .product-footer .product-variation .list-group-item { width: 1rem; height: 1rem; margin-right: .25rem; box-shadow: 0 0 2px #000; }
.search-body .products .product .product-footer .product-variation .list-group-item:after { top: .25rem; left: .25rem; }

.carousel-indicators { position: absolute; z-index: 2; bottom: .5rem; left: 0; right: 0; padding-left: 3rem; padding-right: 3rem; margin: 0; display: none; }
@media (hover: none) { .carousel-indicators { display: block; } }
.carousel-indicators .thumbs { overflow: hidden; white-space: nowrap; justify-content: center; font-size: 0; text-align: center; }
.carousel-indicators .thumbs a { display: inline-block; width: 25%; height: auto; margin: 0; text-indent: 0; background-color: transparent; border: 0; opacity: 1; }
.carousel-indicators .thumbs a img { width: 100%; padding: .5rem; }
.carousel-indicators .previous, .carousel-indicators .next { position: absolute; top: 0; height: 100%; display: flex; align-items: center; cursor: pointer; padding: 1rem; }
.carousel-indicators .previous .material-icons-outlined, .carousel-indicators .next .material-icons-outlined { font-size: 1.8rem; }
.carousel-indicators .previous .material-icons-outlined:hover, .carousel-indicators .next .material-icons-outlined:hover { opacity: 1; }
.carousel-indicators .previous { left: 0; }
.carousel-indicators .next { right: 0; }

.eyewear .product:hover .carousel-indicators { display: block; }
.eyewear .product:hover .has-variation { display: none; }

.owl-carousel { position: relative; }
.owl-carousel .owl-prev, .owl-carousel .owl-next { position: absolute; top: 45%; }
.owl-carousel .owl-prev:hover, .owl-carousel .owl-next:hover { background: none !important; color: #000 !important; text-decoration: none !important; }
.owl-carousel .owl-prev { left: 0; }
.owl-carousel .owl-next { right: 0; }
.owl-carousel .owl-dots { position: absolute; left: 50%; bottom: 1rem; transform: translate(-50%); }
.owl-carousel .owl-nav { margin-top: 0; }
.owl-carousel.owl-carousel-details { padding: 0; }
.owl-carousel.owl-carousel-details .owl-dots { left: auto; right: 1.0rem; transform: none; }

.slick-prev:before, .slick-next:before { content: ''; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: #000; }

/* New styles */
.mt-100 {margin-top: 10rem;}
.mb-100 {margin-bottom: 10rem;}
.mt-50 {margin-top: 5rem;}
.mb-50 {margin-bottom: 5rem !important;}
.mt-70 {margin-top: 7rem;}
@media (max-width: 991px) {
    .mt-100 {margin-top: 5rem;}
    .mb-100 {margin-bottom: 5rem;}
    .mt-50 {margin-top: 2.5rem;}
    .mb-50 {margin-bottom: 2.5rem !important;}
}

.pt-70 {padding-top: 7rem;}
.container-padding {padding: 2rem;}
.container-padding-x {padding-left: 2rem; padding-right: 2rem;}
.page-subheading {font-size: 3.6rem;}