@font-face {
    font-family: 'Honor';
    src: url('../fonts/Honor-Bold.woff2') format('woff2'),
        url('../fonts/Honor-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Adobe Caslon Pro';
    src: url('../fonts/ACaslonPro-Regular.woff2') format('woff2'),
        url('../fonts/ACaslonPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


:root {
    --siteDarkBg: #0b0b0b;
    --siteTransition: all 300ms ease-in-out;
    --siteTransition2: all 500ms ease-in-out;

    --honor: 'Honor';
    --headingfont: var(--honor);

    --caslon: 'Adobe Caslon Pro';
    --bodyfont: var(--caslon);

}

/* :host {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1
} */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
h1,
h2 {
    font-family: var(--headingfont);
}

body {
    background-color: var(--siteDarkBg) !important;
    font-family: var(--bodyfont);
    line-height: 1.5;
}
ul{
    list-style: none;
}
a {
    text-decoration: none;
}
p{
    font-size: 15px;
}
.container,
.container-fluid {
    padding-left: 20px;
    padding-right: 20px;
}
@media (min-width:1560px) {
    .container {
        max-width: 1440px;
    }
}
/* @media (min-width:1660px) {
    .container {
        max-width: 1600px;
    }
} */
.inner_container {
    max-width: 1150px;
}
.media_container{
    max-width: 676px;
}
.transition5ms{
	transition: var(--siteTransition2);
}


/* Components */
.all_btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    padding: 5px 25px;
    font-size: 1rem;
    min-height: 50px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: var(--bs-black);
    transition: all 250ms ease-in-out;
}

/* =================== 
    Common Style 
=================== */
[class^="text_box"] :is(p, li) {
    font-size: 15px;
    line-height: 1.5;
    color: var(--bs-white);
    margin-bottom: clamp(0.875rem, 2.5vw, 1.375rem);
    opacity: 0.85;
}
[class^="text_box"][class*="_md"] :is(p, li) {
    font-size: 1.125rem;
    line-height: 1.65;
}
[class^="text_box"][class*="_lg"] :is(p, li) {
    font-size: 1.25rem;
    line-height: 1.56;
}
[class^="text_box"][class*="_sm"] :is(p, li) {
    font-size: 13px;
    line-height: 1.65;
}
[class^="text_box"] p:last-child {
    margin-bottom: 0;
}

[class^="text_box"] a {
    color: var(--sitePrimaryColor);
}
[class^="text_box"] a:hover {
    text-decoration: underline;
}


.common_vertical_padding {
    padding: 100px 0;
}
.common_vertical_padding_small{
	padding: 80px 0;
}
.common_vertical_padding_mini{
	padding: 60px 0;
}

.site_dark_bg{
    background-color: var(--siteDarkBg);
}

.section_head :is(h2) {
    font-size: clamp(2.125rem, 3vw + 1rem, 3.2rem);
    line-height: 1.2;
    font-weight: 700;
    text-wrap: balance;
}
.section_head h2 :is(strong, b) {
    font-weight: inherit;
    position: relative;
    z-index: 1;
}


.body_header_padding{
    padding-top: 110px;
}

/* ====================
    main_header
====================*/
.main_header {
  transition: background-color 0.4s ease, box-shadow 0.3s ease;
  background-color: transparent;
  padding-top: 2.65rem;
  padding-bottom: 2.65rem;
  padding-left: 1rem;
  padding-right: 1rem;
  z-index: 999;
}

.main_header.scrolled {
  background-color: var(--siteDarkBg);
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.logo {
    position: absolute;
    width: 140px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 999;
}
.logo h1{
    font-size: 4.063rem;
    font-weight: bold;
    line-height: .8;
    text-transform: uppercase;
    color: var(--bs-white);
}
.main_nav ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 40px;
    margin: 0;
    padding: 0;
}
.main_nav :is(li, a){
    color: var(--bs-white);
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    transition: var(--siteTransition);
    letter-spacing: 1.2px;
}
.main_nav :is(li, a):hover,
.main_nav :is(li, a).active{
    text-decoration: underline;
    color: #aaaaaa;
}

/* ====================
    Mobile Menu Panel
====================*/

.menu_toggle {
  display: none;
}

/* Hamburger Button */
.hamburger {
  background: none;
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 10;
	padding: 0;
	
}
.hamburger:hover,
.hamburger:focus {
    background-color: transparent !important;
    border-color: transparent !important;
}
.hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background-color: #fff;
  border-radius: 2px;
  transition: 0.3s;
}

/* Mobile Menu */
.mobile_menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  z-index: 2;
  padding-left: 20px;
  transition: var(--siteTransition);
}

