/* Start custom CSS for html, class: .elementor-element-f04c772 *//* ===================================================
   MBD ASSOCIATES
   CATALOGUE HERO
=================================================== */

.mbd-catalogue-hero {

  position: relative;

  width: 100%;

  min-height: 500px;

  display: flex;

  align-items: center;

  background: #f4efe7;

  overflow: hidden;

}


/* ===================================================
   INNER
=================================================== */

.mbd-catalogue-hero-inner {

  width: calc(100% - 100px);

  max-width: 1440px;

  margin: 0 auto;

  display: grid;

  grid-template-columns: 1.05fr 0.85fr;

  align-items: center;

  gap: 90px;

}


/* ===================================================
   LEFT CONTENT
=================================================== */

.mbd-catalogue-hero-copy {

  max-width: 720px;

}


/* ===================================================
   EYEBROW
=================================================== */

.mbd-catalogue-hero-eyebrow {

  display: flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 24px;

  color: #766d63;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  opacity: 0;

  transform: translateY(18px);

  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);

}


.mbd-catalogue-hero-line {

  width: 38px;

  height: 1px;

  display: block;

  background: #968b7e;

  transform: scaleX(0);

  transform-origin: left;

  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);

}


/* ===================================================
   HEADING
=================================================== */

.mbd-catalogue-hero-title {

  margin: 0;

  color: #282521;

  font-family: inherit;

  font-size: clamp(44px, 4.3vw, 67px);

  font-weight: 400;

  line-height: 1.03;

  letter-spacing: -0.045em;

  opacity: 0;

  transform: translateY(28px);

  transition:
    opacity 0.85s ease 0.08s,
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.08s;

}


.mbd-catalogue-hero-title span {

  display: block;

  margin-top: 4px;

  color: #62594f;

  font-weight: 600;

}


/* ===================================================
   DESCRIPTION
=================================================== */

.mbd-catalogue-hero-description {

  max-width: 575px;

  margin: 27px 0 0;

  color: #625c55;

  font-size: 15px;

  line-height: 1.75;

  letter-spacing: -0.005em;

  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 0.8s ease 0.17s,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.17s;

}


/* ===================================================
   CTA
=================================================== */

.mbd-catalogue-hero-btn {

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: space-between;

  gap: 25px;

  min-width: 205px;

  min-height: 54px;

  margin-top: 32px;

  padding: 0 14px 0 22px;

  background: #5e554c;

  color: #ffffff;

  text-decoration: none;

  font-size: 13px;

  font-weight: 500;

  overflow: hidden;

  opacity: 0;

  transform: translateY(18px);

  transition:
    opacity 0.75s ease 0.27s,
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.27s,
    background 0.3s ease;

}


.mbd-catalogue-hero-btn::before {

  content: "";

  position: absolute;

  inset: 0;

  background: #403a34;

  transform: translateY(101%);

  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);

}


.mbd-catalogue-hero-btn:hover::before {

  transform: translateY(0);

}


.mbd-catalogue-hero-btn > span {

  position: relative;

  z-index: 2;

}


.mbd-catalogue-btn-arrow {

  width: 34px;

  height: 34px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(255,255,255,0.14);

  border-radius: 50%;

  transition:
    transform 0.35s ease;

}


.mbd-catalogue-hero-btn:hover
.mbd-catalogue-btn-arrow {

  transform: translateY(2px);

}


/* ===================================================
   RIGHT VISUAL
=================================================== */

.mbd-catalogue-hero-visual {

  position: relative;

  width: 100%;

  height: 410px;

  opacity: 0;

  transform: translateY(25px);

  transition:
    opacity 0.9s ease 0.14s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.14s;

}


/* ===================================================
   IMAGE
=================================================== */

.mbd-catalogue-hero-image-wrap {

  position: absolute;

  inset: 0;

  overflow: hidden;

  background: #ddd4c7;

}


.mbd-catalogue-hero-image {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  display: block;

  object-fit: cover;

  object-position: center;

  transform: scale(1.08);

  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);

}


