/*  ==========================================================================
    client.css config
    ==========================================================================  */

:root {

/*  typography
    --------------------------------------------------------------------------  */

    --font-heading:             'Poppins', var(--font-main-stack);
    --font-accent:              'Barlow Condensed', var(--font-main-stack);
    --font-text:                'Poppins', var(--font-main-stack);

    --base-font-size:           15px;
    --lg-font-size:             calc( var(--font-size) + 2px );

    --se-heading-weight:        700;  /* primary homepage heading weight */
    --se-subheading-weight:     500;  /* homepage subheading weight */
    --se-caps-weight:           800;  /* all-caps heading label weight */
    --se-accent-weight:         700;  /* accent font heading weight */

    --se-text-weight:           400;  /* primary text weight */
    --se-strong-weight:         600;  /* bold text weight */
	--fa-primary-color: var(--accent);

/*  colors
    --------------------------------------------------------------------------  */

    --lighter-cyan:     var(--accent);      /* current site: banner h1 */
    --cyan:             var(--accent);      /* current site: reverse section headings */
    --med-cyan:         var(--accent);      /* current site: accent headings */
    --dark-cyan:        #0a81a0;      /* current site: accent buttons */

   /* --primary:          #0d2842;*/
	--primary: #232323;
    --primary-bright:   #282828;
    --secondary:        #101010;
    --accent:           #c91827;

    --primary-hover:    #3f3f3f;
    --accent-hover:     #cc2b39;
    --secondary-hover:  #393939;

    --text:             #6f6f6f;
    --text-lighter:     #777777;
    --text-reverse:     #c3c3c3;

    /*--ultralight:       #f1fbfd;*/
	--ultralight: #f6f6f6;
    /*--light:            #e3f6fb;*/
	--light: #ededed;

    --mobile-nav-bg:    var(--primary);
    --mobile-nav-btn:   var(--primary-hover);

/*  design params
    --------------------------------------------------------------------------  */

    --standard-padding:         9rem;
    --border-radius:            0;
    --input-border-radius:      0.125rem;

    --btn-padding:              calc( 1rem +  0.875px) 1.75rem;
    --btn-border-radius:        50rem;
    --btn-font-size:            calc( var(--font-size) -  1.5px);
    --btn-font-weight:          var(--se-caps-weight);

    --grid-gap:                 4rem;

    --accent-heading-size:      calc( var(--base-h1-size) + 0.75rem );

    --lg-line-height:           2rem;

    --service-tabs-width:       16rem;
    --service-tabs-icon-width:  4rem;

    --header-menu-height:       4rem;
    --header-logo-height:       6rem;
    --header-height:            calc( var(--header-menu-height) + var(--header-logo-height) );
}

/*  =============================================================================
    hero module: hero image with form

    • based off of existing static image w/ form banner
    ============================================================================= */

/* parent class */
.home-hero {
}

/* module class */
.home-hero.img-with-form {
  position: relative;
  background: var(--light);
  overflow: hidden;
}

/* the hero grid proportions */
.home-hero.img-with-form .site-grid {
  grid-template-columns: repeat(6, 6fr);
}
.home-hero.img-with-form .hero-text {
  grid-column: span 4;
}
.home-hero.img-with-form .hero-form {
  grid-column: span 2;
}

/* use the hero image to determine the dimensions of the hero */
.home-hero.img-with-form .hero-img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  max-height: calc( 100vh - var(--header-height) );
  background: gray;
}
.home-hero.img-with-form .hero-img img {
  display: none;
  object-fit: cover;
  object-position: bottom right;
  width: 100%;
  height: 100%;
  vertical-align: top;
  display: block;
}

/* QoL for logged-in testing */
.admin-bar .home-hero.img-with-form {
  max-height: calc( 100vh - ( var(--header-height) + 32px ) );
}

/* sync the hero contents with the dimensions of the image */
.home-hero.img-with-form .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* the hero background overlay color */
  background: linear-gradient(to bottom, var(--primary) 1rem, transparent 9rem, transparent calc(100% - 15rem), var(--primary-bright) calc(100% - 3rem)); 
}
.home-hero.img-with-form .hero-contents {
  position: absolute;
  top: 0;
  left: 0;
  width: 65%;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 0 var(--container-margin) 3rem var(--container-margin);
}
.home-hero.img-with-form h1 {
  font-family: var(--font-heading);
  color: var(--accent);
  font-size: var(--base-h4-size);
  text-transform: uppercase;
  font-weight: 800;
  text-wrap: balance;
  margin: 0;
  text-shadow: 
    -1px -1px 0 #fff,  
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
  /* text-shadow: 1px 1px 70px rgba(10,41,70,.85); */
  letter-spacing: .03em;
}
.home-hero.img-with-form h1 + p {
  font-family: var(--font-accent);
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0;
  display: block;
  line-height: 0.95em;
  font-size: calc( var(--accent-heading-size) + 0.5rem );
  font-weight: var(--se-accent-weight);
  margin-top: -1.5rem;
	text-shadow: 1px 1px 70px rgba(10, 41, 70, .85);
}
.home-hero.img-with-form h1 + p + p {
  font-family: var(--font-text);
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
  font-weight: 400 !important;
  color: white;
  margin: 0;
	text-transform: uppercase;
	font-size: 1.4rem !important;
	text-shadow: none;
}
.home-hero.img-with-form p {
  color: #fff;
  margin: 0;
  text-shadow: 0.125rem 0.125rem 0.125rem rgba(25, 25, 30, 0.66);
}
.home-hero.img-with-form .site-btn > a {
  background: var(--accent);
	color: var(--ultralight);
  /* color: var(--black); */
}
/* hide the prefix button icon? */
.home-hero.img-with-form .site-btn > a > i {
  display: none;
}
.home-hero.img-with-form .site-btn > a {
}

