/*
Theme Name: Leroux Child
Theme URI: https://leroux.qodeinteractive.com
Description: A child theme of Leroux
Author: Elated Themes
Author URI: https://qodeinteractive.com
Version: 1.0
Text Domain: leroux
Template: leroux
*/

/* ==========================================================================
   1. LAYOUT & GRID OVERRIDES
   ========================================================================== */

body {
    overflow-x: hidden;
}

.full-height {
    height: calc(100vh - 272px);
}

.full-height-250 {
    height: calc(100vh - 244px);
}

#qodef-page-inner {
  padding-top: 0;
  padding-bottom: 0;
  max-width: 100%;
  width: 100%;
}

.qodef-content-grid {
  max-width: 1400px;
  width: 100%;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1400px !important;
}

.single-post .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 900px !important;
}

#qodef-single-post-navigation {
  display: flex;
  margin: 40px auto;
  width: 100%;
  max-width: 900px;
}

#qodef-single-post-navigation .qodef-m-inner {
  width: 100%;
}

.padding-left {
  padding-left: calc((100vw - 1420px) / 2);
}

.elementor-container.elementor-column-gap-extended {
  gap: 10px;
}

.elementor-container.elementor-column-gap-wider {
  gap: 50px;
}

.elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.single
  .elementor-column-gap-default
  > .elementor-column
  > .elementor-element-populated {
  padding: 0;
}

.height-100,
.height-100 .elementor-widget-container {
  height: 100%;
}

.narrow {
  max-width: 659px !important;
  margin: 0 auto;
}

.narrow831 {
  max-width: 900px !important;
  margin: 0 auto;
}

/* ==========================================================================
   2. HEADER
   ========================================================================== */

#qodef-page-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  transition:
    transform 0.6s cubic-bezier(0.53, 0.8, 0.38, 0.97),
    opacity 0.4s ease !important;
}

.qodef-header--minimal #qodef-page-header-inner {
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 15px;
  padding-bottom: 15px;
}

.page-id-1009.qodef-header--minimal #qodef-page-header,
.page-id-3.qodef-header--minimal #qodef-page-header {
  background-color: #134a32;
}

.qodef-header--sticky-display.qodef-header--minimal #qodef-page-header {
  background-color: #134a32ed;
}

.qodef-header--sticky-at-footer #qodef-page-header {
  transform: translateY(-100%) !important;
  opacity: 0 !important;
  pointer-events: none;
}

#qodef-page-header .qodef-button.qodef-layout--outlined {
  color: #e5e6e0;
  border: 1px solid #e5e6e0;
}

#qodef-page-mobile-header-inner {
  border-bottom: none;
}

#qodef-top-area,
.qodef-header-sticky,
#qodef-side-area-close,
.qodef-progress-number,
.qodef-progress-title {
  display: none !important;
}

/* ==========================================================================
   3. SIDE AREA & FULLSCREEN MENU
   ========================================================================== */

#qodef-side-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 66px;
}

#qodef-side-area .widget a {
  color: #e5e6e0;
  font-size: 35px;
  font-family: kepler-std;
}

#qodef-side-area
  .widget
  ul:not(.qodef-shortcode-list):not(.select2-selection__rendered)
  li {
  margin-bottom: 0;
}

#qodef-side-area-inner
  .widget.widget_nav_menu
  ol:not(.qodef-shortcode-list):not(.select2-selection__rendered),
#qodef-side-area-inner
  .widget.widget_nav_menu
  ul:not(.qodef-shortcode-list):not(.select2-selection__rendered) {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

#qodef-fullscreen-area {
  background-color: #134a32;
}

/* ==========================================================================
   4. BUTTONS
   ========================================================================== */

.qodef-button.qodef-html--link {
  font-family: elza-narrow;
  font-size: 15px;
  line-height: 1.2;
  width: max-content;
  flex-wrap: nowrap;
  padding-top: 10px;
  padding-right: 20px;
  padding-left: 20px;
  font-weight: 400 !important;
}

.qodef-button.qodef-html--link .qodef-m-arrow {
  margin-bottom: 3px;
}

.qodef-progress-buttons {
  display: flex;
  gap: 28px;
}

.qodef-progress-buttons .qodef-button.qodef-html--link.qodef-layout--filled {
  font-size: 15px;
  color: #fff;
  font-family: elza-narrow;
  border: 2px solid #e9eae57e;
}

.qodef-progress-data {
  font-family: elza-narrow !important;
  font-size: 20px;
  z-index: 9999999999999;
  pointer-events: auto;
  margin-top: 0 !important;
  bottom: 10%;
  display: none !important;
}

.button-align-right {
  text-align: right;
}

.button-container {
  display: flex;
  flex-direction: row;
  gap: 28px;
  justify-content: center;
}

/* ==========================================================================
   5. TYPOGRAPHY & HEADINGS
   ========================================================================== */

.qodef-h2,
h2 {
  margin-top: 0;
}

/* ==========================================================================
   6. COUNTER
   ========================================================================== */

.qodef-counter.qodef-layout--simple .qodef-m-digit {
  font-family: kepler-std;
}

.qodef-counter.qodef-layout--simple .qodef-m-text {
  font-family: elza-narrow;
  font-size: 17px;
}

.money .qodef-m-digit-wrapper .qodef-m-digit::before {
  content: "$";
  display: inline-flex;
}

.qodef-counter.qodef-layout--simple .qodef-m-image-wrapper {
  margin-bottom: 9vh;
  height: 100%;
  width: 100%;
}

