/*
Theme Name: GP Developer Child Theme
Template: generatepress
Theme URI: https://addisonhalldesign.com
Author: Addison Hall
Author URI: https://addisonhalldesign.com
Description: This is a child theme for GeneratePress for use in jumpstarting more customized development.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gpc
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, fluid-layout, fixed-layout, responsive-layout, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, featured-images, theme-options, light, white, dark, black, blue, brown, gray, green, orange, pink, purple, red, silver, tan, yellow
*/

/* ==========================================
=! FONTS
------------------------------------------ */

@import url("https://fast.fonts.net/t/1.css?apiType=css&projectid=170571da-43ec-4009-92ad-1f52c27fda34");
@font-face{
  font-family:"Avenir";
  font-weight: normal;
  font-style: normal;
  src:url("fonts/710789a0-1557-48a1-8cec-03d52d663d74.eot?#iefix");
  src:url("fonts/710789a0-1557-48a1-8cec-03d52d663d74.eot?#iefix") format("eot"),url("fonts/065a6b14-b2cc-446e-9428-271c570df0d9.woff2") format("woff2"),url("fonts/65d75eb0-2601-4da5-a9a4-9ee67a470a59.woff") format("woff"),url("fonts/c70e90bc-3c94-41dc-bf14-caa727c76301.ttf") format("truetype");
}
@font-face{
  font-family:"Avenir";
  font-weight: normal;
  font-style: italic;
  src:url("fonts/d8c50fcc-bc32-4f31-8c24-b170c64e2254.eot?#iefix");
  src:url("fonts/d8c50fcc-bc32-4f31-8c24-b170c64e2254.eot?#iefix") format("eot"),url("fonts/476612d9-282d-4f76-95cd-b4dd31e7ed21.woff2") format("woff2"),url("fonts/f1ebae2b-5296-4244-8771-5f40e60a564a.woff") format("woff"),url("fonts/04d1bf6c-070d-4b7e-9498-6051c9f0c349.ttf") format("truetype");
}
@font-face{
  font-family:"Avenir";
  font-weight: bold;
  font-style: normal;
  src:url("fonts/6af9989e-235b-4c75-8c08-a83bdaef3f66.eot?#iefix");
  src:url("fonts/6af9989e-235b-4c75-8c08-a83bdaef3f66.eot?#iefix") format("eot"),url("fonts/d513e15e-8f35-4129-ad05-481815e52625.woff2") format("woff2"),url("fonts/61bd362e-7162-46bd-b67e-28f366c4afbe.woff") format("woff"),url("fonts/ccd17c6b-e7ed-4b73-b0d2-76712a4ef46b.ttf") format("truetype");
}
@font-face{
  font-family:"Avenir";
  font-weight: bold;
  font-style: italic;
  src:url("fonts/e6b412d9-d1ed-4b17-bb93-a6911df8640d.eot?#iefix");
  src:url("fonts/e6b412d9-d1ed-4b17-bb93-a6911df8640d.eot?#iefix") format("eot"),url("fonts/3c210c80-960f-4684-850b-25390b4d08af.woff2") format("woff2"),url("fonts/cb5c71ad-e582-4d00-929c-67fbfaeb1c27.woff") format("woff"),url("fonts/9ced8e96-4602-4507-8c20-4ff381949a9a.ttf") format("truetype");
}
@font-face{
  font-family:"ITC Garamond";
  font-weight: normal;
  font-style: normal;
  src:url("fonts/5f5a2d1f-37e8-42e6-9769-15b22f9a691b.eot?#iefix");
  src:url("fonts/5f5a2d1f-37e8-42e6-9769-15b22f9a691b.eot?#iefix") format("eot"),url("fonts/3898fc2f-b3f8-4656-a283-bdcbf137ffbb.woff2") format("woff2"),url("fonts/120422db-27fa-4ea0-b15c-8143059f8244.woff") format("woff"),url("fonts/374c616e-ae99-4bcf-b9c0-e96ca4d37cc7.ttf") format("truetype");
}
@font-face{
  font-family:"ITC Garamond";
  font-weight: normal;
  font-style: italic;
  src:url("fonts/afb1ce6f-354d-4ec8-bff7-90817fd2f194.eot?#iefix");
  src:url("fonts/afb1ce6f-354d-4ec8-bff7-90817fd2f194.eot?#iefix") format("eot"),url("fonts/c83f43b4-eeb9-4e38-8951-f553ce873be3.woff2") format("woff2"),url("fonts/dbf7f71d-2979-40c1-beda-f7b889ae9d0e.woff") format("woff"),url("fonts/23cb9163-2005-4183-a41b-5e0c54934077.ttf") format("truetype");
}
@font-face{
  font-family:"Palatino ET";
  font-weight: normal;
  font-style: normal;
  src:url("fonts/521395e9-3b51-44d8-93c5-86d2c6b0dfdc.eot?#iefix");
  src:url("fonts/521395e9-3b51-44d8-93c5-86d2c6b0dfdc.eot?#iefix") format("eot"),url("fonts/e7959eba-c2a9-4d1d-85de-9ee53f04b523.woff2") format("woff2"),url("fonts/623e56b1-309d-41c4-b876-621d9ddc063d.woff") format("woff"),url("fonts/ee7b78a4-1673-49b6-ae6d-9b938e3ab0b2.ttf") format("truetype");
}
@font-face{
  font-family:"Palatino ET";
  font-weight: normal;
  font-style: italic;
  src:url("fonts/95530bd5-3853-4499-b116-f9bc81240c7c.eot?#iefix");
  src:url("fonts/95530bd5-3853-4499-b116-f9bc81240c7c.eot?#iefix") format("eot"),url("fonts/e7920d8d-dfd3-414a-8df6-de1aa2ba95a0.woff2") format("woff2"),url("fonts/a294ce9b-8324-4193-87dc-7084f4998d3f.woff") format("woff"),url("fonts/d86234c2-6ca7-4205-9479-efeee141e108.ttf") format("truetype");
}
@font-face {
  font-family: 'Campton';
  src: url('fonts/campton-lightdemo-webfont.woff2') format('woff2'),
       url('fonts/campton-lightdemo-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/* ==========================================
=! DEFAULTS
------------------------------------------ */

body.gpc {
  font-family: "Palatino ET", serif;
  -webkit-font-smoothing: antialiased;
}

/* --- Foreground colors --- */
.color-black { color: #000; }
.color-white { color: #fff; }
.color-light-gray { color: #efecea; }
.color-light-green { color: #bed7d3; }
.color-dark-green { color: #4d858d; }
.color-orange { color: #d86d27; }
.color-yellow { color: #fed850; }

/* --- Background colors --- */
.bg-color-black { background-color: #000; }
.bg-color-white { background-color: #fff; }
.bg-color-light-gray { background-color: #efecea; }
.bg-color-light-green { background-color: #bed7d3; }
.bg-color-dark-green { background-color: #4d858d; }
.bg-color-orange { background-color: #d86d27; }
.bg-color-yellow { background-color: #fed850; }

/* --- Fonts --- */
.body-font {
  font-family: "Palatino ET", serif;
}
.display-font {
  font-family: "ITC Garamond", serif;
}
.sans-font {
  font-family: "Avenir", sans-serif;
}
.accent-font {
  font-family: "Campton", sans-serif;
}

/* --- Force layout to line up --- */
.site.container {
  max-width: 1180px;
}

/* --- Underline links in content area --- */
.inside-article .entry-content a {
  border-bottom: 1px dotted;
}

/* --- Adjust element spacing in entry content */
.inside-article .entry-content figure + p {
  margin-top: 1.25rem;
}

/* ==========================================
=! HEADER AND NAV
------------------------------------------ */

body:not(.home) .site-logo:not(.mobile-header-logo) {
  position: absolute;
  top: -45px;
  z-index: 1;
}

.gpc .mobile-header-navigation .mobile-header-logo img {
  padding: 0;
}
.gpc .menu-toggle {
  line-height: 68px;
}
.gpc .menu-toggle .mobile-menu {
  text-transform: uppercase;
}
.gpc .mobile-header-navigation .mobile-header-logo img {
  height: 68px;
}

body:not(.home) .site-header > .inside-header > .site-logo > a > .header-image {
  height: 90px;
}

.home .site-logo:not(.mobile-header-logo) {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: auto;
  top: 85px;
}

.home .main-navigation {
  margin-bottom: 193px;
}

.gpc.home .main-navigation,
.gpc.home.secondary-nav-aligned-right .secondary-navigation {
  text-align: center;
}

.main-navigation .menu > .menu-item:not(:last-child)::after {
  content: '';
  display: block;
  background-color: #d86d27;
  width: 1px;
  height: 17px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.main-navigation .menu > .menu-item > a {
  font-family: "Campton", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.main-navigation .sub-menu > .menu-item {
  border-top: 2px solid #fff;
}
.main-navigation .sub-menu > .menu-item a {
  text-transform: lowercase;
}

.slideout-navigation.main-navigation ul ul {
  box-shadow: none;
}
.slideout-navigation.main-navigation .main-nav > ul > li > a {
  font-family: "Campton", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}

.home .secondary-navigation {
  background-color: #d86d27;
}

.header-phone {
  color: #fff;
  font-size: 13px;
  padding-left: 17px;
  padding-right: 17px;
  line-height: 45px;
}

.header-facebook svg {
  height: 18px;
  width: auto;
  position: relative;
  top: 0.25em;
}

/* --- Modify mobile menu breakpoint --- */
/* @media (max-width: 882px) {
	.main-navigation .menu-toggle,
  .main-navigation .mobile-bar-items,
  .secondary-navigation .menu-toggle,
	.secondary-navigation .mobile-bar-items,
	.sidebar-nav-mobile:not(#sticky-placeholder) {
		display: block;
	}

  .main-navigation ul,
  .secondary-navigation ul,
	.gen-sidebar-nav {
		display: none;
	}

	[class*="nav-float-"] .site-header .inside-header > * {
		float: none;
		clear: both;
  }
  
  .secondary-navigation {
    display: none;
  }
} */

@media (max-width: 767.999px) {
  .secondary-navigation {
    display: none;
  }
}

/* --- Hide the menu toggle --- */
.gpc .main-navigation:not(.slideout-navigation) .dropdown-menu-toggle {
  display: none;
}
.main-navigation .main-nav ul li.menu-item-has-children > a {
  padding-right: 19px; /* --- add back padding --- */
}

/* ==========================================
=! HOME PAGE
------------------------------------------ */

/* --- Stats --- */
@media (min-width: 1025px) {
  .stat-item {
    flex-grow: 1;
    flex-basis: 0;
  }
}
.stat-number {
  font-family: "ITC Garamond", serif;
  font-size: 48px;
}
.stat-text {
  font-family: "Campton", sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}

/* ==========================================
=! CONTENT
------------------------------------------ */

@media (max-width: 767.999px) {
  body {
    border-top: 6px solid #000;
  }
}

.entry-title, .section-intro-header, h1 {
  font-family: "ITC Garamond", serif;
  font-style: italic;
}
h2.entry-title {
  font-size: 40px;
  margin-bottom: 20px;
  line-height: 1.2em;
  text-transform: none;
}
.entry-title::after {
  content: '';
  display: block;
  width: 300px;
  height: 1px;
  background-color: #d86d27;
  margin-top: 9px;
  position: relative;
  left: -20px;
}

/**
  * fix margin issue caused by our custom SEO header
  * see generate_after_entry_header in cpt-output.custom.phhp
  */
.page .entry-content {
  margin-top: 1em;
}

/* --- Intro styling --- */
.section-intro-header,
h1.intro-centered {
  font-size: 30px;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .section-intro-header,
  .section-intro-text {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 1025px) {
  .section-intro-header,
  .section-intro-text {
    padding-left: 190px;
    padding-right: 190px;
  }
}
.section-intro-header::after,
h1.intro-centered::after {
  content: '';
  display: block;
  width: 150px;
  height: 1px;
  background-color: #d86d27;
  margin: 10px auto; 
}
p.intro-centered {
  margin-bottom: 2rem;
}

.entry-content,
.entry-summary,
.page-content {
  margin: 1em 0 0;
}

.entry-content h3 {
  font-style: italic;
}

.sidebar {
  font-family: "Avenir", sans-serif;
}

.separate-containers .inside-left-sidebar,
.separate-containers .inside-right-sidebar {
  margin-bottom: 40px;
}

h1.seo-header {
  color: #4d858d;
  font-family: "Campton",sans-serif;
  font-size: 12px;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 0.4rem;
}

/* ==========================================
=! COMPONENTS
------------------------------------------ */

/* --- Page section nav (shortcode) --- */
.menu-section-pages-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style-type: none;
  margin-left: -5px;
  margin-right: -5px;
}
.menu-section-pages-container li {
  background-color: #EFECEA;
  /* border-left: 3px solid #0F3649; */
  -webkit-box-flex: 1;
      -ms-flex: 1 0 500px;
          flex: 1 0 500px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
  margin-bottom: 5px;
  -webkit-transition: background-color 0.1s ease-in-out;
  transition: background-color 0.1s ease-in-out;
}
@media (min-width: 768px) {
  .menu-section-pages-container li {
    max-width: calc(50% - 10px);
    margin: 0 5px 10px;
  }
}
@media (min-width: 1025px) {
  .menu-section-pages-container li {
    max-width: calc(33.333% - 10px);
  }
}
.menu-section-pages-container li:hover {
  background-color: #EFECEA;
}
.menu-section-pages-container li a {
  display: block;
  padding: 12px 14px;
  font-family: "Campton", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.015em;
  font-size: 16px;
  color: #d86d27;
  border: none !important;
}
.menu-section-pages-container .description {
  font-weight: normal;
  color: #000;
  display: block;
  font-family: "Avenir", sans-serif;
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
}

/* --- Gutenburg columns --- */
@media (max-width: 767.999px) {
  .wp-block-columns {
    display: block;
  }
}
@media (min-width: 768px) {
  .wp-block-columns {
    margin-left: -15px;
    margin-right: -15px;
  }
  .wp-block-column {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* --- WordPress gallery --- */
.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item,
.gallery-columns-4 .gallery-item,
.gallery-columns-5 .gallery-item,
.gallery-columns-6 .gallery-item,
.gallery-columns-7 .gallery-item,
.gallery-columns-8 .gallery-item,
.gallery-columns-9 .gallery-item {
  max-width: 50%;
}
@media screen and (min-width: 640px) {
  .gallery-columns-3 .gallery-item,
  .gallery-columns-4 .gallery-item,
  .gallery-columns-5 .gallery-item,
  .gallery-columns-6 .gallery-item,
  .gallery-columns-7 .gallery-item,
  .gallery-columns-8 .gallery-item,
  .gallery-columns-9 .gallery-item {
    max-width: 33.33%;
  }
}
@media screen and (min-width: 992px) {
  .gallery-columns-4 .gallery-item {
    max-width: 25%;
  }
  .gallery-columns-5 .gallery-item {
    max-width: 20%;
  }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}
.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  font-family: "Avenir", sans-serif;
}

@media (max-width: 1024px) {
  .blocks-gallery-grid .blocks-gallery-image figure, .blocks-gallery-grid .blocks-gallery-item figure, .wp-block-gallery .blocks-gallery-image figure, .wp-block-gallery .blocks-gallery-item figure {
    display: block;
  }
  .blocks-gallery-grid.is-cropped .blocks-gallery-image a, .blocks-gallery-grid.is-cropped .blocks-gallery-image img, .blocks-gallery-grid.is-cropped .blocks-gallery-item a, .blocks-gallery-grid.is-cropped .blocks-gallery-item img, .wp-block-gallery.is-cropped .blocks-gallery-image a, .wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, .wp-block-gallery.is-cropped .blocks-gallery-item img {
    height: unset;
  }
  .blocks-gallery-grid .blocks-gallery-image figcaption, .blocks-gallery-grid .blocks-gallery-item figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption {
    position: unset;
  }
}

/* --- featherlight plugin --- */
.featherlight .featherlight-content .caption {
  font-family: "Avenir", sans-serif;
}

/* --- size of ACF Google map --- */
.acf-map {
  width: 100%;
  height: 400px;
  border: #ccc solid 1px;
  margin: 20px 0;
}

/* --- fixes potential theme css conflict --- */
.acf-map img {
  max-width: inherit !important;
}

/* --- responsive video --- */
.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video-container iframe, .video-container object, .video-container embed, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* --- breadcrumbs --- */
.breadcrumbs {
  font-size: 14px;
  margin-bottom: 10px;
}

/* --- buttons --- */
button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.button:visited {
  font-family: "Campton", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}
a.button.button-alt,
a.button.button-alt:visited,
.gform_button.button {
  color: #000000;
  background-color: #d86d27;
}
a.button.button-alt:focus,
a.button.button-alt:hover,
.gform_button.button:focus,
.gform_button.button:hover {
  color: #000000;
  background-color: #e47c1b;
}

/* --- override customizer button styling --- */
button, html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
a.button:visited {
  background-color: #4d858d;
}
button:hover, html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover, button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus, a.button:focus {
  background-color: #0f5d70;
}

/* --- footer nav --- */
.footer-menus a {
  color: #000000;
}
.footer-main-nav {
  font-family: "Campton", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.015em;
  font-size: 15px;
  line-height: 1.85;
}
.footer-secondary-nav {
  font-size: 14px;
  margin-left: 15px;
  border-left: 1px solid #d86d27;
  padding-left: 15px;
  line-height: 1.6;
}

/* --- re-usable stuff --- */
.bg-pattern {
  background-image: url('/wp-content/uploads/2018/09/bg-pattern-block@2x-8.png');
  background-position: center center;
  background-size: 60px;
}
.section-header {
  font-family: "Avenir", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}

/* --- Gallery sliders (slick) --- */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.header-gallery-slider {
  max-width: 1100px;
  margin: 0 auto 30px;
  overflow: hidden;
  display: none;
}
.header-gallery-slider.slick-initialized {
  display: block;
}
.home .header-gallery-slider {
  margin-top: 0;
  margin-bottom: 0;
}
.gallery-slide-wrapper {
  background-color: #000;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.gallery-slide-wrapper::after {
  content: '';
  position: absolute;
  top: 8px;
  right: 8px;
  bottom: 8px;
  left: 8px;
  border: 1px solid #fff;
  z-index: 1;
}
.home .gallery-slide-wrapper::after {
  top: 8px;
  right: 8px;
  bottom: 8px;
  left: 8px;
}
body:not(.home) .gallery-slide-text,
.home .gallery-slide-text {
  display: none;
}
.gallery-slide {
  height: 160px;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
}
.home .gallery-slide {
  height: 160px;
}
@media (min-width: 524px) {
  .gallery-slide {
    height: 220px;
  }
  .home .gallery-slide {
    height: 220px;
  }
  .home .gallery-slide-text {
    display: block;
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
    width: 42%;
  }
  .home .animate-me .gallery-slide-text h2 {
    opacity: 1;
  }
  .gallery-slide-text h2 {
    font-family: "ITC Garamond", serif;
    color: #000;
    text-transform: lowercase;
    font-size: 28px;
    line-height: 1.1;
    text-align: center;
    width: 78%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 50px;
    transition: opacity 1s ease-in-out;
    opacity: 0;
    z-index: 1;
  }
  .home .gallery-slide-text h2 {
    left: unset;
    right: 50px;
    color: #fff;
    text-shadow: 0 0 18px rgba(0,0,0,0.7);
    font-size: 24px;
  }
}
@media (min-width: 768px) {
  .header-gallery-slider {
    margin-top: 50px;
  }
  .gallery-slide-wrapper::after {
    top: 25px;
    right: 25px;
    bottom: 25px;
    left: 25px;
  }
  .home .gallery-slide-wrapper::after {
    top: 30px;
    right: 30px;
    bottom: 30px;
    left: 30px;
  }
  body:not(.home) .gallery-slide-text {
    background: #bed7d3 url('../../uploads/2018/09/bg-pattern-block@2x-8.png') repeat 0 0;
    background-size: 60px;
    display: block;
    float: left;
    width: 33.333%;
    height: 340px;
    position: relative;
    z-index: 0;
  }
  .home .gallery-slide-text h2 {
    font-size: 36px;
  }
  .animate-me .gallery-slide-text h2 {
    opacity: 1;
  }
  .animate-me .gallery-slide {
    -webkit-animation: zoomin 10s ease-in forwards;
    animation: zoomin 10s ease-in forwards;
  }
  body:not(.home) .gallery-slide.has-text-width {
    display: block;
    float: right;
    width: 66.666%;
  }
  .gallery-slide {
    height: 340px;
  }
  .home .gallery-slide {
    height: 540px;
  }
}
@media (min-width: 1025px) {
  .gallery-slide-text h2 {
    font-size: 36px;
  }
  .home .gallery-slide-text h2 {
    font-size: 48px;
  }
}

/* --- Slick dots --- */
.slick-dots {
  display: none;
}
@media (min-width: 768px) {
  body:not(.home) .slick-dots {
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    bottom: unset;
    left: unset;
    width: auto;
  }
  body:not(.home) .slick-dots li {
    display: block;
    margin: 0 3px;
  }
  .home .slick-dots {
    bottom: 11px;
  }
  .slick-dots li button:before {
    color: #fff;
    font-size: 10px;
    opacity: 0.6;
  }
  .slick-dots li.slick-active button:before {
    color: #fff;
    opacity: 1;
  }
}

/* --- Zoom in Keyframes --- */
@-webkit-keyframes zoomin {
  0% {transform: scale(1);}
  100% {transform: scale(1.1);}
}
@keyframes zoomin {
  0% {transform: scale(1);}
  100% {transform: scale(1.1);}
}

/* --- Cards (repeatable image/text/link blocks) --- */
.card-header {
  color: #4d858d;
  font-family: "Campton", sans-serif;
  font-size: 15px;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}
.card-text {
  font-family: "Avenir", sans-serif;
  font-size: 15px;
}
.card-link a {
  border: none !important;
  color: #000;
  font-family: "Campton", sans-serif;
  font-size: 12px;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}
.card-link a::after {
  content: ' >';
  color: #d86d27;
  font-family: "Avenir", sans-serif;
}

/* --- Alternate cards --- */
.alt-card-image {
  display: block;
  position: relative;
  z-index: 0;
}
.alt-card-image::after {
  content: '';
  position: absolute;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  border: 1px solid #fff;
  z-index: 1;
}
a.alt-card-image {
  border: none !important;
}
.alt-card-image-header {
  font-family: "Campton", sans-serif;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.015em;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.alt-card-text p {
  margin: 0;
}
.alt-card-link a,
.alt-card-link span {
  border: none !important;
  color: #4d858d;
  font-family: "Avenir", sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}
.alt-card-link a::before,
.alt-card-link span::before {
  content: '— ';
  color: #4d858d;
}
.alt-card-link a::after,
.alt-card-link span::after {
  content: ' —';
  color: #4d858d;
}

/* --- Lifestyle blocks --- */
.lifestyle-block {
  background-color: #efecea;
  border-bottom: 30px solid #efecea;
  font-family: "Avenir", sans-serif;
}
.lifestyle-block:last-child {
  border-bottom: none;
}
.lifestyle-block-header {
  background-color: #4d858d;
  color: #fff;
  position: relative;
  z-index: 0;
}
.lifestyle-block-header:hover {
  cursor: pointer;
}
.lifestyle-block:nth-child(even) .lifestyle-block-header {
  background-color: #d86d27;
}
.lifestyle-block-label {
  color: #fff;
  padding: 30px;
}
.lifestyle-block-label h2 {
  border: 1px solid #fff;
  padding: 30px;
}
@media (min-width: 768px) {
  .lifestyle-block-label h2 {
    padding: 48px;
  }
}
@media (min-width: 1025px) {
  .lifestyle-block-label h2 {
    padding: 100px;
  }
}
.lifestyle-block-image {
  background-size: cover;
  background-position: center center;
}
@media (max-width: 767.999px) {
  .lifestyle-block-image {
    height: 200px;
  }
}
.lifestyle-block h2,
.lifestyle-block h3 {
  font-family: "Campton", sans-serif;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}
.has-js .lifestyle-block-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.has-js .lifestyle-block-header::after {
  content: '+';
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  display: block;
  color: #fff;
  background-color: #4d858d;
  padding: 12px 18px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.open .lifestyle-block-header::after {
  content: '–';
  padding-left: 20px;
  padding-right: 20px;
}
.has-js .lifestyle-block:nth-child(even) .lifestyle-block-header::after {
  background-color: #d86d27;
}
.open .lifestyle-block-content {
  max-height: 2000px;
}
@media (min-width: 1025px) {
  .open .lifestyle-block-content {
    max-height: 1200px;
  }
}
.lifestyle-block-content p {
  margin-bottom: 1rem;
}
.lifestyle-block-content ul {
  margin-left: 1.25rem;
  margin-bottom: 1rem;
}
.lifestyle-block-content a {
  color: #000;
  font-size: 90%;
  text-decoration: none;
  border-bottom: none !important;
}
.lifestyle-block-content a::after {
  content: ' >';
  color: #d86d27;
}

/* ==========================================
=! WIDGETS
------------------------------------------ */

/* --- Sidebar widget layout --- */
@media (min-width: 1025px) {
  .sidebar .inside-left-sidebar .widget {
    padding-left: 100px;
  }
}

/* --- Widget list styling --- */
.gpc .sidebar .widget ul,
.gpc .sidebar .widget ol {
  margin-left: 1rem;
}
.gpc .sidebar .widget ul li,
.gpc .sidebar .widget ol li {
  list-style-type: disc;
}

/* --- Attention widget --- */
.widget.attention > div {
  background-color: #d86d27;
  padding: 10px 20px;
}

/* --- Sidebar widget title --- */
.sidebar .widget-title {
  font-family: "Campton", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}

/* --- Text Widget Styling --- */
.sidebar .textwidget p strong {
  color: #4d858d;
  font-family: "Campton", sans-serif;
  font-size: 16px;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}
.sidebar .textwidget p {
  margin-bottom: 0.5rem;
}
.sidebar .textwidget ul + p,
.sidebar .textwidget ol + p {
  margin-top: 1rem;
}

/* --- Widget links --- */
.sidebar .widget a:not(.button) {
  color: #000;
}
.sidebar .widget a:not(.button):focus,
.sidebar .widget a:not(.button):hover {
  color: #d86d27;
}

/* --- GPC Sub Menu Widget --- */
.gpc .widget_gpc_sub_menu_widget .dropdown-menu-toggle { display: none; }
.gpc .widget_gpc_sub_menu_widget .menu-item-has-children .sub-menu { margin-left: 1.2em; }
.gpc .widget_gpc_sub_menu_widget .menu-item-has-children .sub-menu li { list-style: disc; }
.gpc .widget_gpc_sub_menu_widget .current-menu-item > a { font-weight: bold; color: #d86d27; }

/* ==========================================
=! FOOTER
------------------------------------------ */

.footer-widgets {
  background-size: 60px;
}

.footer-logo {
  text-align: center;
}
.footer-logo img {
  max-width: 200px !important;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================
=! OTHER
------------------------------------------ */

/* --- Gravity Forms --- */
.gfield_label {
  font-family: "Avenir", sans-serif;
}
.gsection_title {
  font-size: 24px;
  margin-bottom: 0;
}
.gpc .gform_wrapper.gravity-theme .gfield_checkbox label,
.gpc .gform_wrapper.gravity-theme .gfield_radio label {
  display: unset;
}
.gpc .gform_wrapper.gravity-theme .gfield + .gfield {
  margin-top: 10px;
}
.gpc .gform_wrapper.gravity-theme .gfield + .gfield.gsection:not(.collapsible-sections-field) {
  margin-top: 40px;
}
body .gform_confirmation_wrapper .gform_confirmation_message {
  padding: 10px;
  background-color: #95cebc;
  border: 1px solid #4d858d;
}

/* --- Remove float from flex grid items --- */
.flex *[class*='grid-'] {
  float: none;
}

/* --- Plugin: Lightweight Grid Columns spacing fix --- */
.has-js .lgc-column { visibility: hidden; }
.lgc-row .lgc-column { visibility: visible; }
@media (min-width: 768px) {
  .lgc-row {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.lgc-row .inside-grid-column {
  padding: 0 20px;
}