/* the hero form */
.home-hero.img-with-form .hero-form {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  padding: 0 var(--container-margin) 0 0;
}
.home-hero.img-with-form .hero-form .form {
  background: rgb(35 35 35 / 70%);
  backdrop-filter: blur(4px);
  padding: 1.5rem;
}
.home-hero.img-with-form .hero-form .form-heading {
  padding: 0;
  border-radius: 0;
}
.sidebar-form-header,
.home-hero.img-with-form .hero-form .form-heading h3 {
  margin: 0;
  text-align: center;
  color: white;
  font-size: var(--base-h4-size);
  font-weight: 400;
  margin-bottom: 1.5rem;
  line-height: 1.25em;
  text-transform: uppercase;
}
.sidebar-form-header strong,
.home-hero.img-with-form .hero-form .form-heading h3 strong {
  color: #fff;
  text-transform: uppercase;
  font-weight: var(--se-accent-weight);
  font-family: var(--font-accent);
  line-height: 0.95em;
  display: block;
  font-size: var(--accent-heading-size);
}
.sidebar-form-header strong span,
.home-hero.img-with-form .hero-form .form-heading h3 strong span {
  color: var(--accent);
  padding: 0;
  background: none;
}
.home-hero.img-with-form .hero-form .form-body {
}
.home-hero.img-with-form p {
  text-wrap: balance;
  color: var(--text-reverse);
  font-weight: 400;
  line-height: 1.75;
}
.home-hero.img-with-form p > a {
  color: white;
}
.gform_wrapper.gravity-theme .gform_footer input {
  background: var(--accent);
}
.gform_wrapper.gravity-theme .gform_footer input:hover {
  background: var(--accent-hover);
}

/* .home-hero.img-with-form media queries */

@media(max-width:60rem) {

}
@media(max-width:48rem) {

  .home-hero.img-with-form,
  .admin-bar .home-hero.img-with-form {
    display: flex;
    flex-direction: column;
    max-height: none;
    background: var(--black);
  }
  .home-hero.img-with-form .hero-overlay {
    display: none;
  }
  .home-hero.img-with-form .hero-contents {
    position: relative;
    width: 100%;
    order: 1;
    padding: 3rem var(--container-margin);
    text-align: center;
    align-items: center;
  }
  .home-hero.img-with-form .hero-img {
    order: 2;
    width: 100%;
    margin: 0 auto;
    border-radius: var(--border-radius);
  }
  .home-hero.img-with-form .hero-form {
    position: relative;
    width: 100%;
    order: 3;
    padding: 0;
  }
  .home-hero.img-with-form .hero-form .form-heading {
    background: var(--primary);
  }

  .home-hero h1 {
    color: var(--accent);
  }
  .home-hero h1::after {
    display: none !important;
  }
  .home-hero.img-with-form h2 {
    color: var(--secondary);
    text-shadow: none;
    color: var(--text-reverse);
  }
}

/*  ----------------------------------------------------------------------------- */


/*  =============================================================================
    hero form module + sidebarform module

    • resets and styles some gravity form elements
    ============================================================================= */

/* reset hero form styles */
.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
  margin: 0.75rem 0 0 0 !important;
  padding: 0;
}
.gform_wrapper.gravity-theme .gform_fields{
  gap: 0.75rem !important;
}
.gform_wrapper.gravity-theme .gfield textarea.small {
  display: block; /* fix gravity forms textarea rendering */
}
.gfield textarea.small,
.ginput_container input,
/* this needs investigating and potential fixing in the base css file */
input:not(.ginput_container.ginput_container_fileupload input,.gform_footer input.button,input[type=select-multiple]):not(.before-after-slider .slider,.modal-content input) {
  resize: none !important;
  border-radius: var(--input-border-radius) !important;
  font-size: var(--font-size) !important;
  padding: 0.5rem !important;
 /* border: none !important;*/
  transition: 0.2s outline;
  /*outline: 1px solid rgba(15, 15, 15, 0.15);*/ /* semitransparent input outline to blend with hero background */
}
/* brighten active hero form fields */
.gfield textarea.small:focus,
.ginput_container input:focus,.home-hero.img-with-form input:not(.ginput_container.ginput_container_fileupload input,.gform_footer input.button):not(.before-after-slider .slider,.modal-content input):focus {
  outline: 3px solid var(--form-active-color) !important;
  background: #fff !important;
}
/* reset hero form input heights to auto */
.ginput_container input,
input:not(.ginput_container.ginput_container_fileupload input,.gform_footer input.button):not(.before-after-slider .slider,.modal-content input) {
  height: auto !important;
}
.gform_wrapper.gravity-theme .gform_footer input {
  border-radius: var(--input-border-radius);
  margin: 0 !important;
}
input[type=submit] {
  transition: 0.2s background !important;
  font-size: var(--font-size) !important;
  padding: 0.5rem 1.5rem !important;
  line-height: inherit !important;
  width: 100% !important;
}
.home .gform_wrapper.gravity-theme .gform_footer,
.home .gform_wrapper.gravity-theme .gform_page_footer {
  padding: 0;
  margin: 0;
}
@media(max-width: 62rem) {
  .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
    line-height: inherit !important;
  }
}
/* darken placeholder strings */
.gform_wrapper ::placeholder {
  color: var(--text) !important;
  opacity: 0.66 !important;
}

/* sidebar gravity form */
#sidebar .sidebar-form {
  background: var(--ultralight);
}
#sidebar .sidebar-form-header {
  background: var(--accent);
  padding: 0.75rem 0;
  justify-content: center;
	flex-direction: column;
	margin-bottom: 0;
}
#sidebar .sidebar-form-header i {
  display: none;
}
.site-form .gform_wrapper .gform_footer input.button {
  background: var(--accent);
}
.site-form .gform_wrapper .gform_footer input[type=submit]:hover {
  background: var(--accent-hover);
}

/*  ----------------------------------------------------------------------------- */

/*  =============================================================================
    recent post module: .home-recent posts, #l10-post-widget
    ============================================================================= */