.qodef-counter.qodef-layout--simple .qodef-m-image-wrapper img {
  height: auto;
  width: 64px;
}

/* ==========================================================================
   7. ICON WITH TEXT
   ========================================================================== */

.qodef-icon-with-text.qodef-layout--top .qodef-m-icon-wrapper {
  margin: 0;
  width: auto;
  height: 62px;
}

.qodef-icon-with-text.qodef-layout--top .qodef-m-icon-wrapper svg {
  height: 62px;
  width: auto;
}

.qodef-icon-with-text .qodef-m-wrapper .qodef-m-title .qodef-m-title-text {
  font-size: 60px;
  font-family: kepler-std;
}

.qodef-icon-with-text .qodef-m-wrapper {
  padding: 50px 30% 50px 60px;
}

.qodef-icon-with-text.qodef-layout--top .qodef-m-text {
  font-size: 17px;
  font-family: elza-narrow;
  margin-top: 0;
}

.qodef-icon-with-text .qodef-m-content {
  margin-top: 26px;
}

.qodef-icon-with-text .qodef-m-digit-wrapper,
.qodef-icon-with-text .qodef-m-digit,
.qodef-icon-with-text .qodef-m-digit-static {
  font-size: 45px;
  line-height: 1.1;
  font-family: kepler-std;
}

