/*
 Theme Name: Divi Child
 Theme URI: https://wartski.com/
 Description: Divi Child Theme
 Template: Divi
 Version: 1.0.0
*/
 
/* Custom css
------------------------------------------------------- */
p.project-subtitle {text-align:center;}

@media screen and (min-width: 982px) {
	.et_pb_menu--style-centered .et_pb_menu__wrap {
	  justify-content: flex-end;
	}
}

footer .et_pb_menu_0_tb_footer.et_pb_menu {
  background: transparent;
}
footer .et_mobile_nav_menu .mobile_menu_bar {
  display: none !important;
}

#mobile_menu4 {
  display: block !important;
}

#mobile_menu4 ul {
  display: flex !important;
  justify-content: center; /* or left/right */
  gap: 10px; /* space between flags/links */
}

@media (max-width: 980px) {
  footer .et_pb_menu .et_mobile_menu {
    top: auto;
    padding: 0;
	border-top:0;
	line-height: 14px !important;
	position: relative;
  left:auto;
  margin:0;
  background:transparent !important;
  box-shadow:none !important;
  -moz-box-shadow:none !important;
  -webkit-box-shadow:none !important;
  }
}
footer .et_pb_menu_0_tb_footer.et_pb_menu .et_mobile_menu, footer .et_pb_menu_1_tb_footer.et_pb_menu .et_mobile_menu {background:transparent !important;} 
footer .et_pb_menu .et_pb_menu__wrap {
  display: block;
text-align:left;
}
footer .et_mobile_menu li {
  font-size:12px;
  padding:6px 0;
}
footer .et_mobile_menu li a {
  border-bottom:0;
  color: #666;
  padding:0;
 display: inline-block;
  font-size:12px;
}
footer .mobile_nav closed {width:100%;}

footer .et_pb_menu_0_tb_footer.et_pb_menu, footer .et_pb_menu_1_tb_footer.et_pb_menu {
  background:transparent !important;
}