.mbd-catalogue-image-reveal {

  position: absolute;

  inset: 0;

  z-index: 3;

  background: #d9d0c4;

  transform: scaleX(1);

  transform-origin: right;

  transition:
    transform 1.05s cubic-bezier(0.76, 0, 0.24, 1);

}


/* ===================================================
   FLOATING CARD
=================================================== */

.mbd-catalogue-floating-card {

  position: absolute;

  left: -1px;

  bottom: -1px;

  z-index: 5;

  min-width: 225px;

  padding: 20px 22px;

  display: flex;

  align-items: flex-start;

  gap: 17px;

  background: #ffffff;

  color: #292521;

  box-shadow:
    0 12px 35px rgba(40,35,30,0.10);

  opacity: 0;

  transform: translateY(22px);

  transition:
    opacity 0.7s ease 0.55s,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.55s;

}


.mbd-catalogue-card-number {

  color: #9b9186;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 0.08em;

}


.mbd-catalogue-card-small {

  display: block;

  margin-bottom: 5px;

  color: #8a8075;

  font-size: 7px;

  font-weight: 600;

  letter-spacing: 0.16em;

}


.mbd-catalogue-floating-card strong {

  display: block;

  color: #302b26;

  font-size: 15px;

  font-weight: 600;

  line-height: 1.2;

}


/* ===================================================
   REVEAL
=================================================== */

.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-eyebrow,

.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-title,

.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-description,

.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-btn,

.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-visual {

  opacity: 1;

  transform: translateY(0);

}


.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-line {

  transform: scaleX(1);

}


.mbd-catalogue-hero.is-visible
.mbd-catalogue-image-reveal {

  transform: scaleX(0);

}


.mbd-catalogue-hero.is-visible
.mbd-catalogue-hero-image {

  transform: scale(1);

}


.mbd-catalogue-hero.is-visible
.mbd-catalogue-floating-card {

  opacity: 1;

  transform: translateY(0);

}


/* ===================================================
   ELEMENTOR EDITOR
=================================================== */

.elementor-editor-active
.mbd-catalogue-hero-eyebrow,

.elementor-editor-active
.mbd-catalogue-hero-title,

.elementor-editor-active
.mbd-catalogue-hero-description,

.elementor-editor-active
.mbd-catalogue-hero-btn,

.elementor-editor-active
.mbd-catalogue-hero-visual,

.elementor-editor-active
.mbd-catalogue-floating-card {

  opacity: 1 !important;

  transform: none !important;

}


.elementor-editor-active
.mbd-catalogue-hero-line {

  transform: scaleX(1) !important;

}


.elementor-editor-active
.mbd-catalogue-image-reveal {

  display: none !important;

}


.elementor-editor-active
.mbd-catalogue-hero-image {

  transform: none !important;

}


/* ===================================================
   LAPTOP
=================================================== */

@media (max-width: 1200px) {

  .mbd-catalogue-hero {

    min-height: 460px;

  }


  .mbd-catalogue-hero-inner {

    width:
      calc(100% - 70px);

    gap: 60px;

  }


  .mbd-catalogue-hero-visual {

    height: 370px;

  }

}


/* ===================================================
   TABLET
=================================================== */

@media (max-width: 900px) {

  .mbd-catalogue-hero {

    padding: 80px 0;

  }


  .mbd-catalogue-hero-inner {

    width:
      calc(100% - 50px);

    grid-template-columns: 1fr;

    gap: 45px;

  }


  .mbd-catalogue-hero-copy {

    max-width: 720px;

  }


  .mbd-catalogue-hero-visual {

    height: 390px;

  }

}


/* ===================================================
   MOBILE
=================================================== */