.qodef-icon-with-text .qodef-m-digit-wrapper {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

.qodef-icon-with-text .qodef-m-digit,
.qodef-icon-with-text .qodef-m-digit-static {
  color: #20313a;
  display: block;
}

.qodef-icon-with-text .qodef-m-digit-prefix,
.qodef-icon-with-text .qodef-m-digit-postfix {
  font-size: 0.6em;
  font-weight: 800;
  color: #20313a;
  display: inline-block;
  vertical-align: middle;
}

.qodef-icon-with-text .qodef-m-digit-prefix {
  margin-right: 5px;
}

.qodef-icon-with-text .qodef-m-digit-postfix {
  margin-left: 5px;
}

/* ==========================================================================
   8. CARDS
   ========================================================================== */

.card {
  font-family: kepler-std;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}

.card-header {
  display: flex;
  align-items: center;
  margin-bottom: 90px;
  gap: 15px;
  font-family: elza-narrow;
}

.card-divider {
  flex: 1;
  height: 1px;
  background-color: #e9eae5;
}

.card-section-divider {
  height: 1px;
  background-color: #e9eae5;
}

.card-title {
  color: #e9eae5;
  font-size: 25px;
  font-weight: normal;
  line-height: 1.2;
  margin-bottom: auto;
  font-family: kepler-std;
}

.card-bottom-section {
  display: flex;
  flex-direction: column;
  gap: 120px;
}

.card-description-bottom {
  font-size: 15px;
}

.card-description {
  color: #e9eae5;
  font-size: 17px;
  line-height: 1.4;
  margin: 0 !important;
  font-family: kepler-std;
}

.card-buttons {
  display: flex;
  gap: 20px;
}

.card-buttons a:hover,
.card-buttons a:hover span {
  color: #e5e6e0 !important;
}

/* Card - Second style variant */
.card.second-style,
.card.second-style .card-title {
  color: #134a32;
}

.card.second-style .card-description {
  color: #303031;
}

.card.second-style .card-divider,
.card.second-style .card-section-divider {
  background-color: #134a32;
}

.card.second-style .card-bottom-section {
  gap: 50px;
  margin-top: 50px;
}

.card.second-style .card-header {
  margin-bottom: 53px;
}

.card.second-style .card-title {
  margin-bottom: 50px;
  font-size: 25px;
  line-height: 40px;
}

/* Card - Custom card content column variant */
.custom-card-content-col .card.second-style .card-title {
  margin-bottom: 28px;
}

.custom-card-content-col .card.second-style .card-header {
  margin-bottom: 38px;
  font-size: 15px;
}

.custom-card-content-col .card-description {
  font-size: 17px;
}

/* ==========================================================================
   9. SLIDER
   ========================================================================== */

.wp-block-themepunch-revslider {
  background-color: #134a32;
}

.slider-heading sr7-txt {
  font-family: elza-narrow !important;
  font-weight: 300 !important;
}

.slider-heading sr7-txt span {
  font-weight: 400 !important;
}

/* Simple Slider */
.qodef-simple-slider.qodef-layout--info-on-image .qodef-e-content {
  position: absolute;
  left: 30px;
  bottom: 0;
  top: 16px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.qodef-simple-slider.qodef-layout--info-on-image .qodef-e-image {
  position: relative;
  aspect-ratio: 455 / 312;
}

.qodef-swiper-container .swiper-slide img {
  height: 100%;
  object-fit: cover;
}

.qodef-simple-slider.qodef-layout--info-on-image .qodef-e-title {
  margin: 0;
  font-family: kepler-std;
  font-size: 17px;
  color: #e9eae5;
  margin-bottom: 13px;
}

.qodef-simple-slider.qodef-layout--info-on-image
  .qodef-e-content
  .qodef-e-subtitle {
  margin: 0;
  font-family: elza-narrow;
  font-weight: 400;
  font-size: 17px;
  color: #e9eae5;
}

.qodef-simple-slider.qodef-layout--info-on-image
  .qodef-e-content
  .qodef-button.qodef-layout--outlined {
  color: #e5e6e0;
  border: 1px solid #e5e6e0;
}

.qodef-simple-slider.qodef-layout--info-on-image .qodef-e-text {
  font-family: kepler-std;
  color: #e9eae5;
  font-size: 25px;
}

.qodef-simple-slider.qodef-swiper-container {
  overflow: visible;
}

.qodef-swiper-container .swiper-wrapper {
  width: max-content !important;
}

.qodef-simple-slider.qodef-borders--enabled .qodef-e-image:before {
  pointer-events: none;
}

/* Slide-specific colour overrides */
/* .qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="1 / 8"]
  .qodef-e-text,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="1 / 8"]
  .qodef-e-content
  .qodef-e-subtitle,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="1 / 8"]
  .qodef-e-title,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="1 / 8"]
  .qodef-e-content
  .qodef-button.qodef-layout--outlined,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="8 / 8"]
  .qodef-e-text,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="8 / 8"]
  .qodef-e-content
  .qodef-e-subtitle,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="8 / 8"]
  .qodef-e-title,
.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="8 / 8"]
  .qodef-e-content
  .qodef-button.qodef-layout--outlined {
  color: #134a32;
}

.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="1 / 8"]
  .qodef-e-content
  .qodef-button.qodef-layout--outlined {
  border: 1px solid #134a32;
}

.qodef-simple-slider.qodef-layout--info-on-image
  .swiper-slide[aria-label="1 / 8"]
  .qodef-e-content
  .qodef-button.qodef-layout--outlined:hover {
  color: #fff;
} */

/* Thumbnail Slider */
.qodef-thumbnail-slider.qodef-layout--standard .qodef-m-right-inner {
  justify-content: flex-start;
}

.qodef-thumbnail-slider.qodef-layout--standard .qodef-m-thumbnails-holder {
  height: 100% !important;
  overflow: hidden;
}

.qodef-thumbnail-slider.qodef-layout--standard
  .qodef-m-thumbnails
  .qodef-m-thumb-item {
  height: 150px !important;
}

.qodef-thumbnail-slider.qodef-layout--standard
  .qodef-m-title
  .qodef-title-number {
  display: none;
}

.qodef-thumbnail-slider.qodef-layout--standard .qodef-m-title {
  font-family: elza-narrow;
  font-size: 30px;
  color: #134a32;
}

.qodef-thumbnail-slider.qodef-layout--standard .qodef-m-description {
  font-family: kepler-std;
  font-size: 20px;
  color: #303031;
}

.qodef-thumbnail-slider.qodef-layout--standard .qodef-intro-title {
  margin-bottom: 30px;
  font-size: 30px;
}

.qodef-thumbnail-slider.qodef-layout--standard
  .qodef-m-thumbnails-holder:before {
  background-color: #30303199;
}

/* ==========================================================================
   10. HORIZONTAL ACCORDION SHOWCASE
   ========================================================================== */

.qodef-horizontal-accordion-showcase.qodef--full-height {
  height: 75vh;
}

.qodef-horizontal-accordion-showcase.qodef--full-height .qodef-m-header {
  height: 100%;
}

.qodef-horizontal-accordion-showcase .qodef-m-header .qodef-m-arrow,
.qodef-horizontal-accordion-showcase-responsive .qodef-m-header .qodef-m-arrow {
  display: none;
}

.qodef-horizontal-accordion-showcase .qodef-m-header,
.qodef-horizontal-accordion-showcase-responsive .qodef-m-header {
  border-right: none;
}

.qodef-horizontal-accordion-showcase .qodef-m-header .qodef-m-title::before,
.qodef-horizontal-accordion-showcase-responsive
  .qodef-m-header
  .qodef-m-title:before {
  display: none;
  content: "";
}

.qodef-horizontal-accordion-showcase
  .qodef-m-item
  .qodef-m-header
  .qodef-m-title,
.qodef-horizontal-accordion-showcase
  .qodef-m-item.active
  .qodef-m-header
  .qodef-m-title {
  color: #134a32;
  font-family: kepler-std;
  font-size: 40px;
}

.qodef-horizontal-accordion-showcase .qodef-m-content-inner {
  display: flex;
  align-items: flex-end;
  height: 100%;
  position: relative;
  padding: 84px 0 70px;
  box-sizing: border-box;
}

.qodef-horizontal-accordion-showcase .qodef-m-content-left {
  flex: 1;
  width: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 15px 60px 0 66px;
  padding-left: calc((100vw - 1400px) / 2);
  box-sizing: border-box;
}

.qodef-horizontal-accordion-showcase .qodef-m-content-right {
  display: flex;
  flex-direction: column;
  width: 45%;
  max-width: 450px;
  height: 100%;
  box-sizing: border-box;
  justify-content: flex-end;
  padding-bottom: 0;
}

.qodef-horizontal-accordion-showcase .qodef-m-content-right .qodef-m-image {
  height: 100%;
  width: 100%;
}

.qodef-horizontal-accordion-showcase .qodef-m-content-right .qodef-m-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.qodef-horizontal-accordion-showcase .qodef-m-header .qodef-m-title {
  right: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.qodef-horizontal-accordion-showcase-responsive .qodef-m-header .qodef-m-title,
.qodef-horizontal-accordion-showcase-responsive
  .qodef-m-header.ui-state-active
  .qodef-m-title {
  color: #134a32;
  font-family: kepler-std;
  font-size: 40px;
}

.qodef-horizontal-accordion-showcase .qodef-m-content .qodef-m-description,
.qodef-horizontal-accordion-showcase-responsive
  .qodef-m-content
  .qodef-m-description {
  font-family: kepler-std;
  color: #303031;
  font-size: 17px;
  line-height: 1.2;
  margin-bottom: 0;
}

.qodef-horizontal-accordion-showcase-responsive {
  padding: 0;
}

/* Accordion item backgrounds */
.qodef-horizontal-accordion-showcase .qodef-m-item,
.qodef-horizontal-accordion-showcase .qodef-m-item .qodef-m-header,
.qodef-horizontal-accordion-showcase .qodef-m-item .qodef-m-content {
  background: #d1c8b9;
}

.qodef-horizontal-accordion-showcase .qodef-m-item:nth-child(2),
.qodef-horizontal-accordion-showcase .qodef-m-item:nth-child(2) .qodef-m-header,
.qodef-horizontal-accordion-showcase
  .qodef-m-item:nth-child(2)
  .qodef-m-content {
  background: #d5ccbe;
}

.qodef-horizontal-accordion-showcase .qodef-m-item:nth-child(3),
.qodef-horizontal-accordion-showcase .qodef-m-item:nth-child(3) .qodef-m-header,
.qodef-horizontal-accordion-showcase
  .qodef-m-item:nth-child(3)
  .qodef-m-content {
  background: #e4ded5;
}

/* Horizontal Accordion – Responsive (mobile) backgrounds */
.qodef-horizontal-accordion-showcase-responsive .qodef-m-header:nth-child(1),
.qodef-horizontal-accordion-showcase-responsive .qodef-m-content:nth-child(2) {
  background: #d1c8b9;
}

.qodef-horizontal-accordion-showcase-responsive .qodef-m-header:nth-child(3),
.qodef-horizontal-accordion-showcase-responsive .qodef-m-content:nth-child(4) {
  background: #d1c8b9cc;
}

.qodef-horizontal-accordion-showcase-responsive .qodef-m-header:nth-child(5),
.qodef-horizontal-accordion-showcase-responsive .qodef-m-content:nth-child(6) {
  background: #d1c8b999;
}

.qodef-horizontal-accordion-showcase-responsive .qodef-m-content-left {
  order: 1;
}

.qodef-horizontal-accordion-showcase-responsive .qodef-m-header {
  border-bottom: none;
  padding: 32px 30px 41px 30px;
}

.qodef-horizontal-accordion-showcase-responsive
  .qodef-m-content
  .qodef-m-content-inner {
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 10px;
  margin-top: -1px;
}

.qodef-horizontal-accordion-showcase-responsive
  .qodef-m-content.ui-accordion-content-active
  .qodef-m-content-inner {
  border-bottom: none;
}

/* ==========================================================================
   11. BLOG & SINGLE POST
   ========================================================================== */

.single-post .qodef-e-media-image::before,
.green-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: transparent linear-gradient(180deg, #044629 0%, #134a3200 100%) 0%
    0% no-repeat padding-box;
  opacity: 0.4;
  z-index: 2;
}

.single-post b,
.single-post em,
.single-post i,
.single-post p,
.single-post h3,
.single-post h4,
.single-post h2,
.single-post h1,
.single-post h5,
.single-post h6,
.single-post li,
.single-post ul,
.single-post ol {
  font-family: elza-narrow;
  font-size: 17px;
  line-height: 24px;
}

#qodef-page-comments,
#qodef-related-posts {
  display: none;
}

.single-post .qodef-blog .qodef-e-top-holder,
.qodef-blog.qodef-item-layout--compact .qodef-blog-item .qodef-e-top-holder,
.qodef-blog.qodef-item-layout--compact
  .qodef-blog-item
  .qodef-e-inner
  .entry-date.qodef-list-date {
  display: none;
}

.qodef-blog .qodef-e-title {
  font-family: elza-narrow;
  font-size: 25px;
  color: #134a32;
  font-weight: 400;
}

.single-post .qodef-blog .qodef-e-title {
  font-size: 45px !important;
  line-height: 60px !important;
  margin-top: 70px;
  margin-bottom: 70px;
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.qodef-blog .qodef-e-media-image {
  aspect-ratio: 3 / 3.5;
}

.qodef-blog .qodef-e-media-image a,
.qodef-blog .qodef-e-media-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.single-post .qodef-e-media-image {
  height: 500px;
  position: relative;
}

.single-post .qodef-e-media-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qodef-blog .qodef-e-bottom-holder {
  display: none;
}

.qodef-shortcode h4 a.qodef-e-title-link,
.qodef-e-title-link {
  font-size: 20px;
  line-height: 25px;
}

/* ==========================================================================
   12. TEAM LIST & TEAM MODAL
   ========================================================================== */

/* Team grid layout */
.qodef-team-list .qodef-grid-inner {
  margin: -1px 0 0 -1px !important;
  width: calc(100% + 1px) !important;
  padding: 0 !important;
}

.qodef-team-list .qodef-grid-item.border-special {
  padding: 0 !important;
  margin: 0 !important;
}

.qodef-team-list .qodef-grid-item.border-special .qodef-e-inner {
  border: 1px solid #134a32;
  border-right: none;
  padding: 20px;
  background-color: #fff;
  height: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  transition:
    border-color 0.3s ease-in-out,
    z-index 0.3s;
}

.qodef-team-list .qodef-m-shortcode-title .qodef-m-title {
  font-size: 17px;
  margin: 0;
}

.qodef-team-list .qodef-grid-item.border-special:last-child .qodef-e-inner,
.qodef-team-list .qodef-grid-item.border-special:nth-child(4) .qodef-e-inner {
  border-right: 1px solid #134a32;
}

.qodef-team-list .qodef-grid-item.border-special:hover .qodef-e-inner {
  border-color: #000;
  z-index: 10;
}

/* Team member image hover & overlay */
.qodef-team-member-image-inner {
  position: relative;
  overflow: hidden;
}

.qodef-team-member-image-casual {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.qodef-team-member-image-holder:hover .qodef-team-member-image-casual {
  opacity: 1;
}

.qodef-team-member-name-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.7) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  color: #fff;
}

.qodef-team-member-name-overlay h4 {
  margin: 0;
  color: inherit;
}

.qodef-team-list.qodef-item-layout--info-below .qodef-e-title {
  display: none;
  font-size: 25px;
  font-family: elza-narrow;
  font-weight: 300;
}

.qodef-team-list.qodef-item-layout--info-below
  .qodef-team-member-name-overlay
  .qodef-e-title {
  display: flex;
}

.qodef-team-list.qodef-item-layout--info-below .qodef-e-role {
  margin: 0;
  font-size: 15px;
}

.qodef-team-list.qodef-item-layout--info-below .qodef-team-member-social-icon {
  color: #134a32;
  font-size: 13px;
}

.qodef-m-shortcode-title {
  margin-bottom: 28px;
}

/* Team Modal */
.qodef-team-modal {
  position: relative;
  background-color: rgba(227, 222, 213, 0.6);
  padding: 37px;
  width: 90%;
  max-width: 100%;
  margin: 90px auto;
  border-radius: 20px;
  border: 1px solid #d1c8b940;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  min-height: 75vh;
}

.qodef-magnific-popup--opened #qodef-page-wrapper {
  filter: blur(10px);
}

.mfp-bg {
  background: transparent;
}

.qodef-team-modal-inner {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.qodef-team-modal-left,
.qodef-team-modal-right {
  padding: 0 25px;
}

.qodef-team-modal-right {
  flex: 0 0 75%;
}

.qodef-team-modal-social {
  margin-top: 30px;
}

.qodef-team-modal-left {
  flex: 0 0 25%;
}

.qodef-team-modal button.mfp-close {
  color: #134a32;
  font-size: 25px;
  font-family: kepler-std;
  background-color: transparent;
  top: 20px !important;
  right: 20px !important;
  width: 35px !important;
  height: 35px !important;
  border-radius: 50%;
}

.qodef-team-modal-name {
  margin-bottom: 10px;
  margin-top: 0;
  color: #134a32;
  font-size: 25px;
  font-weight: 400;
}

.qodef-team-modal-role {
  margin-bottom: 26px;
  color: #134a32;
  margin-top: 0;
  font-size: 17px;
  font-weight: 400;
  font-family: kepler-std;
}

.qodef-team-modal-description {
  line-height: 1.6;
  color: #303031;
  font-size: 17px;
}

/* Magnific Popup Animation */
.qodef-team-modal-popup.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}

.qodef-team-modal-popup.mfp-bg.mfp-ready {
  opacity: 1;
}

.qodef-team-modal-popup.mfp-wrap .mfp-content {
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.3s ease-out;
}

.qodef-team-modal-popup.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  transform: scale(1);
}

