/* Alternative alert bg */
/* alt alerts */
.alt_alert_secondary {
  background-color: #e2e3e5;
}

.alt_alert_danger {
  background-color: #f8d7da;
}

.alt_alert_success {
  background-color: #d4edda;
}

.alt_alert_warning {
  background-color: #fff3cd;
}

.alt_alert_info {
  background-color: #d1ecf1;
}

.alt_alert_light {
  background-color: #fefefe;
}

.alt_alert_dark {
  background-color: #d6d8d9;
}


/* ***************************************************************************************************** */
/* Start here */

/* =============================
   GLOBAL STYLES
============================= */

:root {

  --cc-navy: #102A43;
  --cc-navy-dark: #081C2D;
  --cc-navy-light: #1E405F;

  --cc-gold: #B9975B;
  --cc-gold-light: #D4B978;

  --cc-white: #FFFFFF;
  --cc-off-white: #F7F5F1;
  --cc-light: #EEF1F3;

  --cc-heading: #172B3A;
  --cc-text: #52606D;
  --cc-muted: #7B8794;

  --cc-border: rgba(16, 42, 67, .12);

  --cc-shadow: 
    0 15px 45px rgba(16, 42, 67, .08);

  --cc-radius: 4px;

  --cc-transition:
    all .35s cubic-bezier(.22, .61, .36, 1);

  --cc-font-body:
    'DM Sans',
    sans-serif;

  --cc-font-heading:
    'Playfair Display',
    serif;

}


/* ------------------------------
   Base
------------------------------ */

html {
  scroll-behavior: smooth;
}

body {

  margin: 0;

  font-family: var(--cc-font-body);

  font-size: 16px;

  line-height: 1.7;

  color: var(--cc-text);

  background: var(--cc-white);

  -webkit-font-smoothing: antialiased;

}


a {

  color: inherit;

  text-decoration: none;

  transition: var(--cc-transition);

}


img {

  max-width: 100%;

  height: auto;

}


h1,
h2,
h3,
h4,
h5,
h6 {

  margin-top: 0;

  color: var(--cc-heading);

  font-family: var(--cc-font-heading);

  line-height: 1.2;

}


::selection {

  color: var(--cc-white);

  background: var(--cc-navy);

}


/* ------------------------------
   Page Loader
------------------------------ */

.page-loader {

  position: fixed;

  inset: 0;

  z-index: 99999;

  display: flex;

  align-items: center;

  justify-content: center;

  background: var(--cc-navy-dark);

  transition:
    opacity .6s ease,
    visibility .6s ease;

}


.page-loader.loaded {

  opacity: 0;

  visibility: hidden;

}


.page-loader-inner {

  text-align: center;

}


.loader-mark {

  color: var(--cc-gold);

  font-family: var(--cc-font-heading);

  font-size: 34px;

  font-weight: 600;

  letter-spacing: 2px;

}


.loader-line {

  width: 60px;

  height: 1px;

  margin: 15px auto 0;

  background: var(--cc-gold);

  transform-origin: left;

  animation: loaderLine 1.2s ease-in-out infinite;

}


@keyframes loaderLine {

  0% {
    transform: scaleX(0);
  }

  50% {
    transform: scaleX(1);
  }

  100% {
    transform: scaleX(0);
  }

}


/* ------------------------------
   Container
------------------------------ */

.container {

  max-width: 1240px;

}


/* ------------------------------
   Buttons
------------------------------ */

.btn {

  border-radius: 0;

  padding: 13px 24px;

  font-size: 13px;

  font-weight: 700;

  letter-spacing: .4px;

}


.btn-consultation {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 14px;

  color: var(--cc-white);

  background: var(--cc-navy);

  border: 1px solid var(--cc-navy);

}


.btn-consultation:hover {

  color: var(--cc-white);

  background: var(--cc-gold);

  border-color: var(--cc-gold);

}


.btn-consultation i {

  transition: transform .3s ease;

}


.btn-consultation:hover i {

  transform: translateX(4px);

}


/* =========================================================
   SHARED
========================================================= */

.section-padding {
  padding: 110px 0;
}

.section-label {

  display: flex;
  align-items: center;
  gap: 12px;

  margin-bottom: 20px;

  color: var(--cc-gold);

  font-size: 10px;
  font-weight: 700;

  letter-spacing: 2px;
  text-transform: uppercase;
}

.section-label-line {

  width: 35px;
  height: 1px;

  background: var(--cc-gold);
}

.section-title {

  max-width: 700px;

  margin-bottom: 25px;

  font-size: clamp(36px, 4vw, 58px);

  font-weight: 500;
}

.section-title span {

  display: block;

  color: var(--cc-gold);

}