/* Frontend overrides that must load after Divi core/customizer styles. */

body.wp-child-theme-calvosa .container {
  width: min(100% - 2rem, 1320px) !important;
  max-width: 1320px !important;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 576px) {
  body.wp-child-theme-calvosa .container {
    width: min(100% - 3rem, 1320px) !important;
  }
}

@media (min-width: 992px) {
  body.wp-child-theme-calvosa .container {
    width: min(100% - 5rem, 1320px) !important;
  }
}

body.wp-child-theme-calvosa .site-header,
body.wp-child-theme-calvosa .site-footer {
  font-family: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
}

body.wp-child-theme-calvosa .site-header a,
body.wp-child-theme-calvosa .site-footer a {
  color: inherit;
  text-decoration: none;
}

body.wp-child-theme-calvosa .site-header h1,
body.wp-child-theme-calvosa .site-header h2,
body.wp-child-theme-calvosa .site-header h3,
body.wp-child-theme-calvosa .site-header h4,
body.wp-child-theme-calvosa .site-header h5,
body.wp-child-theme-calvosa .site-header h6,
body.wp-child-theme-calvosa .site-footer h1,
body.wp-child-theme-calvosa .site-footer h2,
body.wp-child-theme-calvosa .site-footer h3,
body.wp-child-theme-calvosa .site-footer h4,
body.wp-child-theme-calvosa .site-footer h5,
body.wp-child-theme-calvosa .site-footer h6 {
  font-family: "Playfair Display", "Times New Roman", serif !important;
  color: inherit !important;
  font-style: normal !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

body.wp-child-theme-calvosa .site-header .nav-link {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.wp-child-theme-calvosa .site-header .nav-link:hover,
body.wp-child-theme-calvosa .site-header .nav-link:focus {
  color: rgba(255, 255, 255, 0.8) !important;
}

body.wp-child-theme-calvosa .site-header .sub-menu a,
body.wp-child-theme-calvosa .site-header .sub-menu .nav-link {
  color: var(--ink) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

body.wp-child-theme-calvosa .site-header .sub-menu a:hover,
body.wp-child-theme-calvosa .site-header .sub-menu a:focus,
body.wp-child-theme-calvosa .site-header .sub-menu .nav-link:hover,
body.wp-child-theme-calvosa .site-header .sub-menu .nav-link:focus {
  color: var(--forest) !important;
}

body.wp-child-theme-calvosa .site-header .btn-calvosa {
  background: var(--forest) !important;
  color: #fff !important;
  border-color: var(--forest) !important;
  font-weight: 700 !important;
}

body.wp-child-theme-calvosa .site-header .btn-calvosa:hover,
body.wp-child-theme-calvosa .site-header .btn-calvosa:focus {
  background: var(--forest-dark) !important;
  color: #fff !important;
  border-color: var(--forest-dark) !important;
}

body.home.wp-child-theme-calvosa .site-header,
body.home.wp-child-theme-calvosa .site-main,
body.home.wp-child-theme-calvosa .site-footer {
  font-family: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  color: var(--ink) !important;
}

body.home.wp-child-theme-calvosa .site-header a,
body.home.wp-child-theme-calvosa .site-main a,
body.home.wp-child-theme-calvosa .site-footer a {
  color: inherit;
  text-decoration: none;
}

body.home.wp-child-theme-calvosa .site-main h1,
body.home.wp-child-theme-calvosa .site-main h2,
body.home.wp-child-theme-calvosa .site-main h3,
body.home.wp-child-theme-calvosa .site-main h4,
body.home.wp-child-theme-calvosa .site-main h5,
body.home.wp-child-theme-calvosa .site-main h6,
body.home.wp-child-theme-calvosa .site-header h1,
body.home.wp-child-theme-calvosa .site-header h2,
body.home.wp-child-theme-calvosa .site-header h3,
body.home.wp-child-theme-calvosa .site-header h4,
body.home.wp-child-theme-calvosa .site-header h5,
body.home.wp-child-theme-calvosa .site-header h6,
body.home.wp-child-theme-calvosa .site-footer h1,
body.home.wp-child-theme-calvosa .site-footer h2,
body.home.wp-child-theme-calvosa .site-footer h3,
body.home.wp-child-theme-calvosa .site-footer h4,
body.home.wp-child-theme-calvosa .site-footer h5,
body.home.wp-child-theme-calvosa .site-footer h6 {
  font-family: "Playfair Display", "Times New Roman", serif !important;
  color: inherit !important;
  font-style: normal !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

body.home.wp-child-theme-calvosa .site-main h2 {
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  letter-spacing: 0.08em !important;
  line-height: 1.1 !important;
}

body.home.wp-child-theme-calvosa .hero-section,
body.home.wp-child-theme-calvosa .hero-section h1,
body.home.wp-child-theme-calvosa .hero-section h2,
body.home.wp-child-theme-calvosa .hero-section h3,
body.home.wp-child-theme-calvosa .hero-section h4,
body.home.wp-child-theme-calvosa .hero-section h5,
body.home.wp-child-theme-calvosa .hero-section h6 {
  color: #fff !important;
}

body.home.wp-child-theme-calvosa .hero-title {
  font-family: "Playfair Display", "Times New Roman", serif !important;
  font-size: clamp(2.2rem, 4vw, 4rem) !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 0 !important;
}

body.home.wp-child-theme-calvosa .hero-title-sub {
  margin-top: 0.5rem !important;
  font-size: 0.28em !important;
  letter-spacing: 0.28em !important;
}

body.home.wp-child-theme-calvosa .intro-section,
body.home.wp-child-theme-calvosa .portfolio-section {
  color: #f7f2ea !important;
}

body.home.wp-child-theme-calvosa .intro-text {
  color: rgba(247, 242, 234, 0.8) !important;
}

body.home.wp-child-theme-calvosa .btn-calvosa {
  background: #fff !important;
  color: var(--ink) !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 0.4rem 1.5rem !important;
}

body.home.wp-child-theme-calvosa .btn-calvosa:hover,
body.home.wp-child-theme-calvosa .btn-calvosa:focus {
  background: var(--warm-gray) !important;
  border-color: var(--warm-gray) !important;
  color: var(--ink) !important;
}

body.home.wp-child-theme-calvosa .site-header .nav-link {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.home.wp-child-theme-calvosa .site-header .nav-link:hover,
body.home.wp-child-theme-calvosa .site-header .nav-link:focus {
  color: rgba(255, 255, 255, 0.8) !important;
}

body.home.wp-child-theme-calvosa .site-header .sub-menu a,
body.home.wp-child-theme-calvosa .site-header .sub-menu .nav-link {
  color: var(--ink) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

body.home.wp-child-theme-calvosa .site-header .sub-menu a:hover,
body.home.wp-child-theme-calvosa .site-header .sub-menu a:focus,
body.home.wp-child-theme-calvosa .site-header .sub-menu .nav-link:hover,
body.home.wp-child-theme-calvosa .site-header .sub-menu .nav-link:focus {
  color: var(--forest) !important;
}

body.home.wp-child-theme-calvosa .site-header .btn-calvosa {
  background: var(--forest) !important;
  color: #fff !important;
  border-color: var(--forest) !important;
  font-weight: 700 !important;
}

body.home.wp-child-theme-calvosa .site-header .btn-calvosa:hover,
body.home.wp-child-theme-calvosa .site-header .btn-calvosa:focus {
  background: var(--forest-dark) !important;
  color: #fff !important;
  border-color: var(--forest-dark) !important;
}

.site-footer .footer-links a,
.site-footer .footer-links .footer-link,
.site-footer .footer-socials a,
.site-footer .footer-social-icon {
  color: #fff !important;
  fill: currentColor;
}

.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus,
.site-footer .footer-links .footer-link:hover,
.site-footer .footer-links .footer-link:focus,
.site-footer .footer-socials a:hover,
.site-footer .footer-socials a:focus {
  color: #fff !important;
}

.site-footer .footer-contact p {
  line-height: 1.15 !important;
  margin-bottom: 0.25rem !important;
}

.site-footer .footer-contact p.mb-0 {
  margin-bottom: 0 !important;
}

body.page-id-3596 .et_pb_image.has-sold-banner {
  overflow: visible !important;
}

body.page-id-3596 .et_pb_image.has-sold-banner::after {
  content: none !important;
}

body.page-id-3596 .et_pb_image.has-sold-banner .et_pb_image_wrap {
  position: relative;
  overflow: hidden;
  display: inline-block;
}

body.page-id-3596 .et_pb_image.has-sold-banner .et_pb_image_wrap::after {
  content: 'SOLD';
  position: absolute;
  top: 1rem;
  left: calc(-50% + 2.4rem);
  width: 100%;
  padding: 1.5em 0;
  transform: rotate(-45deg);
  background-color: #2c3475;
  color: #fff;
  font-weight: 700;
  font-size: 18pt;
  line-height: 1;
  text-align: center;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