.home-recent-posts {
  background: var(--ultralight);
  padding: 6rem 0;
}
.home #l10-post-widget .posts .post-list,
.home #l10-post-widget .posts ul {
  padding: 0;
  gap: 2rem;
}
.home #l10-post-widget .tabs .tab.active::after {
  display: none !important; /* glitch fix */
}
.home #l10-post-widget .posts {
  border: none;
  background: none;
}
.home #l10-post-widget .tabs {
  margin: 0 0 1rem 0;
  border: none;
}
.home #l10-post-widget .tabs .tab::after {
  display: none;
}
.home #l10-post-widget .tabs .tab {
  border-radius: var(--border-radius);
  background: var(--ultralight);
  border: 1px solid transparent;
  color: var(--text);
  margin: 0 0.5rem 0 0;
  font-weight: 500;
  font-family: var(--font-heading);
  letter-spacing: 0;
  display: flex;
  align-items: center;
  transition: 0.5s all;
}
.home #l10-post-widget .tabs .tab:not(.active):hover {
  background: var(--light);
}
.home #l10-post-widget .tabs .tab.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  position: inherit;
}
#l10-post-widget .tabs .tab i {
  color: var(--secondary);
}
.home #l10-post-widget .tabs .tab.active i {
    color: #fff
}
#l10-post-widget .posts {
  border-color: var(--med);
}
.home-blog h5 {
  color: var(--text);
  transition: 0.5s all;
  font-weight: 800;
}
.home-blog h5:hover {
  color: var(--primary);
}
.home #l10-post-widget .category, .home #l10-post-widget .popular {
  font-family: var(--font-heading);
  padding: 2px 8px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
}
.home #l10-post-widget .tabs .tab {
  font-family: var(--font-heading);
}
#l10-post-widget .posts ul li a.title, #l10-post-widget .posts ul li a.title:visited {
  color: var(--secondary);
}
.home #l10-post-widget .posts ul li {
  background: var(--card2);
}
.home-recent-posts .site-featured-img {
  background: var(--secondary);
  overflow: hidden;
}
.home-recent-posts .site-featured-img img {
  opacity: 0.75;
  transition: 1s opacity, 1s transform;
}
.home-recent-posts li:hover .site-featured-img img {
  opacity: 1;
  transform: scale(1.1);
}
.site-featured-img .date {
  background: var(--accent);
  color: #fff;
}
#l10-post-widget .posts ul li .text:hover {
  background: var(--ultralight);
}
ul.post-categories li a {
  color: var(--text);
}
ul.post-categories li a i {
  color: var(--accent);
  transition: 0.2s color;
}
ul.post-categories li a:hover i {
  color: #fff;
}
@media(max-width: 40rem) {
  .home #l10-post-widget .tabs .tab i {
    margin: 0 1rem 0 0;
  }
}

/* #sidebar #l10-post-widget */


#sidebar #l10-post-widget .tabs .tab, #sidebar #l10-post-widget .tabs .tab:last-child {
  border-color: var(--med);
}
#sidebar #l10-post-widget .tabs .tab, #sidebar #l10-post-widget .tabs .tab,
#sidebar #l10-post-widget .tabs .tab, #sidebar #l10-post-widget .tabs .tab:last-child {
  background: var(--light);
  color: var(--text-lighter);
  border-color: var(--light);
}
#sidebar #l10-post-widget .tabs .tab.active {
  border-color: var(--med);
}
#sidebar #l10-post-widget .tabs .tab:last-child.active {
  background: #fff;
  color: var(--primary);
}
#l10-post-widget .tabs .tab i {
  color: var(--text-lighter);
}
#sidebar #l10-post-widget .tab:not(.tab.active):hover {
  background: var(--primary) !important;
  color: #fff;
}
#sidebar #l10-post-widget .tab:not(.tab.active):hover i {
  color: #fff;
}
#sidebar #l10-post-widget .posts {
  border-color: var(--med);
}
#sidebar #l10-post-widget .posts ul li a.title,
#sidebar #l10-post-widget .posts ul li a.title:visited {
  color: var(--text);
}
#sidebar #l10-post-widget .posts ul li a.title:hover,
#sidebar #l10-post-widget .posts ul li a.title:active {
  color: var(--primary);
}

/*  ----------------------------------------------------------------------------- 

/*  ==========================================================================
    shiner.css working css
    ==========================================================================  */