/* ==========================================================================
   13. PORTFOLIO
   ========================================================================== */

.qodef-portfolio-list .qodef-e-media-image,
.portfolio-modal .qodef-e-media-image {
  height: 100%;
  width: 100%;
}

.qodef-portfolio-list .qodef-e-media-image a,
.qodef-portfolio-list .qodef-e-media-image img,
.portfolio-modal .qodef-e-media-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.qodef-portfolio-list .qodef-e-title {
  font-size: 35px;
  margin-bottom: 40px;
}

.qodef-portfolio-modal-left,
.qodef-portfolio-modal-right {
  flex: 1 0 50%;
}

.portfolio-modal {
  gap: 30px;
  flex-wrap: nowrap;
  width: 90%;
  padding: 70px 50px;
}

.portfolio-modal .card-buttons {
  margin-top: 30px;
}

.portfolio-modal .card.second-style .card-header {
  margin-bottom: 30px;
}

.portfolio-modal .card.second-style .card-title {
  margin-bottom: 0;
  margin-top: 0;
  font-size: 25px;
}

/* Hide portfolio item card but keep modal data */
.qodef-only-modal .qodef-e-inner {
  display: none !important;
}

.qodef-only-modal {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================================
   14. FOOTER
   ========================================================================== */

#qodef-page-footer-top-area-inner {
  padding-top: 45px !important;
  padding-bottom: 120px !important;
}