@media (max-width: 600px) {

  .mbd-catalogue-hero {

    padding: 65px 0 60px;

  }


  .mbd-catalogue-hero-inner {

    width:
      calc(100% - 36px);

    gap: 35px;

  }


  .mbd-catalogue-hero-eyebrow {

    gap: 10px;

    margin-bottom: 19px;

    font-size: 10px;

  }


  .mbd-catalogue-hero-line {

    width: 25px;

  }


  .mbd-catalogue-hero-title {

    font-size:
      clamp(38px, 11vw, 50px);

    line-height: 1.04;

  }


  .mbd-catalogue-hero-description {

    margin-top: 22px;

    font-size: 14px;

    line-height: 1.7;

  }


  .mbd-catalogue-hero-btn {

    min-width: 190px;

    min-height: 52px;

    margin-top: 27px;

  }


  .mbd-catalogue-hero-visual {

    height: 330px;

  }


  .mbd-catalogue-floating-card {

    min-width: 185px;

    padding: 16px 18px;

  }


  .mbd-catalogue-floating-card strong {

    font-size: 13px;

  }

}


/* ===================================================
   REDUCED MOTION
=================================================== */

@media (prefers-reduced-motion: reduce) {

  .mbd-catalogue-hero-eyebrow,
  .mbd-catalogue-hero-title,
  .mbd-catalogue-hero-description,
  .mbd-catalogue-hero-btn,
  .mbd-catalogue-hero-visual,
  .mbd-catalogue-hero-image,
  .mbd-catalogue-image-reveal,
  .mbd-catalogue-floating-card,
  .mbd-catalogue-hero-line {

    transition: none !important;

  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ef8b0d1 *//* ===================================================
   MBD ASSOCIATE
   CATALOGUE LIBRARY
=================================================== */

.mbd-catalogues {
  position: relative;
  width: 100%;

  padding: 115px 0 125px;

  /* NEW BACKGROUND */
  background: #eef1f3;

  overflow: hidden;
}


/* ===================================================
   INNER
=================================================== */

.mbd-catalogues-inner {
  width: calc(100% - 100px);
  max-width: 1440px;

  margin: 0 auto;
}


/* ===================================================
   HEADER
=================================================== */

.mbd-catalogues-header {
  margin-bottom: 65px;
}


.mbd-catalogues-eyebrow {
  display: flex;
  align-items: center;

  gap: 14px;

  margin-bottom: 25px;

  color: #687078;

  font-size: 12px;
  font-weight: 600;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  opacity: 0;

  transform: translateY(18px);

  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}


.mbd-catalogues-eyebrow-line {
  width: 38px;
  height: 1px;

  display: block;

  background: #89939b;

  transform: scaleX(0);

  transform-origin: left;

  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}


.mbd-catalogues-heading-row {
  display: grid;

  grid-template-columns: 1.05fr 0.75fr;

  align-items: end;

  gap: 90px;
}


.mbd-catalogues-title {
  margin: 0;

  color: #202427;

  font-size: clamp(46px, 4vw, 68px);

  font-weight: 400;

  line-height: 1.03;

  letter-spacing: -0.045em;

  opacity: 0;

  transform: translateY(26px);

  transition:
    opacity 0.85s ease 0.08s,
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.08s;
}


.mbd-catalogues-title span {
  display: block;

  margin-top: 4px;

  font-weight: 600;
}


.mbd-catalogues-intro {
  max-width: 500px;

  margin: 0 0 5px;

  color: #5f676d;

  font-size: 15px;

  line-height: 1.75;

  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 0.8s ease 0.16s,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.16s;
}


/* ===================================================
   GRID
=================================================== */

.mbd-catalogue-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 28px;
}


/* ===================================================
   CARD
=================================================== */

.mbd-catalogue-card {
  position: relative;

  background: #ffffff;

  border: 1px solid #dce1e4;

  overflow: hidden;

  opacity: 0;

  transform: translateY(30px);

  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease,
    border-color 0.4s ease;
}


.mbd-catalogue-card:hover {
  border-color: #c7ced3;

  box-shadow:
    0 20px 45px rgba(43, 50, 55, 0.10);

  transform: translateY(-5px);
}


/* ===================================================
   REAL PDF FIRST-PAGE PREVIEW
=================================================== */

.mbd-catalogue-preview {
  position: relative;

  width: 100%;

  height: 360px;

  overflow: hidden;

  background: #e5e8ea;

  display: flex;

  align-items: center;

  justify-content: center;
}


.mbd-pdf-preview {
  position: relative;

  width: 100%;
  height: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  overflow: hidden;

  background: #e5e8ea;
}


.mbd-pdf-preview canvas {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;

  opacity: 0;

  transition:
    opacity 0.5s ease,
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}


.mbd-catalogue-card:hover
.mbd-pdf-preview canvas {
  transform: scale(1.025);
}


/* ===================================================
   LOADING
=================================================== */

.mbd-pdf-loading {
  position: absolute;

  inset: 0;

  z-index: 2;

  display: flex;

  align-items: center;
  justify-content: center;

  flex-direction: column;

  gap: 10px;

  color: #737d84;

  font-size: 10px;

  font-weight: 600;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  background: #e5e8ea;

  transition:
    opacity 0.35s ease;
}


.mbd-pdf-loading span {
  width: 22px;
  height: 22px;

  border: 1.5px solid #c5ccd1;

  border-top-color: #59636a;

  border-radius: 50%;

  animation:
    mbdPdfSpin 0.8s linear infinite;
}


@keyframes mbdPdfSpin {

  to {
    transform: rotate(360deg);
  }

}


/* ===================================================
   PDF FALLBACK
=================================================== */

.mbd-pdf-fallback {
  display: none;

  position: absolute;

  inset: 0;

  align-items: center;
  justify-content: center;

  color: #7a8288;

  font-size: 11px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}


.mbd-pdf-preview.pdf-error
.mbd-pdf-loading {
  display: none;
}


.mbd-pdf-preview.pdf-error
.mbd-pdf-fallback {
  display: flex;
}


/* ===================================================
   CATALOGUE NUMBER
=================================================== */

.mbd-catalogue-number {
  position: absolute;

  top: 16px;
  right: 16px;

  z-index: 5;

  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,0.90);

  border: 1px solid rgba(30,35,38,0.10);

  color: #42494e;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.08em;

  backdrop-filter: blur(5px);
}