.mobile_menu ul li {
  margin: 15px 0;
}

.mobile_menu ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  text-transform: uppercase;
  display: block;
}

/* Hamburger active (animation) */
.hamburger.active span:first-child {
      transform: rotate(45deg) translateY(3px) translateX(3px);
}

.hamburger.active span:last-child {
  transform: rotate(-45deg) translateY(-3px) translateX(3px);
}


/* ====================
    Banner Section
====================*/
.banner_section{
    margin-bottom: 10px;
}
.banner_img{
    height: clamp(70vh, 55vw, 100vh);
    position: relative;
}
.banner_img::before{
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 35%);
    top: 0;
}
.scroll_btn{
    opacity: 0.5;
    left: 0;
    bottom: 20px;
    right: 0;
    margin: 0 auto;
    z-index: 111;
}
.explore_text{
    font-size: 0.75rem;

}
.down_angle_icon svg{
    width: 30px;
    height: 30px;
}



.fw_img_card {
    height: 80vh;
    margin-bottom: 10px;
}
.fw_img_card a:before{
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 40%);
    top: 0;
    z-index: 1;
}
.fw_card_content{
    padding-left: 30px;
    padding-bottom: 25px;
}
.fw_card_content h2{
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}


/* main_footer */
.footer_menus ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 30px;
    margin: 0;
    padding: 0;
}
.footer_menus :is(a, p){
    color: var(--bs-white);
    font-size: 0.625rem;
    letter-spacing: 1.2px;
    transition: var(--siteTransition);
    text-transform: uppercase;
}
.footer_menus a:hover{
    color: #878787;
}
.footer_menus p{
    opacity: .5;
}



/* ====================
   Lookbooks Page
====================*/
.lookbooks_img_card{
    padding-top: 80px;
    padding-bottom: 40px;
}
.showcase_img {
    height: 37vw;
}
.showcase_img img{
    transition: var(--siteTransition);
}
.showcase_item:hover .showcase_img img{
    transform: scale(1.03);
}
.showcase_content h3{
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: var(--bs-white);
    margin-bottom: 0.625rem;
}

/* ====================
   Lookbooks Page
====================*/
.collection_vi_img_card{
    padding-top: 80px;
    padding-bottom: 40px;
}
/* ====================
   Bespoke Page
====================*/

.content_section{
    padding-top: 30px;
    padding-bottom: 40px;
}
.fw_img_card{
    overflow: hidden;
}
.fw_slider_item img{
	transition: var(--siteTransition);
	object-position: 50% 50%;
}
.fw_img_item img{
    transition: var(--siteTransition);
    object-position: top;
}
.fw_img_card a:hover img{
    transform: scale(1.03);
}



/* ====================
   Privacy Policy Page
=======================*/
.privacy_policy_section{
    padding-top: 40px;
    padding-bottom: 40px;
}
.privacy_policy_text :is(h2, h3, h4, h5, h6){
    font-family: var(--caslon);
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--bs-white);
    margin-bottom: clamp(0.875rem, 2.5vw, 1.375rem);
}

