/* ============================================
   MOBILE / RESPONSIVE
   ============================================ */

@media only screen and (max-width: 980px) {
  .et_pb_search_0_tb_header {
    display: none !important;
  }
  .mobile_menu_bar:before {
    color: #ffffff !important;
  }
  .et_pb_image_0_tb_header .et_pb_image_wrap img {
    max-height: none !important;
    width: 140px !important;
    height: auto !important;
    flex-shrink: 0 !important;
  }
  .et_pb_image_0_tb_header {
    flex-shrink: 0 !important;
  }
}

@media only screen and (max-width: 767px) {
  h2 {
    font-size: 28px !important;
    line-height: 1.3em !important;
  }
  h3 {
    font-size: 18px !important;
  }
  h4 {
    font-size: 15px !important;
  }
  .cat-col-title.et_pb_text h2 {
    font-size: 20px !important;
  }
  .cat-overview-blog .et_pb_post:first-child h2 {
    font-size: 16px !important;
  }
  .et_pb_posts_nav {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .et_monarch .et_social_inline .et_social_networks ul {
    justify-content: center !important;
  }
}


/* ============================================
   HEADINGS
   ============================================ */

h1 {
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 600 !important;
  font-size: 60px !important;
  text-transform: uppercase !important;
  color: #353740 !important;
  padding-bottom: 10px;
  line-height: 1.3em !important;
}
h2 {
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  text-transform: uppercase !important;
  color: #353740 !important;
  padding-bottom: 10px;
  line-height: 1.3em !important;
}
h3 {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  line-height: 1.2em !important;
}
h4 {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.2em !important;
  text-transform: uppercase !important;
}
h5 {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  text-transform: none !important;
}
h6 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  line-height: 1.5em !important;
}

/* ============================================
   CUSTOM TYPE CLASSES
   ============================================ */

.decade-title {
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 600 !important;
  font-size: 60px !important;
  color: #353740 !important;
  padding-bottom: 10px;
  line-height: 1.3em !important;
}
.smallquote {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  font-style: italic !important;
  line-height: 1.5em !important;
}
.mediumquote {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  font-style: italic !important;
  line-height: 1.5em !important;
}
.largequote {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  font-size: 42px !important;
  font-style: italic !important;
  line-height: 1.5em !important;
}

/* ============================================
   LAYOUT UTILITIES
   ============================================ */

/* Equal height image rows */
.equal-image-row .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
}
.equal-image-row .et_pb_image,
.equal-image-row .et_pb_image_wrap,
.equal-image-row .et_pb_image_wrap img {
  height: 100% !important;
  width: 100% !important;
  display: block !important;
}
.equal-image-row .et_pb_image_wrap img {
  object-fit: cover !important;
  object-position: center !important;
}

/* Square thumbnails Divi gallery module */
.gsquare .et_pb_gallery_image {
  padding-top: 100%;
}
.gsquare .et_pb_gallery_image img {
  position: absolute;
  height: 100%;
  bottom: 0;
  object-fit: cover;
}

/* Top page title bar section */
.et_pb_section.page-titlebar {
  height: 297px !important;
  display: flex;
  align-items: center;
  background-color: #fff !important;
}

/* ============================================
   HEADER
   ============================================ */

/* Header menu row alignment */
.et_pb_row--with-menu {
  display: flex;
  align-items: center;
}

/* Submenu arrow rotation */
.et-menu li li.menu-item-has-children > a:first-child:after {
  transform: rotate(-90deg) !important;
  display: inline-block !important;
}

/* Hide search button text */
.et_pb_searchsubmit {
  font-size: 0;
}