/* ===================================================
   CARD INFORMATION
=================================================== */

.mbd-catalogue-info {
  padding: 25px 27px 28px;

  background: #ffffff;
}


.mbd-catalogue-category {
  display: block;

  margin-bottom: 8px;

  color: #7b858c;

  font-size: 10px;

  font-weight: 600;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}


.mbd-catalogue-info h3 {
  margin: 0;

  min-height: 28px;

  color: #25292c;

  font-size: 19px;

  font-weight: 600;

  line-height: 1.3;

  letter-spacing: -0.025em;
}


/* ===================================================
   DOWNLOAD BUTTON
=================================================== */

.mbd-catalogue-download {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: space-between;

  width: 100%;

  margin-top: 23px;

  padding: 13px 15px;

  border: 1px solid #d4dadd;

  background: #f5f7f8;

  color: #282d30;

  text-decoration: none;

  font-size: 12px;

  font-weight: 600;

  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease;
}


.mbd-catalogue-download:hover {
  background: #282d30;

  border-color: #282d30;

  color: #ffffff;
}


.mbd-catalogue-arrow {
  font-size: 17px;

  line-height: 1;

  transition:
    transform 0.3s ease;
}


.mbd-catalogue-download:hover
.mbd-catalogue-arrow {
  transform: translate(3px, -3px);
}


/* ===================================================
   REVEAL
=================================================== */

.mbd-catalogues.is-visible
.mbd-catalogues-eyebrow,

.mbd-catalogues.is-visible
.mbd-catalogues-title,

.mbd-catalogues.is-visible
.mbd-catalogues-intro,

.mbd-catalogues.is-visible
.mbd-catalogue-card {
  opacity: 1;

  transform: translateY(0);
}


.mbd-catalogues.is-visible
.mbd-catalogues-eyebrow-line {
  transform: scaleX(1);
}