.site-header-menu-row .logo {
  height: 100%; /* auto causes bugs */
}
.site-header-top-row.full-width-menu .logo {
  padding: 0;
}
.site-header-announcement-banner .site-container {
  padding: 0;
  align-items: center;
  font-size: calc(var(--font-size) - 1px);
}
.site-header-announcement-banner .left .site-btn a {
  padding: 0.75rem 1.25rem;
  letter-spacing: 0.5px;
}
.site-header-announcement-banner .right,
.site-header-announcement-banner .close-announcement-banner {
  height: 100%;
}
.site-header-announcement-banner .right a {
  color: white;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 100%;
  vertical-align: middle;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

/* .site-header-top-row */

.site-header-top-row {
  background: var(--primary);
}
.site-header-top-row li,
.site-header-top-row li a,
.site-header-top-row li {
  color: #e1e1e1;
  font-weight: 600;
  font-size: calc( var(--font-size) - 1px );
}
.site-header-top-row li a:hover {
  color: #fff;
}
.site-header-top-row ul.contact-info {
  margin-right: 2rem;
}
.site-header-top-row ul.contact-info li::before,
.site-header-top-row ul.menu li::before,
.site-header-top-row ul.menu li i.menu-icon {
  color: var(--accent);
  font-weight: 600;
}
.site-header-top-row .phone-number a {
  color: var(--primary);
  font-size: var(--base-h5-size);
}
.site-header-top-row .phone-number a:hover {
  color: var(--accent);
}
.site-header-top-row ul.contact-info .phone-number::before {
  color: var(--accent);
  font-size: var(--base-h5-size);
}

/* .site-header-menu-row + nav menu */

@media(min-width:62rem) {
  .site-header-menu-row {
    padding: 0;
  }
  body:not(.sticky-header-form-menu-open) .site-nav-menu {
    margin: 0;
  }
  .site-nav-menu > ul {
    gap: 1px;
    background: #2d2d2d;
    padding: 0;
  }
  .site-nav-menu > ul > li {
    background: var(--primary);
    height: 100%;
  }
  .site-nav-menu > ul > li > a {
    font-weight: 700;
    text-transform: uppercase;
    font-size: calc( var(--font-size) + 2px );
    justify-content: flex-start;
    padding-left: 2rem;
    background: none;
    position: relative;
  }
  .site-nav-menu > ul > li > a::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: var(--accent);
    transition: 0.2s height;
    display: block;
    content: '';
  }
  .site-nav-menu > ul > li > a:hover::before,
  .site-nav-menu > ul > li.active > a::before {
    height: 0.3rem;
  }
  .site-nav-menu ul>li.active,
  .site-nav-menu > ul > li.active > a,
  .home .site-nav-menu>ul>li.active>a {
    background: var(--primary-bright);
        color: #ffffff !important; /* override !important fuckery in style.css */
  }
  .site-nav-menu > ul > li > a:hover {
    background: var(--primary-bright) !important;
        color: white !important
  }
  .site-nav-menu > ul > li:first-of-type > a {
    padding-left: 0;
  }
  .site-nav-menu ul>li.menu-item-has-children>a::after, .site-nav-menu>li.menu-item-has-children>a::after {
    color: var(--accent);
  }
  .site-header-menu-row .site-btn > a {
border: 0.125rem solid var(--accent);
        color: #ffffff;
        background: var(--accent);
  }
  .site-header-menu-row .site-btn > a:hover {
    background: var(--accent);
    color: white;
  }
  .main-menu-cta > .site-btn .icon {
    display: none;
  }
  .site-nav-menu>ul>li.menu-item-has-children>ul, .site-nav-menu>ul>li.grid-menu>ul, .site-nav-menu>ul>li.grid-menu>.cta-menu-container, .site-nav-menu>li.menu-item-has-children>ul {
    border-radius: 0;
    background: var(--primary-bright);
    padding: 0 1rem;
  }
  .site-nav-menu li.menu-item-has-children>ul li a {
    font-weight: 500;
    color: #fff;
  }
  .site-nav-menu li.menu-item-has-children>ul li a {
    border-color: #c4d4d9;
    padding: 0.75rem 0;
  }
  .site-nav-menu li.menu-item-has-children>ul li a:hover {
    color: var(--accent);
    background: #2f2f2f;
  }
  .site-nav-menu>ul>li.grid-menu.active>ul, .site-nav-menu>ul>li.grid-menu.active>.cta-menu-container>ul {
    gap: 3rem;
  }
  .site-nav-menu>ul>li.grid-menu.active>ul, .site-nav-menu>ul>li.grid-menu.active>.cta-menu-container>ul {
    padding: 2rem;
  }
  /* grid menu cell count */
  .site-nav-menu>ul>li.grid-menu.active>.cta-menu-container>ul {
    grid-template-columns: repeat(3, 3fr);
  }
  /* grid menu submenu titles */
  .grid-menu > div > .sub-menu > li.menu-item-type-custom > a {
    color: var(--accent) !important;
    font-weight: 800;
    text-transform: uppercase;
    cursor: text;
  }
  /* grid link hovers */
  .site-nav-menu li.grid-menu>.cta-menu-container>ul li a:hover {
    color: var(--accent);
  }
  /* grid carets */
  .site-nav-menu li.grid-menu>.cta-menu-container>ul li a::after {
    color: var(--accent);
  }


}

/*  ==========================================================================
    shiner.css theme overrides
    ==========================================================================  */

/* header announcement */

.site-header-announcement-banner {
  background: var(--accent);
  color: white;
  height: var(--header-top-height);
}

/* rtt */

.site-rtt {
  border-radius: 0;
  background: var(--accent);
  color: white;
  box-shadow: none;
}

/* buttons */

.se-buttons {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  margin-top: 2rem;
}
.site-btn > a {
  border-radius: var(--btn-border-radius);
  padding: var(--btn-padding);
  font-size: var(--btn-font-size);
  text-transform: uppercase;
  font-weight: var(--btn-font-weight);
  line-height: 1;
  background: var(--accent);
  border: none;
  color: white;
  transition: 0.2s background;
}
.home .site-btn a::after {
  display: none;
}
.site-btn > a:hover {
  background: var(--accent-hover);
}
.site-btn.secondary > a {
  background: var(--secondary);
}
.site-btn.secondary > a:hover {
  background: var(--secondary-hover);
}

.site-btn.outline > a {
  background: none;
  border: 2px solid var(--accent);
  color: var(--accent);
}
.site-btn.outline-reverse > a {
  background: none;
  border: 2px solid white;
  color: white;
}

/* image util */