#qodef-page-footer-top-area-inner .qodef-grid-item {
  display: flex;
  align-items: flex-end;
}

#qodef-page-footer-bottom-area {
  margin-top: -1px;
  margin-bottom: -1px;
}

#qodef-page-footer-bottom-area-inner {
  padding-bottom: 0 !important;
}

#qodef-page-footer-copyright-area .qodef-grid-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-size: 18px;
}

#qodef-page-footer-copyright-area .menu-policy-menu-container .menu {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
}

#qodef-page-footer-copyright-area .widget:not(.widget_leroux_core_title_widget),
#qodef-page-footer-copyright-area .widget a {
  margin-bottom: 0;
  color: #fff;
  font-size: 17px;
  font-family: kepler-std;
  display: flex;
  align-items: center;
}

#qodef-page-footer-copyright-area .widget p {
  font-size: 13px;
}

#qodef-page-footer-copyright-area
  .widget
  ul:not(.qodef-shortcode-list):not(.select2-selection__rendered)
  li {
  margin-bottom: 0;
}

#media_image-2 {
  width: 65px;
}

/* ==========================================================================
   15. CONTACT & FORMS
   ========================================================================== */

.contact-container {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
  color: #e5e6e0;
  font-size: 17px;
  line-height: 23px;
}

.contact-column {
  flex: 1;
  justify-content: space-between;
  display: flex;
  flex-direction: column;
}