/* ===================================================
   CARD STAGGER
=================================================== */

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(1) {
  transition-delay: 0.08s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(2) {
  transition-delay: 0.12s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(3) {
  transition-delay: 0.16s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(4) {
  transition-delay: 0.20s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(5) {
  transition-delay: 0.24s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(6) {
  transition-delay: 0.28s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(7) {
  transition-delay: 0.32s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(8) {
  transition-delay: 0.36s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(9) {
  transition-delay: 0.40s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(10) {
  transition-delay: 0.44s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(11) {
  transition-delay: 0.48s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(12) {
  transition-delay: 0.52s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(13) {
  transition-delay: 0.56s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(14) {
  transition-delay: 0.60s;
}

.mbd-catalogues.is-visible
.mbd-catalogue-card:nth-child(15) {
  transition-delay: 0.64s;
}


/* ===================================================
   ELEMENTOR EDITOR
=================================================== */

.elementor-editor-active
.mbd-catalogues-eyebrow,

.elementor-editor-active
.mbd-catalogues-title,

.elementor-editor-active
.mbd-catalogues-intro,

.elementor-editor-active
.mbd-catalogue-card {
  opacity: 1 !important;

  transform: none !important;
}


.elementor-editor-active
.mbd-catalogues-eyebrow-line {
  transform: scaleX(1) !important;
}


/* ===================================================
   LAPTOP
=================================================== */

@media (max-width: 1200px) {

  .mbd-catalogues {
    padding: 95px 0 105px;
  }


  .mbd-catalogues-inner {
    width: calc(100% - 70px);
  }


  .mbd-catalogues-heading-row {
    gap: 60px;
  }


  .mbd-catalogue-grid {
    gap: 22px;
  }


  .mbd-catalogue-preview {
    height: 330px;
  }


  .mbd-catalogue-info {
    padding: 23px;
  }

}


/* ===================================================
   TABLET
=================================================== */

@media (max-width: 900px) {

  .mbd-catalogues {
    padding: 80px 0 90px;
  }


  .mbd-catalogues-inner {
    width: calc(100% - 50px);
  }


  .mbd-catalogues-heading-row {
    grid-template-columns: 1fr;

    gap: 24px;
  }


  .mbd-catalogues-intro {
    max-width: 650px;
  }


  .mbd-catalogues-header {
    margin-bottom: 50px;
  }


  .mbd-catalogue-grid {
    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
  }


  .mbd-catalogue-preview {
    height: 330px;
  }

}


/* ===================================================
   MOBILE
=================================================== */

@media (max-width: 600px) {

  .mbd-catalogues {
    padding: 70px 0 80px;
  }


  .mbd-catalogues-inner {
    width: calc(100% - 36px);
  }


  .mbd-catalogues-eyebrow {
    gap: 10px;

    margin-bottom: 20px;

    font-size: 10px;
  }


  .mbd-catalogues-eyebrow-line {
    width: 25px;
  }


  .mbd-catalogues-title {
    font-size: clamp(39px, 11vw, 51px);

    line-height: 1.04;
  }


  .mbd-catalogues-intro {
    font-size: 14px;

    line-height: 1.7;
  }


  .mbd-catalogues-header {
    margin-bottom: 40px;
  }


  .mbd-catalogue-grid {
    grid-template-columns: 1fr;

    gap: 20px;
  }


  .mbd-catalogue-preview {
    height: 390px;
  }


  .mbd-catalogue-info {
    padding: 23px;
  }


  .mbd-catalogue-info h3 {
    font-size: 18px;
  }

}


/* ===================================================
   REDUCED MOTION
=================================================== */

@media (prefers-reduced-motion: reduce) {

  .mbd-catalogues-eyebrow,
  .mbd-catalogues-title,
  .mbd-catalogues-intro,
  .mbd-catalogue-card,
  .mbd-catalogues-eyebrow-line,
  .mbd-pdf-preview canvas,
  .mbd-catalogue-arrow {
    transition: none !important;
  }


  .mbd-pdf-loading span {
    animation: none !important;
  }

}/* End custom CSS */