.img-cover {
  overflow: hidden;
}
.img-cover img {
  display: block;
  vertical-align: top;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

/*  ==========================================================================
    shiner.css home globals
    ==========================================================================  */

/* shiner headings */

.se-heading {
  font-weight: var(--se-heading-weight);
  margin-bottom: 1rem;
}
.home h2 {
  font-weight: var(--se-heading-weight) !important;
}
.se-heading-label {
  font-weight: var(--se-caps-weight);
  margin-bottom: 0.5rem;
  font-size: var(--lg-font-size);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: .95em;
}
.se-heading-accent {
  font-weight: 700;
  color: var(--med-cyan);
  text-transform: uppercase;
  font-family: 'Barlow Condensed', var(--font-main-stack);
  line-height: 1em;
  font-size: var(--accent-heading-size);
  margin: 0;
}
.se-heading-accent strong {
  font-weight: 800;
}

/* shiner icons */

.se-icon {
  font-size: 2.5rem;
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}

/*  ==========================================================================
    shiner.css home sections
    ==========================================================================  */

/*  .se-why-us
    --------------------------------------------------------------------------  */

.se-why-us {
  background: linear-gradient(to bottom, var(--primary-bright), var(--primary));
  color: var(--text-reverse);
  padding: var(--standard-padding) 0;
  position: relative;
}
.se-why-us::after {
  z-index: 1;
  content: '';
  position: absolute;
  bottom: 3rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('img/shiner-why-us-bg.svg');
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat;
}
.se-why-us .site-container {
  position: relative;
  z-index: 2;
}
.se-why-us .se-heading {
  color: white;
}
.se-why-us .se-subheading {
  font-weight: bold;
  color: white;
}
.se-why-us .se-icon {
color: var(--cyan);
    background: #1f1f1f;
    border-radius: 5px;
    border: 1px solid #1f1f1f;
}
.se-why-us .se-heading-label {
  color: var(--cyan);
}

.se-why-us .site-grid {
  grid-template-columns: repeat(3, 3fr);
  gap: var(--grid-gap);
}

.se-why-us .grid-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.se-why-us .text {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.se-why-us .i {

}
.se-why-us h3 {
  font-size: var(--base-h5-size);
}
.se-why-us p {
  text-wrap: balance;
}
.se-why-us .site-btn {
  margin-top: auto;
}

/*  .se-id
    --------------------------------------------------------------------------  */

.se-id {
  padding: 0;
  background: linear-gradient(to bottom, var(--primary) 0%, var(--primary) var(--standard-padding), white var(--standard-padding));
}
.se-id .site-container {
  background: var(--ultralight);
  padding: 4rem;
}
.se-id .site-grid {
  grid-template-columns: repeat(2, 2fr);
  gap: var(--grid-gap);
}
.se-id .se-heading-label {
  color: var(--med-cyan);
	display: block;
}
.se-id .se-heading {
  color: var(--primary);
	display: block;
}
.se-id .text-content {
  columns: 2;
  column-gap: 3rem;
}
.se-id .text p {
  text-wrap: pretty;
  line-height: 1.75;
  font-size: calc( var(--font-size) - 1px );
}
.se-id .images {
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  gap: 1rem;
}
.se-id .images .col-1,
.se-id .images .col-2 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}
.se-id .images .col-1 .img-cover {
  width: 100%;
  height: auto;
  background: gray;
	background: transparent;
  aspect-ratio: 2/3;
	position: relative;
	border: solid 8px var(--light);
}
/* .se-id .images .col-1 .img-cover img {
	object-fit: contain;
} */
.se-id .images .col-2 .square {
  background: gray;
  width: 100%;
  aspect-ratio: 1;
}
.se-id .images .col-2 .rect {
  background: gray;
  width: 100%;
  aspect-ratio: 3/2;
}

/*  .se-services
    --------------------------------------------------------------------------  */

.se-services {
  padding: var(--standard-padding) 0;
  background: linear-gradient(to bottom, white, var(--ultralight));
}
.se-services .intro {
  margin-bottom: calc( var(--standard-padding) / 2 );
  width: calc( 100% - var(--service-tabs-width) );
}
.se-services .intro {
  display: flex;
  gap: 0;
}
.se-services .intro .text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.se-services .intro .text:first-child {
  width: 50%;
  flex-shrink: 0;
}
.se-services .intro h2 {
  margin: 0;
}
.se-services .intro p {
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
}
.se-services .intro p strong {
  font-weight: 600;
}

.se-service-tabs {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: center;
  transition: 0.2s height;
}

.se-service-tabs .services {
  position: relative;
  background: linear-gradient(to right, transparent, transparent 50%, var(--primary) 50%);
}

/* Default all slides to absolute for stacking */
.se-service-tabs .service {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  transition-delay: 0.1s;
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  width: 100%;
  height: 100%;
	min-height: 36rem;
	pointer-events: none;
	z-index: 0;
}

/* Active slide is just shown via opacity */
.se-service-tabs .service.active {
  opacity: 1;
  z-index: 1;
	pointer-events: all;
}

/* One specific slide (the height anchor) stays in flow */
#service-windows {
  position: relative;
  z-index: 0; 
}
.se-service-tabs .service .img {
  padding: 3rem 0;
  height: 100%;
}
.se-service-tabs .service .img-cover {
  width: 100%;
  height: 100%;
  position: relative;
}
.se-service-tabs .service .img-cover img {
  position: absolute;
  left: -3rem;
  transition: 0.5s left;
}
.se-service-tabs .service.active .img-cover img {
  left: 0;
}
.se-service-tabs .service .text {
  padding: 6rem 3rem;
  color: var(--text-reverse);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
}
.se-service-tabs .service .text h3 {
  color: var(--cyan);
  font-size: var(--base-h1-size);
  position: relative;
}
.se-service-tabs .service .text h3::before {
  width: 12rem;
  height: 0.25rem;
  background: var(--cyan);
  display: block;
  position: absolute;
  left: -13rem;
  top: calc( 50% - 0.125rem );
  line-height: var(--base-h1-size);
  vertical-align: middle;
  content: '';
}
.se-service-tabs .service .text p {
  text-wrap: balance;
}
.se-service-tabs .service .text .se-subheading {
  font-weight: bold;
  color: white;
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
}
.se-service-tabs .service .text ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.se-service-tabs .service .text ul li a {
  color: white;
  text-decoration: none;
  transition: 0.2s color;
}
.se-service-tabs .service .text ul li a:hover {
  color: var(--cyan);
}
.se-service-tabs .service .text ul li a::after {
  line-height: 100%;
  vertical-align: middle;
  font-family: 'Font Awesome 7 Pro';
  content: '\f105';
  transition: 0.2s opacity, 0.2s margin;
  margin-left: 0.25rem;
  display: inline-block;
  opacity: 0;
}
.se-service-tabs .service .text ul li a:hover::after  {
  margin-left: 0.5rem;
  opacity: 1;
}