.contact-column.address {
  flex: 0 0 auto;
}

.contact-item {
  display: flex;
  gap: 2px;
  flex-direction: column;
}

.social-item {
  display: flex;
  align-items: center;
  gap: 15px;
  position: relative;
  top: -5px;
}

.social-icon {
  width: 22px;
  height: 22px;
}

.disclaimer p {
  font-size: 11px;
  font-family: elza-narrow;
  line-height: 16px;
}

textarea {
  height: 100px !important;
}

input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  border-width: 0 0 1px 0 !important;
  border-color: #134a32;
  padding: 5px 0;
}

.contact-input {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-bottom: 15px !important;
}

.contact-submit {
  margin-top: 40px !important;
}

.contact-submit .wpcf7-submit {
  font-family: elza-narrow;
  font-size: 15px;
  color: #134a32;
  border: 1px solid #134a32;
  background: transparent;
  border-radius: 25px;
  padding: 10px 33px 7px;
}

.qodef-theme-button .qodef-m-arrow,
button[type="submit"] .qodef-m-arrow,
input[type="submit"] .qodef-m-arrow {
  margin-bottom: 3px;
}

.qodef-qi-contact-form-7 input[type="date"],
.qodef-qi-contact-form-7 input[type="email"],
.qodef-qi-contact-form-7 input[type="number"],
.qodef-qi-contact-form-7 input[type="password"],
.qodef-qi-contact-form-7 input[type="search"],
.qodef-qi-contact-form-7 input[type="tel"],
.qodef-qi-contact-form-7 input[type="text"],
.qodef-qi-contact-form-7 input[type="url"],
.qodef-qi-contact-form-7 select,
.qodef-qi-contact-form-7 textarea {
  font-size: 17px;
  font-family: kepler-std;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  font-family: kepler-std;
  border: none;
  padding: 0;
  margin-left: 0;
}

/* ==========================================================================
   16. UTILITY CLASSES
   ========================================================================== */

.border-special {
  clip-path: polygon(
    10px 0%,
    calc(100% - 10px) 0%,
    calc(100% - 10px) 0%,
    100% 10px,
    100% calc(100% - 10px),
    calc(100% - 10px) 100%,
    10px 100%,
    0% calc(100% - 10px),
    0% 10px,
    10px 0%
  );
}

.border-radius-20 {
  overflow: hidden;
  border-radius: 20px;
}

.blur {
  backdrop-filter: blur(40px) brightness(50%);
  -webkit-backdrop-filter: blur(40px) brightness(50%);
}

.hide-desktop {
  display: none !important;
}

.now-open {
  font-size: 15px;
}

.minheight {
  min-height: 600px !important;
}

.timeline-item {
  display: flex;
  flex-direction: column;
}

.timeline-item h4 {
  margin: 0;
  color: #134a32;
  font-weight: 400;
  font-size: 17px !important;
}

.timeline-item p {
  margin: 0 !important;
}

.single-post .elementor img {
    width: 100%;
}

/* ==========================================================================
   17. RESPONSIVE – max-width: 1680px
   ========================================================================== */

@media only screen and (max-width: 1680px) {
  .qodef-horizontal-accordion-showcase .qodef-m-content-left {
    padding-bottom: 0;
  }
  .qodef-horizontal-accordion-showcase .qodef-m-content-right .qodef-m-image {
    padding-top: 0;
  }

  .qodef-horizontal-accordion-showcase-responsive .qodef-m-content-left {
    padding: 15px 0 0 0;
  }

  .padding-left {
    padding-left: calc((100vw - 1400px) / 2);
  }
}

/* ==========================================================================
   18. RESPONSIVE – max-width: 1440px
   ========================================================================== */

@media screen and (max-width: 1440px) {
  .qodef-icon-with-text .qodef-m-wrapper {
    padding: 50px 30% 50px 30px;
  }
  .elementor-section.elementor-top-section.elementor-section-boxed
    > .elementor-container {
    max-width: calc(100% - 140px) !important;
  }
  
  .single-post .qodef-blog .qodef-e-title,
  .single-post .elementor-section.elementor-section-boxed > .elementor-container,
  #qodef-single-post-navigation {
      max-width: 900px !important;
  }

  .qodef-content-grid {
    max-width: calc(100% - 140px);
  }

  .qodef-horizontal-accordion-showcase .qodef-m-content-left {
    padding-left: 70px;
  }

  .padding-left {
    padding-left: 70px;
  }

  .portfolio-modal .mobile-low-margin {
    margin-top: 30px !important;
  }

  .card.second-style .card-header {
    margin-bottom: 8%;
  }

  .card.second-style .card-title {
    margin-bottom: 8%;
    margin-top: 0;
  }

  .card.second-style .card-bottom-section {
    gap: 0;
    margin-top: 10%;
  }

  .card-buttons {
    margin-top: 10%;
    margin-bottom: 4%;
  }
  
  .blur .card-buttons {
        margin-bottom: 0;
    }

  .qodef-thumbnail-slider.qodef-layout--standard
    .qodef-m-thumbnails
    .qodef-m-thumb-item {
    padding-left: 40px;
  }

  .qodef-thumbnail-slider.qodef-layout--standard .qodef-m-right-inner {
    padding-top: 40px;
    padding-left: 60px;
    padding-right: 40px;
  }
}