/* ====================
   Terms of Use Page
=======================*/
.terms_text h3 a{
    padding-left: 25px;
}
.terms_text ol{
    padding-left: 25px;
    list-style: upper-alpha;
    margin-bottom: 30px;
}
.terms_text ol li{
    color: var(--bs-white);
    margin-bottom: 18px;
}
.terms_text ol li{
    padding-left: 15px;
}
.terms_text ol ol{
    margin-top: 20px;
    list-style: lower-roman;
}
.terms_text ul{
    padding-left: 0;
}
.terms_text ul li{
    position: relative;
    padding-left: 20px;
}
.terms_text ul li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background: var(--bs-black);
    border-radius: 50%;
    border: 1px solid var(--bs-white);
}
.terms_text :is(b, strong){
    font-weight: bold;
}

/* ====================
   Contact Page
=======================*/
.contact_section{
    padding-top: 140px;
    padding-bottom: 140px;
}
.contact_text :is(p, li, a){
    font-size: 12px;
    line-height: 1.4;
    color: var(--bs-white);
    margin-bottom: clamp(0.375rem, 2.5vw, 0.5rem);
}
.contact_text :is(h2, h3, h4, h5, h6){
    font-family: var(--caslon);
    text-transform: uppercase;
    font-size: 12px;
    line-height: 1.6;
    color: var(--bs-white);
    margin-bottom: clamp(0.875rem, 2.5vw, 1.375rem);
}
.contact_text p{
	margin-bottom: 16px;
}
.social_link i{
    font-size: 30px;
    color: var(--bs-white);
    transition: var(--siteTransition);
}
.social_link i:hover{
    color: #878787;
}



/* ====================
   Appointment Page
=======================*/
.appointment_section{
    padding-top: 30px;
    padding-bottom: 40px;
}
.appointment_left_img{
    position: sticky;
    height: 100vh;
    top: 130px;
    padding-right: 45px;
}
.appointment_left_img img{
    object-position: 50% 0;
}
.appointment_text{
    margin-bottom: 67px;
}
.appointment_text h2{
    font-size: 25px;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--bs-white);
    margin-bottom: 18px;
}

.form_wrapper label{
    display: block;
    padding-bottom: 10px;
    color: var(--bs-white);
    font-size: 11px;
    line-height: 1.2;
	text-transform: uppercase;
    letter-spacing: 1.2px;
}
.checkbox_label{
    text-transform: none ! important;
}
.form_wrapper .form-control{
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .267) !important;
    padding: 10px !important;
    border-radius: 0 !important;
    transition: var(--siteTransition) !important;
    color: var(--bs-white) !important;
    font-size: 16px !important;
}

.form_wrapper .form-control:focus {
    box-shadow: none !important;
    border-color: var(--bs-white) !important;
}
.form_field{
    margin-bottom: 20px;
}
.form_wrapper .form_field textarea{
	height: 212px
}
.submit_btn {
    background-color: var(--bs-white) !important;
    width: 100% !important;
    color: var(--bs-black) !important;
    font-weight: 500;
    font-size: 16px;
    padding: 10px;
    border: none !important;
	border-radius: 0 !important;
    cursor: pointer;
    text-transform: uppercase !important;
    transition: all 0.3s ease-in-out;
}

.submit_btn:hover {
    background-color: #c1c1c1 !important;
}

.checkbox_group {
	position: relative;
	margin-bottom: 10px;
}
.checkbox_group .wpcf7-list-item{
	margin-left: 0;
}
.checkbox_group input {
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
}
.checkbox_group span.wpcf7-list-item-label:after {
	content: "";
	position: absolute !important;
	left: 0;
	top: 3px;
	width: 22px;
	height: 22px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .267);
}
.checkbox_group input:checked ~ span.wpcf7-list-item-label:before {
    content: "✓";
    position: absolute !important;
    left: 5px;
    top: 8px;
    line-height: 1;
    font-size: 1rem;
}
.checkbox_group input:checked ~ span.wpcf7-list-item-label:after {
    border-color: var(--bs-white) !important;
}

.checkbox_group label{
	font-size: 12px;
	padding: 5px;
	padding-left: 1.8rem;
	cursor: pointer;
	flex: 1;
	text-transform: none;
	line-height: 1.45;
}
.checkbox_group:has(input:checked) {
    background-color: var(--siteDarkBg);
    color: var(--bs-white);
}
.form_btn .wpcf7-spinner{
	position: absolute;
	right: 0;
	top: calc(50% - 12px);
}