/* Header sticky shrink */
.et_pb_sticky .et_pb_row_1_tb_header.et_pb_equal_columns {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.et_pb_sticky.et_pb_section_1_tb_header .et_pb_section {
  height: auto !important;
  min-height: unset !important;
}
.et_pb_sticky.et_pb_section_1_tb_header {
  height: auto !important;
  min-height: unset !important;
}

/* ============================================
   MONARCH SOCIAL SHARING (below posts)
   ============================================ */

.et_monarch .et_social_inline {
  margin-top: 30px !important;
  margin-bottom: 5px !important;
}
.et_monarch .et_social_inline .et_social_networks .et_social_facebook .et_social_icon,
.et_monarch .et_social_inline .et_social_networks .et_social_twitter .et_social_icon,
.et_monarch .et_social_inline .et_social_networks .et_social_pinterest .et_social_icon,
.et_monarch .et_social_inline .et_social_networks .et_social_linkedin .et_social_icon,
.et_monarch .et_social_inline .et_social_networks .et_social_like .et_social_icon {
  background-color: #bd2a60 !important;
}
.et_monarch .et_social_inline .et_social_networks .et_social_facebook .et_social_icon:hover,
.et_monarch .et_social_inline .et_social_networks .et_social_twitter .et_social_icon:hover,
.et_monarch .et_social_inline .et_social_networks .et_social_pinterest .et_social_icon:hover,
.et_monarch .et_social_inline .et_social_networks .et_social_linkedin .et_social_icon:hover,
.et_monarch .et_social_inline .et_social_networks .et_social_like .et_social_icon:hover {
  background-color: #2ea3f2 !important;
}
.et_monarch .et_social_inline .et_social_networks .et_social_twitter .et_social_icon:before {
  content: "𝕏" !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: bold !important;
  font-size: 18px !important;
}
.et_monarch .et_social_inline .et_social_icons_container {
  display: flex !important;
  justify-content: center !important;
}
.et_monarch .et_social_inline .et_social_networks ul {
  display: flex !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

/* ============================================
   MONARCH SOCIAL FOLLOW (footer shortcode)
   ============================================ */

.et_social_shortcode_0 {
  text-align: center !important;
  width: 100% !important;
  padding: 5px 0 0 0 !important;
}
.et_social_shortcode_0 .et_social_networks {
  text-align: center !important;
  justify-content: center !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.et_social_shortcode_0 ul.et_social_icons_container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 2px !important;
  padding: 2px 0 0 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.et_social_shortcode_0 .et_social_icon {
  background-color: transparent !important;
  border: none !important;
  width: 60px !important;
  height: 60px !important;
  line-height: 60px !important;
}
.et_social_shortcode_0 .et_social_icon a,
.et_social_shortcode_0 .et_social_icon i,
.et_social_shortcode_0 .et_social_icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  font-size: 26px !important;
  line-height: 60px !important;
}
.et_social_shortcode_0 .et_social_icon i {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 60px !important;
  font-size: 26px !important;
}
.et_social_shortcode_0 .et_social_icon:hover {
  background-color: rgba(255,255,255,0.2) !important;
}
.et_social_shortcode_0 .et_social_twitter a i {
  font-size: 0 !important;
}
.et_social_shortcode_0 .et_social_twitter a i::before {
  content: "𝕏" !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: bold !important;
  font-size: 20px !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 60px !important;
  line-height: 60px !important;
}

/* Footer social code module centering */
.footer-social .et_pb_code_inner {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

/* ============================================
   POST NAVIGATION
   ============================================ */

.et_pb_posts_nav {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 5px !important;
}
.et_pb_posts_nav .nav-previous,
.et_pb_posts_nav .nav-next {
  flex: 0 1 auto;
}

/* ============================================
   CATEGORY OVERVIEW (single post template)
   ============================================ */

/* Column titles (NEWS, EVENTS, ART) */
.cat-col-title.et_pb_text h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}
.et_pb_post_content_0_tb_body {
  margin-bottom: 0 !important;
}
.cat-overview-blog .et_pb_post:first-child {
  margin-bottom: 8px !important;
}
.cat-overview-blog .et_pb_post:first-child h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  text-transform: none !important;
}
.cat-overview-blog .et_pb_post:not(:first-child) {
  margin-bottom: 8px !important;
  display: grid;
  grid-template-columns: 80px 1fr;
  grid-template-rows: auto auto auto;
  gap: 4px 12px;
}
.cat-overview-blog .et_pb_post:not(:first-child) .entry-featured-image-url {
  grid-column: 1;
  grid-row: 1 / 4;
}
.cat-overview-blog .et_pb_post:not(:first-child) .entry-featured-image-url img {
  width: 80px;
  height: 80px;
  object-fit: cover;
}
.cat-overview-blog .et_pb_post:not(:first-child) h2 {
  grid-column: 2;
  grid-row: 1;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  text-transform: none !important;
  margin: 0 !important;
}
.cat-overview-blog .et_pb_post:not(:first-child) .post-meta {
  grid-column: 2;
  grid-row: 2;
  font-size: 12px;
  margin: 0 !important;
}
.cat-overview-blog .et_pb_post:not(:first-child) .post-content {
  grid-column: 2;
  grid-row: 3;
}
.cat-overview-blog .et_pb_post:not(:first-child) .post-content p {
  font-size: 0;
  line-height: 0;
}
.cat-overview-blog .et_pb_post:not(:first-child) .post-content .more-link {
  font-size: 0 !important;
  line-height: 0;
}
.cat-overview-blog .et_pb_post:not(:first-child) .post-content .more-link::after {
  content: "Read more...";
  font-size: 12px;
  line-height: normal;
}
.cat-overview-blog .et_pb_post .entry-featured-image-url {
  margin-bottom: 5px !important;
  display: block;
}
.cat-overview-blog .et_pb_post h2 {
  margin-top: 0 !important;
}
.cat-overview-blog .et_pb_post.et_pb_no_thumb {
  display: block !important;
}
.cat-overview-blog .et_pb_post.et_pb_no_thumb h2,
.cat-overview-blog .et_pb_post.et_pb_no_thumb .post-meta,
.cat-overview-blog .et_pb_post.et_pb_no_thumb .post-content {
  grid-column: unset !important;
  grid-row: unset !important;
}

/* ============================================
   GLOBAL ELEMENTS
   ============================================ */

/* Read more link text change site-wide */
.more-link {
  font-size: 0;
}
.more-link::after {
  content: "Read more...";
  font-size: 14px;
}

/* List items */
ul li, ol li {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  line-height: 1.9em !important;
}

/* Photo caption styling */
.photo-caption {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.4em !important;
  color: #777777 !important;
  margin-top: 6px !important;
}
.et_pb_image:has(+ .photo-caption) {
  margin-bottom: 0 !important;
}

/* ============================================
   LIGHTBOX / FOOBOX
   ============================================ */

/* Hide br on foobox image caption */
.mfp-bottom-bar .mfp-title {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px;
}
.mfp-title br {
  display: inline-block !important;
  content: " " !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .lightbox-long-text .et_pb_gallery_item .et_pb_gallery_title,
html body .lightbox-long-text .et_pb_gallery_item .et_pb_gallery_caption {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mfp-title {
  font-size: 15px !important;
  line-height: 1.5em !important;
  color: #ffffff !important;
  text-align: center;
  max-width: 85%;
  margin: 12px auto 0 auto;
  white-space: normal !important;
}

.et-menu li li.menu-item-has-children > a:first-child:after {
  transform: rotate(-90deg) !important;
  display: inline-block !important;
}
.et_pb_menu__menu ul li li.menu-item-has-children > a:after {
  transform: rotate(-90deg) !important;
  display: inline-block !important;
}
.et_pb_menu__menu ul ul li.menu-item-has-children > a:after {
  transform: rotate(-90deg) !important;
  display: inline-block !important;
}

/* Mobile submenu collapse fix - override Divi's forced-open mobile submenus */
.et_pb_menu .et_mobile_menu li ul {
  display: none !important;
  visibility: hidden !important;
}
.et_pb_menu .et_mobile_menu li.et-touch-hover > ul,
.et_pb_menu .et_mobile_menu li.et-show-dropdown > ul,
.et_pb_menu .et_mobile_menu li.opened > ul {
  display: block !important;
  visibility: visible !important;
}

.et_pb_menu .et_mobile_menu {
  width: auto !important;
  display: inline-block !important;
  background: transparent !important;
}