/* ==========================================================================
   19. RESPONSIVE – max-width: 1024px
   ========================================================================== */

@media screen and (max-width: 1024px) {
  /* Layout */
  .elementor-section.elementor-top-section.elementor-section-boxed
    > .elementor-container,
  .single-post .qodef-blog .qodef-e-title,
  #qodef-single-post-navigation {
    max-width: calc(100% - 60px) !important;
  }

  .elementor-section.elementor-top-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .qodef-content-grid {
    max-width: calc(100% - 60px);
  }

  .padding-left {
    padding-left: 0;
  }

  .qodef-horizontal-accordion-showcase .qodef-m-content-left {
    padding-left: 20px;
  }

  /* Slider */
  canvas.sr7-pbar,
  rs-progress {
    display: none !important;
  }

  .green-overlay::before {
    display: none;
    content: "";
  }

  .qodef-thumbnail-slider.qodef-layout--standard .qodef-m-right-inner {
    padding-right: 20px;
    padding-left: 20px;
  }

  .qodef-thumbnail-slider.qodef-layout--standard .qodef-m-thumbnails-holder {
    height: 550px !important;
  }

  /* Cards */
  .card {
    gap: 50px;
  }

  .card-description {
    margin-bottom: 30px;
  }

  .card-title {
    font-size: 35px;
  }

  .card.second-style,
  .card.second-style .card-title {
    gap: 0;
  }

  .card.second-style .card-title {
    margin-bottom: 20px;
    font-size: 25px;
  }

  .custom-card-content-col .card-buttons {
    flex-direction: column;
  }

  /* Accordion */
  .qodef-horizontal-accordion-showcase .qodef-m-header .qodef-m-arrow,
  .qodef-horizontal-accordion-showcase-responsive
    .qodef-m-header
    .qodef-m-arrow {
    display: block;
  }

  .qodef-horizontal-accordion-showcase-responsive .qodef-m-content-left {
    padding-bottom: 20px;
  }

  /* Footer */
  #qodef-page-footer-top-area-inner .qodef-grid-item {
    align-items: flex-start;
  }

  #qodef-page-footer-top-area .qodef-grid-inner {
    gap: 85px;
  }

  #qodef-page-footer-copyright-area
    .widget:not(.widget_leroux_core_title_widget) {
    font-size: 15px;
    margin-top: 57px;
  }

  /* Contact */
  .contact-container {
    flex-direction: column;
    gap: 80px;
  }

  .contact-item {
    font-size: 20px;
  }

  .contact-input {
    flex-direction: column;
    gap: 15px;
  }

  /* Team */
  .qodef-team-modal {
    padding: 20px;
  }

  .qodef-team-modal button.mfp-close {
    top: 10px !important;
    right: 10px !important;
  }

  .qodef-team-list
    .qodef-grid-item.border-special:nth-child(2n + 3)
    .qodef-e-inner,
  .qodef-team-list .qodef-grid-item.border-special:last-child .qodef-e-inner {
    border-top: none;
  }

  .qodef-team-list .qodef-grid-item.border-special:nth-child(2n) .qodef-e-inner,
  .qodef-team-list .qodef-grid-item.border-special:last-child .qodef-e-inner {
    border-right: 1px solid #134a32;
  }

  .qodef-team-modal-left,
  .qodef-team-modal-right {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .qodef-team-modal-right {
    margin-top: 60px;
  }

  .qodef-team-modal-image {
    max-width: 160px;
  }

  .qodef-team-modal-name {
    margin-bottom: 0;
  }

  .qodef-team-modal-role {
    font-family: kepler-std;
    font-size: 17px;
  }

  /* Portfolio */
  .portfolio-modal .card.second-style .card-title {
    font-size: 25px;
  }

  .portfolio-modal .card-buttons {
    margin-top: 0 !important;
  }

  .qodef-portfolio-modal-inner {
    gap: 0 !important;
  }

  .portfolio-modal {
    flex-wrap: wrap;
    margin: 21px auto 21px auto;
    width: 95%;
    padding-top: 50px;
  }

  .qodef-portfolio-modal-left,
  .qodef-portfolio-modal-right {
    flex: 1 0 100%;
  }

  /* Icon with text */
  .qodef-icon-with-text .qodef-m-digit-wrapper,
  .qodef-icon-with-text .qodef-m-digit,
  .qodef-icon-with-text .qodef-m-digit-static {
    font-size: 70px;
  }

  .qodef-icon-with-text .qodef-m-content {
    margin-top: 60px;
  }

  .qodef-icon-with-text.qodef-layout--top .qodef-m-text {
    font-size: 15px;
  }

  /* Side area / Fullscreen menu */
  #qodef-side-area {
    display: none;
  }

  #qodef-fullscreen-area-inner {
    justify-content: flex-start;
    flex-direction: column;
    padding-top: 0;
    padding-left: 34px;
    align-items: flex-start;
    justify-content: center;
  }

  .qodef-fullscreen-menu > ul > li {
    margin-bottom: 15px;
  }

  .qodef-fullscreen-menu > ul > li.current-menu-item > a .qodef-menu-item-text,
  .qodef-fullscreen-menu > ul > li > a .qodef-menu-item-text {
    font-size: 30px;
    font-family: kepler-std;
  }

  .qodef-fullscreen-menu {
    margin: initial;
  }

  #qodef-fullscreen-area #qodef-fullscreen-menu-widgets {
    display: flex !important;
    position: absolute;
    bottom: 49px;
    left: 34px;
    right: auto;
  }

  #qodef-fullscreen-area #qodef-fullscreen-menu-widgets a {
    background-image: none !important;
  }

  /* Misc */
  .button-align-right {
    text-align: center;
  }

  .mobile-height-auto {
    height: 300px !important;
  }

  .hide-desktop {
    display: block !important;
  }

  .hide-mobile {
    display: none !important;
  }

  .timeline-item {
    text-align: center;
    margin-bottom: 20px;
  }

  /* Mobile slider heading */
  .mobile-slider-heading {
    width: 100% !important;
    background: #134a32;
    height: 310px !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 40px 30px 40px 30px;
  }

  .mobile-slider-heading .sr7-layer {
    width: 100% !important;
  }

  .mobile-slider-heading-container {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    color: #fff;
    padding: 40px 30px;
  }

  .mobile-slider-heading-container .text-container {
    font-size: 41px;
    font-family: elza-narrow;
    font-weight: 300;
    line-height: 1.3;
    width: 100%;
    white-space: normal;
  }

  .mobile-slider-heading-container .text-container span {
    font-weight: 400;
  }

  .mobile-slider-heading-container
    .qodef-progress-buttons
    .qodef-button.qodef-html--link.qodef-layout--filled {
    border: 1px solid #e9eae57e;
  }

  .mobile-slider-heading-container .button-container {
    justify-content: flex-start;
  }

  /* Horizontal Showcase – mobile layout */
  .qodef-horizontal-showcase .qodef-horizontal-slide {
    padding: 60px 20px !important;
  }

  .qodef-horizontal-showcase .qodef-horizontal-slide.qodef-first-item,
  .qodef-horizontal-showcase .qodef-horizontal-slide.qodef-last-item {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .qodef-horizontal-showcase .qodef-horizontal-slide .qodef-e-item-content {
    margin-left: 0;
    padding-right: 0;
    margin-top: 40px;
    width: 100%;
  }

  .qodef-horizontal-showcase .qodef-horizontal-slide .qodef-e-item-intro-image {
    height: auto;
    max-height: 50vh;
  }

  .qodef-horizontal-showcase
    .qodef-horizontal-slide
    .qodef-e-item-intro-image
    img {
    height: 100%;
    width: 100%;
    max-width: 100%;
    object-fit: contain;
  }
}