/* Date Picker */
.ui-widget{
	font-family: var(--bodyfont);
	font-size: 12px;
	width: 280px;
	height: auto;
}
.ui-widget.ui-widget-content{
	border: none;
	background: #0b0b0b;
	box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.38);
    color: #ffffff;
}
.ui-datepicker-title{
	font-size: 15px;
}
.ui-datepicker .ui-datepicker-header{
	padding: 0.7em 0;
}
.ui-widget-header{
	color: #fff;
	border: none;
    background: #0b0b0b;
    font-weight: bold;
}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next{
	cursor: pointer;
	background: #fff;
    top: 10px;
}
.ui-datepicker .ui-datepicker-prev:hover, .ui-datepicker .ui-datepicker-next:hover{
	background: #d1d1d1;
}
.ui-widget-header a:hover{
	background: none;
	border: none;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    border: none;
    background: #0b0b0b;
    font-weight: normal;
    color: #fff;
}
.ui-datepicker table{
	border: none;
}
.ui-datepicker td span, .ui-datepicker td a {
    display: block;
    padding: 0.6em;
    text-align: center;
    text-decoration: none;
	font-size: 12px;
}










/* =========================
    Campaign Details Page
==========================*/
.campaign_details_section{
    padding-top: 30px;
    padding-bottom: 40px;
}
.campaign_details_text{
    margin-bottom: 40px;
}
.image_grid{
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}
.grid_list_img{
    overflow: hidden;
    position: relative;
}
.grid_list_img a{
	display: block;
}
.grid_list_img img{
    transition: var(--siteTransition);
}
.grid_list_img:hover img{
    transform: scale(1.05);
}

.grid_list_img a:before,
.press_item a:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: var(--siteTransition);
    background: rgba(0, 0, 0, .301);
    z-index: 1;
}
.grid_list_img:hover a:before,
.press_item:hover a:before{
    opacity: 1;
}

/* ===============
    Press Page
===================*/
.press_item_text{
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 25px;
    opacity: 0;
    transition: var(--siteTransition);
    z-index: 1;
}
.press_item_text h2{
    font-size: 30px;
    line-height: 1.2;
}
.press_item:hover .press_item_text{
    opacity: 1;
}
.press_meta p{
    opacity: 0.5;
}
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    opacity: 0.7;
    padding: 20px 0;
}

.arrow {
    width: 15px;
    height: 15px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    cursor: pointer;
    transition: opacity 0.3s;
}

.arrow:hover {
    opacity: 0.7;
}

.left {
    transform: rotate(-135deg);
}

.right {
    transform: rotate(45deg);
}

.divider {
    width: 1px;
    height: 25px;
    background-color: #fff;
}
/* ===============
    Blog Page
===================*/
.blog_banner{
    padding-top: 40px;
}
.blog_banner .banner_img{
    margin-bottom: 10px;
}
.no_overlay a::before{
    display: none;
}

.blog_img_card{
    height: 55vw;
}