.se-service-tabs .tabs {
  width: auto;
  flex-shrink: 0;
}
.se-service-tabs .tabs ul {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #cde0e6;
  border-bottom: 1px solid #cde0e6;
}
.se-service-tabs .tabs ul li {
  display: flex;
  flex-direction: row;
  gap: 1px;
  border-top: 1px solid #cde0e6;
  cursor: pointer;
}
.se-service-tabs .tabs ul li:first-child {
  border-top: none;
}
.se-service-tabs .tabs ul li .label {
  width: calc( var(--service-tabs-width) - var(--service-tabs-icon-width) );
  height: 4rem;
  padding: 0 1rem 0 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: var(--font-accent);
  color: #9c9c9c;
  font-size: calc( var(--base-h5-size) );
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1em;
  transition: 0.5s color, 0.5s border-left-color;
  border-left: 0.5rem solid transparent;
  border-right: 1px solid #cee0e6;
}
.se-service-tabs .tabs ul li:not(.active):hover .label {
  color: var(--accent);
}
.se-service-tabs .tabs ul li.active .label {
  border-left-color: var(--accent);
  color: var(--primary);
}
.se-service-tabs .tabs ul li .icon {
  width: var(--service-tabs-icon-width);
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.75rem;
}
.se-service-tabs .fa-sharp-duotone.fa-light::after,
.se-service-tabs .fasdl::after {
  opacity: 1;
  color: var(--accent);
}

/*  .se-process
    --------------------------------------------------------------------------  */

.se-process {
  padding: var(--standard-padding) 0;
  position: relative;
}
.se-process::after {
  z-index: 1;
  content: '';
  position: absolute;
  bottom: 3rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('img/shiner-bg-light.svg');
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat;
}
.se-process .site-grid {
  grid-template-columns: repeat(2, 2fr);
  gap: var(--grid-gap);
  position: relative;
  z-index: 2;
}
.se-process .intro,
.se-process .headings {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.se-process .intro p {
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
  text-wrap: balance;
}
.se-process .img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 6rem 2rem 0; /* cap the image width + height correction for shadow height */
}
.se-process .img .img-cover {
  width: calc(100% - 2rem);
  height: auto;
  aspect-ratio: 1;
  background: gray;
  position: relative;
  box-shadow: 2rem 2rem 0 var(--primary);
}
.se-process .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.se-process .steps {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 3rem;
}
.se-process .step {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  align-items: flex-start;
  max-width: 100%;
}
.se-process .step .step-number {
  width: 4rem;
  height: 4rem;
  line-height: 1rem;
  vertical-align: top;
  border: 0.25rem solid var(--light);
  flex-shrink: 0;
  font-size: var(--accent-heading-size);
  font-weight: 800;
  color: var(--primary);
  text-align: center;
  display: block;
}
.se-process .step h3 {
  color: var(--med-cyan);
  font-weight: bold;
  font-size: var(--base-h5-size);
  margin-bottom: 0.5rem;
}
.se-process .step p {
  font-weight: 400;
  color: var(--text-lighter);
  text-wrap: balance;
}

/*  .se-gallery
    --------------------------------------------------------------------------  */

.se-gallery {
  overflow: visible;
}
.se-gallery .site-grid {
  grid-template-columns: repeat(2, 2fr);
  gap: var(--grid-gap);
}
.se-gallery .text {
  padding: var(--standard-padding) 0 var(--standard-padding) var(--container-margin);
}
.se-gallery .img {
  position: relative;
  display: flex;
  align-items: center;
}
.se-gallery .img img {
  position: absolute;
  height: 45rem;
  top: -22.5rem;
  width: auto;
  right: var(--container-margin);
  top: auto;
  bottom: auto;
  object-fit: contain;
}
.se-gallery p {
  color: var(--text-lighter);
}
.se-gallery p.se-subheading {
  font-weight: 500;
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
}
.se-gallery .gallery-buttons {
  margin-top: 2rem;
  display: grid;
  gap: 1.5rem;
  width: auto;
  max-width: 75%;
  grid-template-columns: repeat(2, 2fr);
}
.se-gallery .gallery-buttons a {
  font-family: var(--font-accent);
  font-size: var(--base-h5-size);
  font-weight: 600;
  text-decoration: none;
  color: var(--primary);
  text-transform: uppercase;
  display: inline-flex;
  flex-direction: row;
  padding: 0;
  gap: 0.75rem;
  align-items: center;
  justify-content: flex-start;
  width: auto;
}
.se-gallery .gallery-buttons a:hover {
  color: var(--accent);
}
.se-gallery .gallery-buttons a .icon {
  font-size: 1.75rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: var(--primary);
  width: 3rem;
}
.se-gallery .fa-sharp-duotone.fa-light::after, .se-gallery .fasdl::after {
  color: var(--accent);
  opacity: 1;
}

/*  .se-reviews
    --------------------------------------------------------------------------  */