/* ==========================================================================
   20. RESPONSIVE – max-width: 768px
   ========================================================================== */

@media screen and (max-width: 768px) {
    .full-height,
    .full-height-250 {
    height: auto;
}
  .qodef-horizontal-accordion-showcase-responsive
    .qodef-m-header
    .qodef-m-title,
  .qodef-horizontal-accordion-showcase-responsive
    .qodef-m-header.ui-state-active
    .qodef-m-title {
    font-size: 35px;
  }
  #qodef-single-post-navigation {
    width: 100%;
  }

  .contact-container {
    flex-direction: column;
    gap: 80px;
  }

  #qodef-page-footer-copyright-area .menu-policy-menu-container .menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .contact-column {
    min-width: auto;
    gap: 25px;
    font-size: 20px;
  }

  .disclaimer {
    padding-top: 25px;
  }

  #qodef-page-footer-bottom-area #qodef-page-footer-bottom-area-inner {
    padding-bottom: 0;
  }

  #qodef-page-footer-copyright-area .qodef-grid-item {
    flex-direction: column;
  }

  #qodef-page-footer-copyright-area .widget p {
    margin: 0;
  }
}

/* ==========================================================================
   21. RESPONSIVE – max-width: 600px
   ========================================================================== */

@media only screen and (max-width: 600px) {
  .qodef-team-list .qodef-grid-item.border-special .qodef-e-inner {
    border-bottom: none;
    border-right: 1px solid #134a32;
  }

  .qodef-team-list .qodef-grid-item.border-special:last-child .qodef-e-inner {
    border-bottom: 1px solid #134a32;
  }

  .qodef-team-list
    .qodef-grid-item.border-special:nth-child(2n + 3)
    .qodef-e-inner,
  .qodef-team-list .qodef-grid-item.border-special:last-child .qodef-e-inner {
    border-top: 1px solid #134a32;
  }
  
  .blur .card-buttons {
        margin-top: 10%;
        margin-bottom: 0;
    }
  
  .card-buttons {
        margin-top: 0;
        margin-bottom: 7%;
    }
}

/* ==========================================================================
   22. CUSTOM HERO COMPONENTS
   ========================================================================== */

.custom-hero-heading-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.qodef-horizontal-accordion-showcase .qodef-m-description {
  max-width: 500px;
}

.custom-hero-heading-container hr {
  width: 600px;
  height: 1.5px;
  background-color: #e9eae5 !important;
  max-width: 100% !important;
}

.custom-hero-heading {
  font-family: elza-narrow, sans-serif;
  font-size: 45px;
  font-weight: 300;
  color: #fff;
  line-height: 1.21;
  text-align: left;
  max-width: 800px;
}

.custom-hero-heading span {
  font-weight: 400;
  display: block;
  margin-top: 10px;
}

.custom-hero-heading-container .qodef-progress-buttons {
  justify-content: flex-start;
  gap: 20px;
  margin-top: 20px;
}

@media only screen and (max-width: 1024px) {
  .custom-hero-heading {
    font-size: 32px;
    line-height: 1.15;
  }

  .custom-hero-heading-container {
    gap: 30px;
  }
}