/*Woocommerce*/
.et_pb_wc_add_to_cart .quantity input.qty {border: 1px solid #B4B4B4 !important;}
.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty {background-color:#F6F5F4;color:black;padding: 3px 0px 3px 0;}

.wp-element-button, .wp-block-button__link {background-color:#8d8a6a !important;}


.collection-card h3 { margin:12px 0 0; }
.collections-pagination { margin-top: 28px; }

/* Page title */
.collections-header { margin-bottom: 18px; }
.collections-h1 { margin: 0; }
.collections-wrap h1 {position:relative;text-align:center;font-family: 'Cinzel Decorative', display !important;color: #7D7A5F !important;font-size: 30px;padding-bottom:30px;margin-bottom:30px; }
.collections-wrap h1:after {content: "";width: 100%;height: 1px;background-color:#8d8a6a;position: absolute;left: 0;bottom: 0;z-index: 10;}

/* Filters */
.collections-filters {display:flex;flex-wrap: wrap;gap:0;margin: 0 0 52px;justify-content: center;}
.collections-filters a {position:relative;padding:3px 12px;display: inline-block;height: auto;overflow: hidden;margin: -1px -1px 0 0;font-size: 13px;}
/* Divider on the next item so the last link has no trailing line */
.collections-filters a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 1px;
  height: 14px;
  background-color: #e2e2e2;
  pointer-events: none;
}
.collections-filters a.is-active {font-weight: 700; text-decoration: underline; }
.collections-filters a.collections-filter--has-chevron {
  padding-right: 12px;
}
.collections-filters a.collections-filter--has-chevron::after {
  content: none;
  display: none;
}
/* Temporarily hide the parent category (e.g. Jewellery) in the subcategory bar */
.collections-filters a.collections-filter--root { display: none; }
/* Hide filter bar on categories with no subcategories; keep spacing for layout */
.collections-filters--no-subcats { visibility: hidden; }
/* Grid */
.collections-grid {display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap:24px 5%; }

ul.products a.add_to_cart_button {margin:0 0.6rem;}

@media (max-width: 980px) { 
  .collections-grid {grid-template-columns: repeat(2, 1fr); } 
}
@media (max-width: 767px) { 
  /*.collections-grid {grid-template-columns:1fr;} */
}
/* Card alignment */
.collection-card, .collection-link {text-align: center;}
.collection-card h2 {font-size:18px;font-weight:300;}
.collection-link {display: block;}
/* Square thumbnail box with centring */
.collection-thumb {width: 100%;aspect-ratio: 1 / .8;overflow: hidden;display: flex;align-items: center;justify-content: center;margin-bottom:0.6rem;}
.collection-thumb img {width:80%;height:auto;object-fit: cover;  /* or 'contain' if you prefer no cropping */display: block;}
.collection-title {margin: 12px 0 0;}

/* Pagination container */
.collections-pagination {margin-top: 32px;text-align: center;}
/* Base link styles */
.collections-pagination .page-numbers {display: inline-flex;align-items: center;justify-content: center;min-width: 36px;height: 36px;margin: 0 3px;padding:8px;border: 1px solid #ccc;border-radius: 4px;text-decoration: none;font-weight: 500;line-height: 1;transition: background-color .15s ease, color .15s ease, border-color .15s ease;font-size: 12px;}
/* Hover */
.collections-pagination .page-numbers:hover {border-color: #8d8a6a;}
/* Current page */
.collections-pagination .page-numbers.current {background: #8d8a6a;color: #fff;border-color: #8d8a6a;pointer-events: none;}
/* Prev/next arrows (optional tweak) */
.collections-pagination .prev,.collections-pagination .next {font-weight: 600;}
/* 
.collections-hero {position: relative;width: 100%;min-height: 46vh; max-height: 70vh;overflow: hidden;border-radius: 0;}

Full-bleed breakout from a fixed-width container */
.collections-hero {width: 100vw;max-width: 100vw;position: relative;left: 50%;right: 50%;min-height: 46vh; max-height: 70vh;overflow: hidden;margin:-97px -50vw 4rem -50vw;}

.collections-hero__bg,.collections-hero__bg video,.collections-hero__bg iframe,.collections-hero video.collections-hero__bg {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;}
/* Optional dark overlay for text contrast */
.collections-hero__overlay {position: absolute;inset: 0;/*background: linear-gradient(  to bottom,  rgba(0,0,0,0.1),  rgba(0,0,0,0.1));*/}
/* Content layer (if you want text/buttons over the video) */
.collections-hero__content {position: relative;z-index: 2;height: 100%;display: grid;place-items: center;color: #fff;text-align: center;padding: 2rem;}
/* Let the full-bleed hero escape Divi section/row overflow when used via [hero_video] */
.et_pb_section:has(.collections-hero),
.et_pb_row:has(.collections-hero),
.et_pb_column:has(.collections-hero),
.et_pb_code:has(.collections-hero),
.et_pb_text:has(.collections-hero),
.et_pb_code_inner:has(.collections-hero),
.et_pb_fullwidth_code:has(.collections-hero) {overflow: visible;}
/*
 * Collections pulls the video up with margin:-97px because its first section
 * already has ~261px padding. A fullwidth Code module is only padded by the
 * header height, so that -97px tucks the video under the nav and leaves an
 * extra section gap below. Sit flush with the header and keep the same 4rem
 * space before the next section.
 */
.et_pb_fullwidth_code .collections-hero,
.collections-hero--page {
  margin-top: 0;
  margin-bottom: 0;
  height: 46vh;
}
.et_pb_fullwidth_section:has(.collections-hero) + .et_pb_section,
.et_pb_section:has(.collections-hero--page) + .et_pb_section {
  padding-top: 4rem;
}

/*Recently viewed*/
.rv-collections {padding:30px 0;margin: 0 auto;width:80%;max-width:1280px;border-top:1px solid #A5A2A2;}
.rv-collections__title { text-align:center; margin-bottom: 18px;}
.rv-collections__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 5%;}
.rv-collections__name {font-size:16px;font-weight:300;padding:0.6rem 1rem 0 1rem;color: #333;}
.rv-collections__item,.rv-collections__item a{text-align:center;display:block;}
.rv-collections__item {background-color:white;padding-bottom:1rem;}
.rv-collections__thumb {width:100%;aspect-ratio:1/.8;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.rv-collections__thumb img{width:80%;height:auto;object-fit:cover;display:block;}
.rv-collections__subtitle {margin-top: 4px;font-size: 0.9rem;opacity: 0.8;padding:0 1rem;}
@media (max-width:980px){ 
  .rv-collections__grid{grid-template-columns:repeat(2,1fr);} 
}
@media (max-width:767px){ 
  .rv-collections__grid{grid-template-columns:1fr;} 
}
 @media (min-width: 981px) {
    body.search #main-content .container:before {
        display:none !important;
    }
}

.et_mobile_menu li a {font-family: 'Encode Sans Condensed', Helvetica, Arial, Lucida, sans-serif !important;text-transform: uppercase !important; font-weight: 400 !important;}
#main-header, #main-header .nav li ul, .et-search-form, #main-header .et_mobile_menu {background-color: rgba(244, 244, 244, 1) !important;}

/* Collection live search (header) */
.et_search_outer,
.container.et_search_form_container,
#main-header .et_search_form_container,
#main-header #et_top_search {
  overflow: visible;
}

/* Centered headers hide the slide-down search at <=980px, and Divi's script
   then squeezes the field to ~60px. Show the icon beside the menu button
   and let the bar use the same width and animation as desktop. */
@media (max-width: 980px) {
  .et_header_style_centered #et_top_search,
  .et_header_style_split #et_top_search {
    display: block !important;
    position: absolute;
    right: 46px;
    top: 0;
    float: none;
    width: 32px;
    height: 33px;
    margin: 0 !important;
    z-index: 5;
  }
  .et_header_style_centered #et_search_icon,
  .et_header_style_split #et_search_icon {
    display: block;
    position: relative;
    width: 32px;
    height: 33px;
    cursor: pointer;
  }
  .et_header_style_centered #et_search_icon:before,
  .et_header_style_split #et_search_icon:before {
    top: 8px;
    left: 8px;
  }
  .et_header_style_centered .et_search_outer,
  .et_header_style_split .et_search_outer {
    display: block;
  }
  .et_header_style_centered .container.et_search_form_container,
  .et_header_style_split .container.et_search_form_container {
    max-width: none !important;
  }
  .et_header_style_centered .et_pb_menu_hidden .mobile_menu_bar,
  .et_header_style_split .et_pb_menu_hidden .mobile_menu_bar {
    opacity: 0;
    animation: fadeOutBottom 1s 1 cubic-bezier(0.77, 0, 0.175, 1);
  }
}
.jm-collection-search {
  position: fixed;
  z-index: 1000000;
  max-height: 420px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #d9d9d9;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.jm-collection-search__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #eee;
}
.jm-collection-search__item:last-of-type {
  border-bottom: 0;
}
.jm-collection-search__item:hover,
.jm-collection-search__item.is-active {
  background: #f6f5f4;
}
.jm-collection-search__thumb {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}
.jm-collection-search__thumb img {
  width: 80%;
  height: auto;
  object-fit: cover;
  display: block;
}
.jm-collection-search__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  text-align: left;
}
.jm-collection-search__title {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}
.jm-collection-search__subtitle {
  font-size: 12px;
  font-style: italic;
  opacity: 0.8;
  line-height: 1.3;
}
.jm-collection-search__message {
  padding: 12px;
  font-size: 13px;
  color: #666;
  text-align: left;
}
.jm-collection-search__view-all {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-top: 1px solid #eee;
  background: #f4f4f4;
  color: #7d7a5f;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.jm-collection-search__view-all:hover {
  background: #ececec;
}
@media (max-width: 980px) {
  .jm-collection-search {
    max-height: 60vh;
  }
}
span.select_page {color: rgba(244, 244, 244, 1) !important;}
.et_header_style_centered #main-header .mobile_nav {background-color: rgba(244, 244, 244, 1);}
.subtitle {font-style:italic;font-weight:400;font-size:1.2rem;font-family:Georgia, 'Times New Roman', Times, serif}

/* Collection single title: Divi Text module (plain text, no heading/class).
   Target the module immediately before .subtitle, with a fallback to the
   first text module in the details column for items without a subtitle. */
body.single-collection .et_pb_text:has(+ .et_pb_text.subtitle) .et_pb_text_inner,
body.single-collection #main-content .et_pb_column_1_3 > .et_pb_text:first-child .et_pb_text_inner {
  font-family: 'Cinzel Decorative', display, serif !important;
  font-weight: 400 !important;
  color: #7D7A5F !important;
  font-size: 24px;
  line-height: 1.35;
}

/*Woocommerce styles*/
/* Checkout order-summary basket: hide Divi shortcode leakage in product metadata */
.wc-block-checkout .wc-block-components-product-metadata__description,
.wc-block-cart .wc-block-components-product-metadata__description {
  display: none !important;
}

.wc-block-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
  border: 1px solid #433f3f;
  border-radius: 4px;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {margin: 0 5% 2.992em 0;}
.cw-publications-shop-wrap.container {
  width: 80%;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 3rem;
}
/* Divi sidebar layout adds a 1px separator even when no sidebar is present */
body.woocommerce-shop #main-content .container:before,
.cw-publications-shop-wrap.container:before {
  display: none !important;
}
body.woocommerce-shop #content-area,
.cw-publications-shop-wrap #content-area,
body.woocommerce-shop #left-area,
.cw-publications-shop-wrap #left-area {
  border-left: 0 !important;
  border-right: 0 !important;
}
.cw-publications-shop-intro {margin-bottom: 2rem;text-align: center;}
.cw-publications-shop-title {font-family: 'Cinzel Decorative', display, serif;color: #7D7A5F;font-size: 30px;margin: 0 0 1rem;}
.cw-publications-shop-lead {font-size: 12px;line-height: 1.4;margin: 0;}
.woocommerce-page.columns-3 ul.products li.product, .woocommerce.columns-3 ul.products li.product {width:30%;text-align:center;}
@media screen and (min-width: 981px) {
  .cw-publications-shop ul.products,
  .woocommerce-shop ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 5%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }
  .cw-publications-shop ul.products::before,
  .cw-publications-shop ul.products::after,
  .woocommerce-shop ul.products::before,
  .woocommerce-shop ul.products::after {
    display: none !important;
    content: none !important;
  }
  .cw-publications-shop ul.products li.product,
  .woocommerce-shop ul.products li.product,
  .woocommerce-page.columns-3 ul.products li.product,
  .woocommerce.columns-3 ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
}
h2.woocommerce-loop-product__title {font-size:18px !important;font-weight:300 !important;}
span.et_shop_image {position:relative;display:block !important;text-align:center !important;width:100% !important;}
span.et_shop_image img {width:80%;height:auto;margin:0 auto !important;}
.woocommerce ul.order_details {list-style: none;background-color: rgba(244, 244, 244, 1) !important;padding: 0.6rem !important;margin: 1rem 0 !important;}
table.woocommerce-table--order-details tr {vertical-align: top !important}

/* Single product: hide Woo's default top-level gallery, keep Divi Woo Images gallery */
.single-product div.product > .woocommerce-product-gallery {
  display: none !important;
}
.single-product .et_pb_wc_images .woocommerce-product-gallery {
  display: block !important;
}

.tc-epo-element-label-text {font-size:1.06rem;font-weight:400;}
.ringform-header-div .tc-epo-element-label-text {font-size:1.26rem;font-weight:500;}
.tm-extra-product-options .tc-element-inner-wrap .tc-row {gap: 4px;}

.sb_instagram_header {display:none !important;}

/* Collection media gallery (CPT, ACF-driven) */
.cpt-media-gallery {max-width: 980px; margin: 0 auto;}
.cpt-media-main {aspect-ratio: 4 / 3; background: #fff; position: relative; overflow: hidden;}
.cpt-media-main img,
.cpt-media-main video {width: 100%; height: 100%; object-fit: contain; display: block;}
.cpt-media-main-images {width: 100%; height: 100%;}
.cpt-media-main-image,
.cpt-media-main-video {width: 100%; height: 100%;}
.cpt-media-main-image {display: none; position: relative;}
.cpt-media-main-image.is-active {display: block;}
.cpt-media-main-images.is-hidden,
.cpt-media-main-image.is-hidden,
.cpt-media-main-video.is-hidden {display: none;}
.cpt-media-zoom-lens {display: none; position: absolute; inset: 0; background-repeat: no-repeat; pointer-events: none; z-index: 1;}
.cpt-media-main-image.is-zooming .cpt-media-zoom-lens {display: block;}
.cpt-media-main-image.is-zooming img {opacity: 0;}
.cpt-media-main-image.is-active {cursor: zoom-in;}
.cpt-media-main-image.is-active.is-zooming {cursor: zoom-out;}
@media (max-width: 767px), (hover: none), (pointer: coarse) {
  .cpt-media-main-image.is-active,
  .cpt-media-main-image.is-active.is-zooming {cursor: auto;}
  .cpt-media-zoom-lens {display: none !important;}
  .cpt-media-main-image.is-zooming img {opacity: 1 !important;}
}
.cpt-media-thumbs-wrap {margin: 14px auto 0; width: 88%; position: relative; display: flex; align-items: center; justify-content: center; gap: 10px;}
.cpt-media-thumbs-viewport {width: calc(100% + 2px); margin: 0 -1px; padding: 0 1px; overflow: hidden; box-sizing: border-box;}
.cpt-media-thumbs {display: flex; gap: 10px; width: 100%; transition: transform 280ms ease;}
.cpt-media-thumb {border: 0; background: #fff; padding: 0; cursor: pointer; width: calc((100% - 20px) / 3); min-width: calc((100% - 20px) / 3); flex: 0 0 calc((100% - 20px) / 3); position: relative; box-sizing: border-box;}
.cpt-media-thumb::after {content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px #d9d9d9; pointer-events: none; box-sizing: border-box;}
.cpt-media-thumb.is-active::after {box-shadow: inset 0 0 0 1px #8d8a6a;}
.cpt-media-thumbs img {width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block;}
.cpt-media-thumb.is-video .cpt-media-thumb__play {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 34px; height: 34px; border-radius: 50%; background: rgba(0, 0, 0, 0.55);}
.cpt-media-thumb.is-video .cpt-media-thumb__play::before {content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-40%, -50%); width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid #fff;}
.cpt-media-nav {display: none; width: 34px; height: 34px; border: 1px solid #d9d9d9; background: #fff; color: #666; line-height: 1; cursor: pointer; border-radius: 50%; flex: 0 0 34px;}
.cpt-media-nav:disabled {opacity: 0.35; cursor: default;}
.cpt-media-thumbs-wrap.is-slider-active .cpt-media-nav {display: inline-flex; align-items: center; justify-content: center;}
.cpt-media-thumbs-wrap:not(.is-slider-active) .cpt-media-thumbs {justify-content: center;}
@media (max-width: 767px) {
  .cpt-media-thumbs-wrap {width: 88%; gap: 8px;}
  .cpt-media-thumbs {gap: 8px;}
  .cpt-media-thumb {width: calc((100% - 16px) / 3); min-width: calc((100% - 16px) / 3); flex-basis: calc((100% - 16px) / 3);}
  .cpt-media-thumb.is-video .cpt-media-thumb__play {width: 30px; height: 30px;}
  .cpt-media-thumb.is-video .cpt-media-thumb__play::before {border-top-width: 6px; border-bottom-width: 6px; border-left-width: 10px;}
  .cpt-media-nav {width: 30px; height: 30px; flex-basis: 30px;}
}


/* Wedding ring form (wartski-wedding-rings product only) */
.single-product.cw-wedding-ring-product p.stock {display:none !important;}
.single-product.cw-wedding-ring-product p.price {display:none !important;}
.single-product.cw-wedding-ring-product p.price.cw-ring-live-price {display:block !important;}
.single-product.cw-wedding-ring-product .tm-epo-totals {display:none !important;}
.single-product.cw-wedding-ring-product .tc-section-inner-wrap {
  margin: 0 0 20px 0 !important;
}
.single-product.cw-wedding-ring-product li.tmcp-field-wrap span.tc-price-wrap {display:none !important;}
.single-product.cw-wedding-ring-product .tm-epo-field.tmcp-select {
  width: 100%;
  font-size: 1rem !important;
  padding: 0.6rem !important;
  cursor: pointer !important;
  background-color: #F2F3F2 !important;
  border: 0 !important;
}
.single-product.cw-wedding-ring-product .tm-epo-datepicker {
  width: 100%;
  max-width:240px;
  font-size: 1rem !important;
  padding: 0.6rem !important;
  cursor: pointer !important;
  background-color: #F2F3F2 !important;
  border: 0 !important;
}

/* Go to basket (after add) — align with publications shop loop */
.single-product.cw-wedding-ring-product form.cart .single_add_to_cart_button {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.6rem;
}
.single-product.cw-wedding-ring-product form.cart a.cw-go-to-basket,
.single-product.cw-wedding-ring-product form.cart a.added_to_cart {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 0.6rem;
}

/*Mailchimp subscribe form*/
.mcrow {
  width:100%;
  margin-bottom:1.4rem;
}
.mcrow.flex {
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.mcrow.flex .column {
  width:48%;
}
.mcrow label {
  display:none;
}
.mcrow input[type="text"], .mcrow input[type="email"] {
    appearance: none;
    background-color: #eee;
    width: 100%;
    border-width: 0;
    border-radius: 0;
    color: #999;
    font-size: 14px;
    padding: 16px;
}
.mcrow input[type="submit"] {
  color: #7D7A5F !important;
    border-width: 1px !important;
    border-color: #7D7A5F;
    border-radius: 8px;
    font-size: 18px;
    padding: 12px 16px;
    background-color: white;
    cursor: pointer;
}

/* Square blog thumbnails — compatible with Divi's grid JS (no flash/disappear) */
.et_pb_blog_grid .et_pb_image_container,
.et_pb_blog_grid_wrapper .et_pb_image_container {
  height: 0 !important;
  width: 100% !important;
  padding-bottom: 100% !important; /* 1:1 square */
  position: relative;
  overflow: hidden;
  display: block;
}
.et_pb_blog_grid .et_pb_image_container .entry-featured-image-url,
.et_pb_blog_grid_wrapper .et_pb_image_container .entry-featured-image-url {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.et_pb_blog_grid .et_pb_image_container img,
.et_pb_blog_grid_wrapper .et_pb_image_container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  max-width: none;
  object-fit: contain; /* full image visible; use cover to fill square with crop */
}

/* Slim desktop header (live-site scroll behaviour)
   Full header is taken out of `position:fixed` so it scrolls away.
   #cw-slim-header sits fixed underneath and is revealed as it leaves. */
.cw-slim-header { display: none; }

@media screen and (min-width: 981px) {
  #page-container {
    position: relative;
  }
  body.et_fixed_nav #top-header {
    position: absolute !important;
    top: 0 !important;
    width: 100%;
  }
  body.et_fixed_nav #main-header {
    position: absolute !important;
    width: 100%;
  }
  body.et_fixed_nav.et_secondary_nav_enabled #main-header {
    top: 31px !important;
  }
  body.et_fixed_nav:not(.et_secondary_nav_enabled) #main-header {
    top: 0 !important;
  }
  /* Keep the full header at its original size as it scrolls out */
  #main-header.et-fixed-header {
    box-shadow: none !important;
  }
  .et_header_style_centered #main-header.et-fixed-header #logo {
    height: 124px !important;
  }

  .cw-slim-header {
    display: block;
    position: fixed !important;
    left: 0;
    right: 0;
    top: 0;
    height: 50px;
    z-index: 99990;
    background-color: #f4f4f4;
    border-bottom: 1px solid #e8e8e8;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-100%);
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.35s ease,
                visibility 0s linear 0.45s;
  }
  body.cw-slim-header-visible .cw-slim-header {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.3s ease,
                visibility 0s linear 0s;
  }
  @media (prefers-reduced-motion: reduce) {
    .cw-slim-header,
    body.cw-slim-header-visible .cw-slim-header {
      transition: none;
    }
  }
  .admin-bar .cw-slim-header { top: 32px; }
  .cw-slim-header__inner {
    position: relative;
    height: 100%;
    width: 80%;
    max-width: 1280px;
    margin: 0 auto;
  }
  .cw-slim-header__logo {
    position: absolute;
    left: 0;
    top: 10px;
    z-index: 2;
    line-height: 0;
  }
  .cw-slim-header__logo img {
    display: block;
    height: 30px;
    width: auto;
    background: transparent;
  }
  .cw-slim-header__nav {
    height: 100%;
    text-align: center;
  }
  .cw-slim-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
  }
  .cw-slim-menu > li {
    display: inline-block;
    position: relative;
    height: 100%;
    margin: 0;
    padding: 0 22px 0 0;
    vertical-align: top;
  }
  .cw-slim-menu > li:last-child {
    padding-right: 0;
  }
  .cw-slim-menu > li > a {
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    padding: 0;
    font-family: 'Encode Sans Condensed', Helvetica, Arial, Lucida, sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 14px;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.9);
    border-bottom: 0;
    text-decoration: none;
  }
  .cw-slim-menu > li.menu-item-has-children > a {
    padding-right: 20px;
  }
  .cw-slim-menu > li:hover > a,
  .cw-slim-menu > li.current-menu-item > a,
  .cw-slim-menu > li.current-menu-parent > a,
  .cw-slim-menu > li.current-menu-ancestor > a {
    color: #8d8a6a;
    text-decoration: none;
  }
  .cw-slim-menu > li.menu-item-has-children > a:after {
    content: "3";
    font-family: ETmodules;
    font-size: 16px;
    font-weight: 400;
    color: inherit;
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 14px;
    margin-top: -7px;
    line-height: 14px;
    speak: none;
  }
  .cw-slim-menu .sub-menu {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 1000;
    min-width: 240px;
    margin: 0;
    padding: 20px 0;
    list-style: none;
    text-align: left;
    background: #f4f4f4;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  }
  .cw-slim-menu > li:hover > .sub-menu,
  .cw-slim-menu .sub-menu > li:hover > .sub-menu {
    display: block;
  }
  .cw-slim-menu .sub-menu li {
    margin: 0;
    position: relative;
  }
  .cw-slim-menu .sub-menu a {
    display: block;
    position: relative;
    padding: 6px 20px;
    font-family: 'Encode Sans Condensed', Helvetica, Arial, Lucida, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 28px;
    color: rgba(0, 0, 0, 0.9);
    text-transform: uppercase;
    letter-spacing: normal;
    white-space: nowrap;
  }
  .cw-slim-menu .sub-menu a:hover {
    color: #8d8a6a;
    background: transparent;
    text-decoration: none;
  }
  .cw-slim-menu .sub-menu .menu-item-has-children > a {
    padding-right: 40px;
  }
  .cw-slim-menu .sub-menu .menu-item-has-children > a:after {
    content: "3";
    font-family: ETmodules;
    font-size: 16px;
    font-weight: 400;
    position: absolute;
    top: 6px;
    right: 20px;
    width: 16px;
    line-height: 28px;
    speak: none;
  }
  .cw-slim-menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
    padding: 20px 0;
  }
  .cw-slim-header__tools {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 3;
  }
  .cw-slim-header__search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #808080;
    cursor: pointer;
  }
  .cw-slim-header__search-toggle:hover { color: #000; }
  .cw-slim-header__search-form {
    display: none;
    width: 240px;
  }
  .cw-slim-header.is-search-open .cw-slim-header__search-form { display: block; }
  .cw-slim-header__search-form .et-search-field {
    width: 100%;
    height: 32px;
    padding: 0 10px;
    border: 1px solid #d9d9d9;
    background: #fff;
    font-size: 13px;
    color: #333;
  }
}

@media screen and (min-width: 783px) and (max-width: 980px) {
  .admin-bar .cw-slim-header { top: 32px; }
}
@media screen and (max-width: 782px) {
  .admin-bar .cw-slim-header { top: 46px; }
}

.cky-btn-revisit-wrapper {background-color:#A2A5A7 !important;}