.se-reviews {
  padding: var(--standard-padding) 0;
  background: linear-gradient(to bottom, white, var(--light));
}
.se-reviews .site-grid {
  margin-top: 3rem;
  grid-template-columns: repeat(2, 2fr);
  gap: 3rem;
}
.se-reviews img.sun {
  width: 5rem;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.75rem;
  display: block;
  max-width: 50%;
}
.se-reviews .se-heading-label {
  color: var(--med-cyan);
  margin-bottom: 1rem;
  text-align: center;
  display: block;
}
.se-reviews .se-heading {
  color: var(--primary);
  text-align: center;
  font-size: var(--base-h1-size);
}
.se-reviews p.intro {
  text-wrap: balance;
  text-align: center;
  color: var(--text);
  font-weight: 500;
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
}
.se-reviews p.intro-2 {
  text-align: center;
  text-wrap: balance;
  padding: 0 15vw;
  color: var(--text-lighter);
}
.se-reviews .text {
  padding-right: 6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.se-reviews .img {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.se-reviews .img .img-cover {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  background: gray;
}
.se-reviews .review-stars {
  color: var(--accent);
  font-size: var(--base-h5-size);
  display: block;
  margin-bottom: 0.5rem;
  letter-spacing: -0.1rem;
}
.se-reviews .review-title h3 {
  font-family: var(--font-accent);
  font-size: var(--base-h3-size);
  color: var(--primary);
  text-transform: capitalize;
  font-weight: 600;
}
.se-reviews .review-title h3 span {
  color: var(--accent);
  font-weight: 800;
  font-family: 'Font Awesome 7 Sharp';
  font-size: var(--base-h6-size);
  position: relative;
  top: 0.075rem;
  vertical-align: top;
  background: none;
  padding-right: 0.25rem;
}
.se-reviews .review-title h3 span:last-child {
  padding-right: 0;
  padding-left: 0.25rem;
}
.se-reviews .review-text p {
  font-weight: 400;
  color: var(--text-lighter);
  text-wrap: balance;
}
.se-reviews .review-user {
  font-size: var(--lg-font-size);
  font-weight: bold;
  color: var(--primary);
  line-height: var(--lg-line-height);
}

/* flickity buttons */
.flickity-button {
  position: relative;
  background: var(--accent);
  border-radius: var(--border-radius);
  margin-top: 2rem;
  transition: 0.2s background, 0.2s color;
}
.flickity-prev-next-button {
  top: 0;
  width: 3rem;
  height: 3rem;
  transform: none;
}
.flickity-prev-next-button.previous {
  left: 0;
  margin-right: 1rem;
}
.flickity-button:hover {
  background: var(--accent-hover);
}

/* replace flickity's default chevrons with FontAwesome */
.flickity-button svg {
  display: none !important;
}
.flickity-button::after {
  content: '\f105';
  font-family: 'Font Awesome 7 Pro';
  color: #fff;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 1.25rem;
}
.flickity-button.previous::after {
  content: '\f104';
}

/*  .se-map
    --------------------------------------------------------------------------  */

.home .home-map {
  position: relative;
  background: var(--primary);
  padding: 0;
}
.home .home-map .site-grid {
  gap: 0;
  padding: 0;
}
.home .home-map .map {
  border-radius: 0;
  order: 1;
}
.home .home-map .map iframe {
  height: 100%;
  top: 0;
  border-radius: 0 !important;
}
.home .home-map .text {
  background: none;
  border-radius: 0;
  position: relative;
  order: 2;
  padding: var(--standard-padding) var(--container-margin) var(--standard-padding) var(--grid-gap);
}
.home .home-map .text h6 {
  font-weight: var(--se-caps-weight);
  margin-bottom: 0.5rem;
  font-size: var(--lg-font-size);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: .95em;
  color: var(--lighter-cyan);
}
.home .home-map .text h2 {
    font-weight: var(--se-heading-weight);
    margin-bottom: 1rem;
    color: white !important;
}
.home .home-map .text p {
  color: var(--text-reverse);
  text-wrap: balance;
}
.home .home-map .text p.se-subheading {
  color: white;
  font-size: var(--lg-font-size);
  font-weight: 500;
  line-height: var(--lg-line-height);
}
.home-map ul.angles li::before {
  display: none;
}
.home-map ul.angles li a {
  color: white;
}

/*  .se-recent-posts
    --------------------------------------------------------------------------  */

.se-recent-posts {
  padding: var(--standard-padding) 0;
  position: relative;
}
.se-recent-posts::after {
  z-index: 1;
  content: '';
  position: absolute;
  bottom: 3rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('img/shiner-bg-light.svg');
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat;
}
.se-recent-posts .site-container {
  position: relative;
  z-index: 2;
}
.se-recent-posts .site-grid {
  grid-template-columns: repeat(2, 2fr);
  gap: var(--grid-gap);
  margin-bottom: 6rem;
}
.se-recent-posts .intro,
.se-recent-posts .headings {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.se-recent-posts .intro p {
  font-size: var(--lg-font-size);
  line-height: var(--lg-line-height);
  text-wrap: balance;
}

/*  footer
    --------------------------------------------------------------------------  */

footer {
  margin: 0;
  border: none;
  padding: var(--standard-padding) 0;
  color: var(--text-reverse);
}
footer .site-grid {
  padding: 0;
}
footer .site-grid p {
  text-wrap: balance
}
footer .site-grid h5 {
  font-weight: 600;
  font-family: var(--font-accent);
  text-transform: uppercase;
  color: var(--ultralight);
  font-size: var(--base-h3-size);
}
footer .site-grid a {
  color: white;
}
footer .site-grid a:hover {
  color: var(--cyan);
}
footer .site-grid i {
  color: var(--accent);
}
footer .site-grid i:hover {
  color: var(--accent-hover);
}
footer .legal {
  margin-top: 3rem;
  padding: 0;
  font-size: calc( var(--font-size) - 2px );
  color: var(--text-reverse);
  opacity: 0.66;
}

/*  ==========================================================================
    shiner.css media queries
    ==========================================================================  */

@media(max-width: 1200px) {
  .admin-bar .home-hero.img-with-form {
    max-height: none;
  }
  .home-hero.img-with-form {
    max-height: none;
  }
  .home-hero.img-with-form .hero-contents {
    position: absolute;
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    background: linear-gradient(to bottom, transparent 50%, var(--primary));
  }
  .home-hero.img-with-form .hero-form {
    position: relative;
    width: 100%;
    background: var(--primary);
    padding: 0 var(--container-margin);
  }
  .home-hero.img-with-form .hero-form .form {
    background: none;
    padding: 3rem 0;
  }
  .site-header-top-row ul.contact-info li.address {
    display: none;
  }
  .se-why-us .site-grid {
    grid-template-columns: repeat(2, 2fr);
  }
  .se-id .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .se-services .intro {
    width: 100%;
  }
  .se-service-tabs .tabs {
    display: none;
  }
  .se-service-tabs .services {
    display: flex;
    flex-direction: column;
    gap: var(--grid-gap);
    background: none;
  }
  .se-service-tabs .service {
    grid-template-columns: repeat(1, 1fr);
    position: relative;
    opacity: 1;
		min-height: auto;
  }
  .se-service-tabs .service .text {
    background: var(--primary);
  }
  .se-service-tabs .service .img {
    width: 100%;
    padding: 0;
    height: auto;
    aspect-ratio: 3/2;
  }
  .se-service-tabs .service .img-cover img {
    left: 0;
  }
  .se-service-tabs .service .text h3::before {
    height: 12rem;
    width: .25rem;
    left: 0;
    top: -13rem;
  }
  .se-process .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .se-process .img {
    order: 4;
    padding: 0 6rem 2rem 6rem;
  }
  .se-process .text {
    order: 3;
  }
  .se-gallery .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .se-gallery .img img {
    width: 90%;
    height: auto;
    position: relative;
    right: 0;
    margin: 0 auto;
  }
  .se-reviews .site-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: var(--grid-gap);
  }
  .home .home-map .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .home .home-map .map {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    max-width: none;
    max-height: none;
  }
}
@media(max-width: 62rem) {

  #header-menu-mobile a i {
    color: var(--cyan);
  }
  .site-nav-menu ul li a:hover, .site-nav-menu ul li a:active, .site-nav-menu ul li.active a:hover {
    background: var(--primary-hover);
  }
  .site-header-top-row.full-width-menu ul.contact-info {
    width: 100%;
    justify-content: center;
  }
  .main-menu-cta>.site-btn .icon {
    display: none;
  }
  .site-header-top-row ul.contact-info {
    margin: 0;
  }
  .site-header-top-row ul.contact-info li.address {
    display: block;
  }
}
@media(max-width: 768px) {
  :root {
    --accent-heading-size: calc( var(--base-h1-size) + 0.5rem );
  }
  .main-menu-cta>.site-btn .icon {
    display: none;
  }
  .se-why-us .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .se-id .text-content {
    columns: 1;
  }
  .se-services .intro {
    flex-direction: column;
    gap: 1.5rem;
  }
  .se-services .intro .text:first-child {
    width: 100%;
  }
  .se-gallery .gallery-buttons {
    grid-template-columns: repeat(1, 1fr);
  }
  .se-recent-posts .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  footer .site-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media(max-width: 576px) {

}

.home #l10-post-widget .posts ul li a.title h3 {
    font-size: 1.3rem;
}

.wolf-image-caption {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 26px;
    z-index: 2;
    color: #fff;
    padding: 22px;
    border-left: 4px solid var(--accent);
    background: rgba(0, 0, 0, .36);
    backdrop-filter: blur(10px);
}

.wolf-image-caption strong {
    display: block;
    font-size: 1.3rem;
}

.wolf-image-caption span {
    display: block;
    opacity: .82;
}


:root {
  --home-padding: 8rem;
  --home-icon-size-lg: 5rem;
  --home-icon-size-sm: 3rem;
	--text-color-on-secondary: var(--ultralight);
	    --home-design-margin: 1rem;
}

.home-intro {
    text-wrap: balance
}

.home-intro h3 {
    color: var(--primary);
    font-weight: 400!important;
    margin-bottom: 2rem;
    font-size: var(--base-h1-size);
    max-width: 75%
}

.home-intro h3 strong {
    font-weight: 800!important
}

.home-intro p {
    max-width: 90%;
    /* font-size: 1.125rem; */
    line-height: 1.75;
		text-align: left;
		/* margin-bottom: 2rem; */
}

.home-intro h3::after {
    display: block;
    width: 3rem;
    height: .3rem;
    background: var(--secondary);
    content: '';
    margin-top: .5rem
}

.home-intro.on-secondary h3 {
    color: var(--accent);
    line-height: 1.5;
    text-align: left;
}

.home-intro.on-secondary h3::after {
    background: #fff
}

.home-intro.on-primary h3 {
    color: #fff
}

.home-intro.on-primary h3::after {
    background: var(--secondary)
}

.home-icon {
    width: var(--home-icon-size-lg);
    height: auto;
    font-size: calc( var(--home-icon-size-lg) * .5 );
    aspect-ratio: 1;
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--secondary);
    color: var(--accent)
}