/* ===============
    Media Page
===================*/
.media_section{
    padding-top: 32px;
    padding-bottom: 62px;
}
.media_image{
    margin-bottom: 34px;
}
.media_info_text{
    margin-bottom: 104px;
}
.media_info_text h2{
    font-size: 50px;
    color: var(--bs-white);
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.media_date{
    opacity: 0.5 ! important;
}
.releted_post_heading{
    margin-bottom: 34px;
}
.releted_post_heading h2{
    font-size: 30px;
    color: var(--bs-white);
    line-height: 1.2;
    opacity: 0.5;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.releted_post_image{
    margin-bottom: 15px;
}
.releted_post_text h3{
    font-size: 20px;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 5px;
    color: var(--bs-white);
    font-family: var(--headingfont);
}
.releted_post_text p{
    font-size: 12px;
    line-height: 1.4;
    color: var(--bs-white);
    margin-bottom: 0;
}

/* ===============
    Stockists Page
===================*/
.stockists_section{
    padding-bottom: 80px;
}
.stockists_text{
    margin-bottom: 67px;
}
.stockists_heading{
    margin-bottom: 42px;
}
.stockists_heading h2{
    font-size: 25px;
    color: var(--bs-white);
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.stockists_locations{
	margin-bottom: 36px;
}
.stockists_locations h3{
    font-size: 20px;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 20px;
    color: var(--bs-white);
    font-family: var(--headingfont);

}
.stockist_address{
    margin-bottom: 20px;
}
.stockist_address :is(h4, h5) {
    font-size: 13px;
    line-height: 1.5;
    color: var(--bs-white);
    text-transform: uppercase;
    margin-bottom: 12px;
    opacity: 0.85;
}


/* ================ 
    About page 
================= */
.about_section{
    padding-top: 110px;
    padding-bottom: 100px;
}
.about_content {
    padding-right: 50px;
}
.about_bigimg_cap {
    padding-top: 8px;
    padding-bottom: 12px;
    
}
.about_bigimg_cap h6{
	text-align: right;
    color: var(--bs-white);
    font-size: 11px;
    line-height: 1.6;
}
.honor_graylogo {
    max-width: 120px;
    padding-top: 40px;
}
.about_releted_section{
    padding-bottom: 120px;
}

/* ================ 
    Our World page 
================= */
.our_world_section{
    padding-top: 30px;
}

/* ================ 
    Films page 
================= */
.films_section:first-of-type {
    padding-top: 30px;
}
.films_item_text h2{
    font-size: 13px;
    font-family: var(--bodyfont);
}
.films_item{
    height: 50vw;
    margin-bottom: 10px;
}
.films_section:nth-of-type(odd) .films_item {
    padding-right: 5px;
}
.films_section:nth-of-type(even) .films_item {
    padding-left: 5px;
}
.films_item_img{
	cursor: pointer;
}
.films_item_img::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
    opacity: 1;
}
.films_item:hover img{
    transform: scale(1.03);
}

.films_item_video iframe{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ================ 
    Events Page
 ================ */
.events_details{
	margin-bottom: 25px;
}
.events_heading h3{
	font-family: var(--headingfont);
	font-size: 20px;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--bs-white);
    margin-bottom: 15px;
}
.events_dates h5{
	font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--bs-white);
    margin-bottom: 15px;
    text-transform: uppercase;
}
.events_location h6{
	font-size: 12px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--bs-white);
}


.events_btn a{
    border: 1px solid var(--bs-white);
    background: var(--bs-black);
    color: var(--bs-white);
    padding: 10px 25px;
	font-size: 12px;
    transition: all .3s ease-in-out;
    letter-spacing: 1.2px;
	text-transform: uppercase;
}
.events_btn a:hover{
	background: var(--bs-white);
	color: var(--bs-black);
}




/* ================ 
    Animation
 ================ */

.animatable {
  opacity: 0;
  -webkit-animation-play-state: paused;
  -moz-animation-play-state: paused;
  -ms-animation-play-state: paused;
  -o-animation-play-state: paused;
  animation-play-state: paused;
}

.animated {
  opacity: 1;

  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;

  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  -ms-animation-duration: 1.5s;
  -o-animation-duration: 1.5s;
  animation-duration: 1.5s;

  -webkit-animation-play-state: running;
  -moz-animation-play-state: running;
  -ms-animation-play-state: running;
  -o-animation-play-state: running;
  animation-play-state: running;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animated.fadeInUp {
  -webkit-animation-name: fadeInUp;
  -moz-animation-name: fadeInUp;
  -o-animation-name: fadeInUp;
  animation-name: fadeInUp;
}


.banner_slider .swiper-slide img {
  transition: transform 3s ease-in-out, opacity 4s ease-in-out;
  transform: scale3d(1.1, 1.1, 1.1);
  opacity: 0.7;
}

.banner_slider .swiper-slide-active img {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}