.home-icon.centered {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2rem
}

.home-icon.small {
    width: var(--home-icon-size-sm);
    font-size: calc( var(--home-icon-size-sm) * .5 );
    border-radius: var(--btn-border-radius)
}

.home-icon.small.centered {
    margin-bottom: 1rem
}

.home-icon i {
    font-weight: 400
}

.home-icon-boxes .grid-item h3 {
    font-size: var(--base-h4-size);
    margin-bottom: 1rem
}

.home-icons {
    padding: var(--home-padding)0;
    background: var(--secondary)
}

.home-icons .site-grid {
    gap: var(--home-design-margin);
    /* grid-template-columns: repeat(3,3fr) */
}

.home-icons .grid-item {
    background: #fff;
    border-radius: var(--border-radius);
    padding: 2rem;
    display: flex;
    flex-direction: column
}

.home-icons .home-intro {
    color: var(--text-color-on-secondary)
}

.home-icons .home-intro h2 {
    font-size: var(--base-h3-size)
}

.home-icons .home-icon {
    margin-bottom: 2rem;
}

.home-icons .text {
    display: flex;
    flex: 1;
    flex-direction: column
}

.home-icons .grid-item h3 {
    margin-bottom: .5rem;
    font-weight: 800;
    font-size: var(--base-h5-size);
		text-align: left;
}

.home-icons .grid-item p {
    margin-bottom: 1rem;
    text-wrap: balance;
		text-align: left;
}

.home-icons .site-btn {
    margin-top: auto;
		text-align: left;
}

.home-icons .grid-item:hover .icon {
    transform: translateY(-10px);
    transition: .5s ease all
}

.home-icons .grid-item .icon {
    transition: .5s ease all
}

.extra-section-3 {
	    background: var(--secondary);
}

#bbblink img {
    filter: invert(1);
}

@media (min-width: 62rem) {
	#input_1_23 {
		max-height: 6rem;
		overflow-y: scroll
	}
}

#field_1_23 legend {
	color: var(--ultralight)
}

.gform_wrapper.gravity-theme .gform_footer input[type=submit] {
	display: block;
	width: 100% !important;
}

.gform_wrapper.gravity-theme .gfield-choice-input+label {
	color: var(--dark)
}

#sidebar .site-form .gform_wrapper.gravity-theme .gfield-choice-input+label {
	display: inline-block;
}

.gform_required_legend {
	display: none;
}

.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
	background-color: var(--accent);
}