/*   
Theme Name: The High Cost of Low Bids
Author: Sandlapper Creative
Author URI: https://www.sandlappercreative.com
Version: 2.0
*/

*,*::before,*::after{box-sizing:border-box;}html{overflow-y:scroll;font-size:100%;}body{margin:0;padding:0;line-height:1.5;}abbr,address,article,aside,audio,b,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,ol,p,pre,q,samp,section,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}article,aside,figure,footer,header,main,nav,section{display:block;}ul{list-style:none;}ol{margin-left:1.5em;}blockquote,q{quotes:none;}blockquote::before,blockquote::after,q::before,q::after{content:none;}a{font-size:100%;background:transparent;margin:0;padding:0;vertical-align:baseline;}a:hover,a:active{outline:0;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}img,video,svg{max-width:100%;height:auto;display:block;}td,td img{vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}th{vertical-align:bottom;font-weight:700;}td{font-weight:400;}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}pre{white-space:pre-wrap;word-wrap:break-word;}code,kbd,pre,samp{font-family:monospace,sans-serif;}small{font-size:85%;}strong{font-weight:700;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}input,button,select,textarea{margin:0;font:inherit;-webkit-appearance:none;appearance:none;}input,select{vertical-align:middle;}button,input[type="button"],input[type="submit"]{cursor:pointer;width:auto;overflow:visible;}label{cursor:pointer;}textarea{overflow:auto;vertical-align:top;}.alignleft,img.alignleft{float:left;margin:15px 15px 15px 0;}.alignright,img.alignright{float:right;margin:15px 0 15px 15px;}.aligncenter,img.aligncenter{display:block;margin:15px auto;}

:root {

	/* Core palette */
	--plum:      #8B006B;
	--fire:      #F66218;
	--tangerine: #FF9B6D;
	--sand:      #F8F1E6;
	--teal:      #00BCBB;
	--raisin:    #4C0134;

	/* Functional palette */
	--white:     #FFFFFF;
	--base:      #2A3836;
	--gray:		 #6B7280;

	/* Typography */
	--font-body:    'League Spartan', sans-serif;
	--font-headline: 'Larken', serif;

}

body{}
body, select, input, textarea{ font-family: var(--font-body); color: var(--base);}
input[type="checkbox"], input[type="radio"]{ -webkit-appearance: auto; appearance: auto; margin-right: 5px;}
.page-wrap{}

a{ color: var(--plum);}
a:hover, a:focus{ color: var(--fire);}
.button, button{ display: inline-block; cursor: pointer; background-color: var(--plum); color: #fff; text-decoration: none; font-size: 16px; line-height: 16px; font-weight: 500; padding: 15px 25px; border-radius: 8px; margin-top: 25px; box-shadow: 0 2px 8px rgba(0,0,0,.08);}
.button:hover, .button:focus, button:hover, button:focus{ background-color: var(--fire); color: #fff; transform: translateY(-2px);}
.screen-reader{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}
:focus{ outline: 2px solid #03f; outline-offset: 2px;}
:focus:not(:focus-visible){ outline: none;}
:focus-visible{ outline: 2px solid #03f; outline-offset: 2px;}
a, img, .button, button{ transition: all .3s ease 0s;}

.fade-up{ opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease;}
.fade-up.in-view{ opacity: 1; transform: translateY(0);}
.slide-left{ opacity: 0; transform: translateX(-32px); transition: opacity .7s ease, transform .7s ease;}
.slide-left.in-view{ opacity: 1; transform: translateX(0);}
.scale-in{ opacity: 0; transform: scale(0.95); transition: opacity .6s ease, transform .6s ease;}
.scale-in.in-view{ opacity: 1; transform: scale(1);}

.slide-right{ opacity: 0; transform: translateX(32px); transition: opacity .7s ease, transform .7s ease;}
.slide-right.in-view{ opacity: 1; transform: translateX(0);}

.single-resource{ will-change: transform;}
.single-resource .resource-visual{ transition: box-shadow .3s ease;}
.single-resource.in-view{ transition: transform .3s ease;}
.single-resource.in-view:hover{ transform: translateY(-5px);}
.single-resource.in-view:hover .resource-visual{ box-shadow: 0 10px 30px rgba(0,0,0,.12);}

h1, h2, h3, h4, h5, h6{ font-family: var(--font-headline); line-height: 1.2; font-weight: 400;}
h1{ font-size: 48px; line-height: 48px;}
p{ margin-top: 1em;}
p:first-child{ margin-top: 0;}

.wrapper, .container{ width: 90%; max-width: 1400px; margin: 0 auto;}
.container{ display: flex;}
.wrapper:after{ content: ""; display: table; clear: both;}

.header{ padding: 25px 0; position: relative; z-index: 100; transition: background-color .3s ease, padding .3s ease;}
.header .container{ align-items: center; justify-content: space-between;}
.header .logo{ max-width: 175px;}
.header .logo-white{ display: none;}
.header.scroll{ position: fixed; top: 0; left: 0; right: 0; background-color: var(--raisin); padding: 15px 0;}
.header.scroll .logo-default{ display: none;}
.header.scroll .logo-white{ display: block;}
.header.scroll nav ul a{ color: var(--white);}
.header.scroll nav ul li:hover > a{ color: var(--fire);}
.header.scroll .nav-toggle, .header.scroll .nav-toggle:hover, .header.scroll .nav-toggle:focus, .header.scroll .nav-toggle:active{ color: var(--white);}

.nav{ font-size: 16px; line-height: 130%;}
nav ul{ list-style: none; position: relative; float: left; margin: 0; padding: 0; display: flex; align-items: center;}
nav ul a{ display: block; text-decoration: none; color: #111928;}
nav ul li{ position: relative; float: left; margin: 0 0 0 30px; padding: 0;}
nav ul li.current-menu-item > a, nav ul li:hover > a{}
nav ul ul{ display: none; position: absolute; top: 100%; left: 0; padding: 0;}
nav ul ul li{ float: none; width: 200px;}
nav ul ul ul{ top: 0; left: 100%;}
nav ul li:hover > ul{ display: block; color: var(--fire);}
nav ul li.button{ margin-top: 0; padding: 0; display: flex; align-items: center; justify-content: center;}
nav ul li.button:hover{ transform: none;}
nav ul li.button > a{ background-color: var(--plum); color: var(--white) !important; padding: 10px 20px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.08); font-size: 16px; font-weight: 500; text-align: center;}
nav ul li.button > a:hover, nav ul li.button > a:focus{ background-color: var(--fire); color: var(--white) !important; transform: none;}

.nav-toggle{ display: none; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; background: none; border: none; padding: 0; margin-top: 0; box-shadow: none; cursor: pointer; color: var(--raisin);}
.nav-toggle:hover, .nav-toggle:focus, .nav-toggle:active{ background: none; box-shadow: none; transform: none; color: var(--raisin);}
.nav-toggle span{ display: block; width: 100%; height: 2px; background: currentColor; transition: transform .3s ease, opacity .3s ease;}
.nav-toggle.is-open span:nth-child(1){ transform: translateY(9px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){ opacity: 0;}
.nav-toggle.is-open span:nth-child(3){ transform: translateY(-9px) rotate(-45deg);}

.mobile-overlay{ display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 998; opacity: 0; transition: opacity .3s ease; pointer-events: none;}
.mobile-overlay.is-visible{ opacity: 1; pointer-events: auto;}
.mobile-nav{ position: fixed; top: 0; right: -320px; width: 300px; max-width: 85vw; height: 100%; background: #fff; z-index: 999; padding: 20px; overflow-y: auto; transition: right .3s ease; box-shadow: -2px 0 10px rgba(0,0,0,.15);}
.mobile-nav.is-open{ right: 0;}
.mobile-nav-header{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;}
.mobile-nav-header .logo{ max-width: 140px; height: auto;}
.mobile-nav nav ul{ float: none; display: block;}
.mobile-nav nav ul li{ float: none; margin-left: 0; display: block;}
.mobile-nav nav ul ul{ position: static; display: block; width: auto;}
.mobile-nav nav ul a{ padding: 10px 0; border-bottom: 1px solid #eee;}
.mobile-nav .search-form{ display: none;}
.nav-close{ background: none; border: none; font-size: 2rem; line-height: 1; padding: 0; margin-top: 0; box-shadow: none; cursor: pointer; color: var(--raisin);}
.nav-close:hover, .nav-close:focus, .nav-close:active{ background: none; box-shadow: none; transform: none; color: var(--raisin);}
body.nav-open{ overflow: hidden;}

.content{}
.content p:first-child{ margin-top: 0;}
.content ul{ list-style: disc; margin: 15px 0 0 30px;}
.content ol{ margin: 15px 0 0 30px;}
.content img{ max-width: 100%; height: auto;}

.navigation{ padding: 0; text-align: center;}
.navigation ul{ list-style: none; margin: 0; padding: 0;}
.navigation li{ display: inline-block;}
.navigation li a, .navigation li span{ display: inline-block; padding: 6px 12px; text-decoration: none; color: #fff; background-color: #666; cursor: pointer;}
.navigation li a:hover, .navigation li span.current{ background-color: #333;}
.navigation li span.dots{ background: none; color: #666;}

.load-more-wrap{ text-align: center; margin-top: 30px;}
.load-more-btn{ padding: 12px 30px; cursor: pointer;}
.load-more-btn:disabled{ opacity: 0.6; cursor: default;}

.search-results .wrapper, .error404 .wrapper{ padding: 60px 0;}
.search-results .page-title, .error404 .page-title{ margin-bottom: 30px;}
.search-results article{ margin-top: 30px; padding-top: 30px; border-top: 1px solid #eee;}
.search-results article:first-child{ border-top: 0; padding-top: 0; margin-top: 0;}
.search-results .entry{ margin-top: 10px;}
.search-form{ display: flex; gap: 8px; margin-top: 20px;}
.search-input{ flex: 1; padding: 10px 14px; border: 1px solid #ccc; border-radius: 3px; font-size: 1rem;}
.search-submit{ padding: 10px 20px; cursor: pointer;}

.footer{ background-color: var(--sand); padding-bottom: 60px;}
.footer > .container{ align-items: flex-start; justify-content: space-between; padding: 60px 0;}
.footer .footer-left{ display: flex; gap: 80px; flex-shrink: 0;}
.footer .footer-right{ flex: 0 0 443px;}
.footer .footer-right .gform_body input{ background: none; border: none; border-bottom: 1px solid var(--raisin); padding: 0 0 5px !important; color: var(--raisin); width: 100%; margin: 2px 0 !important;}
.footer .footer-right .gform_body input::placeholder{ opacity: 1; color: var(--raisin);}
.footer .footer-right .gform_button{ border: none; margin-top: 0 !important;}
.footer .footer-left ul{ list-style: none; display: flex; flex-direction: column; gap: 10px;}
.footer .footer-left ul li a{ text-decoration: none; color: var(--raisin); font-size: 14px; line-height: 130%;}
.footer .footer-left ul li a:hover{ color: var(--fire);}
.footer .footer-left ul li:first-child a{ font-family: var(--font-headline); margin-bottom: 8px; display: block; font-size: 16px;}
.sub-footer{ background-color: var(--sand);}
.sub-footer .container{ border-top: 1px solid var(--raisin); justify-content: space-between; align-items: center; padding: 24px 0;}
.sub-footer .logo{ max-width: 140px;}
.sub-footer p{ color: var(--raisin); font-size: 14px;}

.video-wrapper{ position: relative; padding-bottom: 56.25%; height: 0;}
.video-wrapper iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.error404 .content{ padding: 60px 0 100px; text-align: center;}


/* Common Template Parts */

section.resources{ padding: 100px 0;}
section.resources .wrapper{ max-width: 960px;}
section.resources h2{ text-align: center; font-size: 48px; line-height: 48px;}
section.resources h3{ font-family: var(--font-body); font-size: 24px; font-weight: 700;}
section.resources .resource-grid{ display: grid; grid-template-columns: repeat(2,1fr); gap: 50px; margin-top: 50px;}
section.resources .resource-grid .resource-visual{ background-size: cover; background-position: center center; border-radius: 8px; aspect-ratio: 4/3; margin-bottom: 20px;}

section.cta{ background-color: var(--raisin); color: var(--white); padding: 95px 0 80px; font-size: 20px; line-height: 130%; background-image: url(images/cta.png); background-repeat: no-repeat; background-position: center right; background-size: contain;}
section.cta .container{ max-width: 960px; justify-content: space-between; align-items: flex-start;}
section.cta h2{ font-size: 36px; line-height: 48px; color: var(--teal); font-weight: 400; margin-bottom: 15px;}
section.cta .cta-left{ width: 60%;}
section.cta .cta-right{ width: 35%;}
section.cta .gform_body input{ background: none; border: none; border-bottom: 1px solid var(--sand); font-size: 14px; line-height: 14px; color: var(--white); padding: 0 0 5px !important;}
section.cta .gform_body input::placeholder{ opacity: 1; color: var(--white);}
section.cta .gform_button{ border: none; margin: 0 !important;}


/* Homepage */

.home .intro{ margin: 50px 0;}
.home .intro .container{ justify-content: space-between;}
.home .intro h1{ font-size: 60px; line-height: 60px; width: 50%;}
.home .intro .intro-right{ width: 42%; font-size: 20px; line-height: 130%;}
.home .intro .intro-cards{ margin-top: 75px; display: flex; align-items: stretch; gap: 20px; min-height: 350px;}
.home .intro .intro-cards .video{ background-size: cover; background-position: center center; flex: 0 0 55%; border-radius: 8px; position: relative;}
.home .intro .intro-cards .intro-card{ flex: 1; background-color: #FF9B6D80; border-radius: 8px; padding: 50px 40px; display: flex; flex-direction: column; justify-content: center;}
.home .intro .intro-cards .intro-card .card-subheadline{ font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #2A3836; display: block; margin-bottom: 0;}
.home .intro .intro-cards .intro-card .card-subheadline::after{ content: ''; display: block; width: 100%; height: 1px; background: var(--sand); margin-top: 12px; margin-bottom: 16px; transform: scaleX(0); transform-origin: left center; transition: transform 0.7s ease;}
.home .intro .intro-cards .intro-card .card-subheadline.in-view::after{ transform: scaleX(1);}
.home .intro .intro-cards .intro-card h2{ font-family: var(--font-body); font-size: 51px; font-weight: 700; line-height: 1.1; color: #2A3836; margin-bottom: 0;}
.home .intro .intro-cards .intro-card h2 + p{ margin-top: 0;}
.home .intro .intro-cards .video .cover-link{ position: absolute; inset: 0; border-radius: 8px;}
.home .intro .intro-cards .video .cover-link .button{ position: absolute; bottom: 25px; left: 25px; background-color: var(--white); color: var(--plum);}
.home .intro .intro-cards .video:hover .cover-link .button{ background-color: var(--plum); color: var(--white);}

.home .features{ background-color: var(--sand); padding: 100px 0;}
.home .features .container{ justify-content: space-between; align-items: stretch;}
.home .features .features-visual, .home .features .features-content{ width: calc(50% - 32px);}
.home .features .features-visual{ background-size: cover; background-position: center center; border-radius: 8px;}
.home .features .features-content{ color: var(--gray); font-size: 20px; line-height: 130%; padding: 45px 0;}
.home .features .features-content h2{ font-size: 36px; color: #111928;}
.home .features .features-content ul{ list-style: none; margin: 65px 0 0;}
.home .features .features-content ul li{ display: flex; margin-bottom: 30px;}
.home .features .features-content ul li img{ width: 32px; height: 32px; margin-right: 15px;}
.home .features .features-content ul li strong{ color: #111928; display: block; font-size: 24px; line-height: 130%; margin-bottom: 5px;}


/* About */

.page-template-templatesabout-php .header{ background-color: var(--raisin);}
.page-template-templatesabout-php .header .logo-default{ display: none;}
.page-template-templatesabout-php .header .logo-white{ display: block;}
.page-template-templatesabout-php .header nav ul a{ color: var(--white);}
.page-template-templatesabout-php .header nav ul li:hover > a{ color: var(--fire);}

.about .hero{ background-color: var(--raisin); color: var(--white); padding: 100px 0; background-image: url(images/about-hero.png); background-position: top right; background-repeat: no-repeat; background-size: contain;}
.about .hero .hero-content{ width: 70%; font-size: 20px; line-height: 130%;}
.about .hero a{ color: var(--fire); text-decoration: none;}
.about .hero a:hover{ color: #fff;}

.about .callouts{ background-color: var(--sand); padding: 100px 0;}
.about .callouts .callout-content, .about .callouts .callout-visual{ width: 47%;}
.about .callouts .container{ justify-content: space-between;}
.about .callouts .single-callout{ margin-bottom: 65px; font-size: 20px; line-height: 130%;}
.about .callouts .single-callout:nth-last-of-type(1){ margin-bottom: 0;}
.about .callouts .single-callout:nth-of-type(even) .container{ flex-direction: row-reverse;}
.about .callouts .callout-visual{ background-size: cover; background-position: center center; border-radius: 8px;}
.about .callouts .callout-content{ padding: 80px 0;}
.about .callouts h2{ font-size: 36px; line-height: 130%;}
.about .callouts .button{ display: inline-flex; align-items: center;}
.about .callouts .button:hover{ transform: none;}
.about .callouts .button i{ font-size: 12px; margin-left: 5px; transition: margin-left .2s ease;}
.about .callouts .button:hover i{ margin-left: 10px;}

.about .faq{ padding: 100px 0; background-color: #FBFAF8; background-image: url(images/faq.png); background-position: left top; background-repeat: no-repeat; background-size: contain;}
.about .faq .wrapper{ position: relative; z-index: 1;}
.about .faq h2{ font-size: 36px; text-align: center; margin-bottom: 50px;}
.about .faq .wrapper{ max-width: 700px;}
.tabs input{ position: absolute; opacity: 0; z-index: -1;}
.tabs .row{ display: flex;}
.tabs .row .col{ flex: 1;}
.tabs .row .col:last-child{ margin-left: 1em;}
.tabs{ overflow: hidden;}
.tabs .tab{ width: 100%; overflow: hidden; border-bottom: 1px solid #E5E7EB;}
.tabs .tab:nth-last-of-type(1){ border-bottom: none;}
.tabs .tab-label{ display: flex; justify-content: space-between; padding: 1em; cursor: pointer; font-size: 20px; font-weight: 700;}
.tabs .tab-label:hover{}
.tabs .tab-label::after{ content: "\f105"; font-family: "Font Awesome", FontAwesome, "Font Awesome 7 Free"; width: 1em; height: 1em; text-align: center; transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); color: #6B7280; margin-left: 16px; flex-shrink: 0;}
.tabs .tab-label span{ display: flex; align-items: center;}
.tabs .tab-label span i{ color: #6B7280; margin-right: 10px;}
.tabs .tab-content{ font-size: 20px; line-height: 130%; max-height: 0; padding: 0 1em; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.35s ease;}
.tabs .tab-close{ display: flex; justify-content: flex-end; padding: 1em; cursor: pointer;}
.tabs .tab-close:hover{}
.tabs input:checked + .tab-label{}
.tabs input:checked + .tab-label::after{ transform: rotate(90deg); color: #111928;}
.tabs input:checked ~ .tab-content{ max-height: 600px; padding: 1em; transition: max-height 0.2s ease-in, padding 0.2s ease; border-top: 1px solid #E5E7EB;}


/* Contact */

.contact-container{ padding: 100px 0; background-image: url(images/contact.png); background-position: bottom 50px left 50px; background-repeat: no-repeat; background-size: 300px;}
.contact-container .contact-info{ width: 30%; margin-top: 110px; font-size: 20px;}
.contact-container .contact-info h2{ margin-bottom: 20px;}
.contact-container .contact-info h3{ font-family: var(--font-body); margin-top: 15px;}
.contact-container .contact-info a{ font-size: 16px; text-decoration: none;}
.contact-container .contact-form{ width: 65%;}
.contact-container .contact-form h1{ margin-bottom: 60px;}
.contact-container .contact-form .contact-form-intro{ font-size: 20px; line-height: 130%; margin-bottom: 40px;}
.contact-container .gform_body input, .contact .gform_body textarea, .contact .gform_body select{ font-size: 20px !important; background: none; border: none; border-radius: 8px; border: 1px solid var(--plum); background-color: var(--white);}
.contact-container .gform_button{ border: none;}
.contact-container .gform_body input::placeholder, .contact .gform_body textarea::placeholder, .contact .gform_body select{ color: #6B7280; opacity: 1 !important;}
.contact-container .gform_body select{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238B006B' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px;}


/* News */

.blog-layout{ padding: 100px 0;}
.blog-layout .container{ justify-content: space-between;}
.blog-layout .blog-intro{ width: 40%;}
.blog-layout .blog-entries{ width: 55%;}
.blog-layout .blog-entries .entry-top, .blog-layout .blog-entries .entry-bottom{ display: flex; justify-content: space-between;}
.blog-layout .blog-entries .entry-top{ margin-bottom: 20px; align-items: center;}
.blog-layout .blog-entries .entry-bottom{ margin-top: 20px;}
.blog-layout .blog-entries article{ margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid var(--sand); font-size: 20px; line-height: 130%;}
.blog-layout .blog-entries article:nth-last-of-type(1){ border-bottom: none;}
.blog-layout .blog-entries .entry-category{ display: flex; align-items: center; background-color: #F8F1E6; font-size: 16px; line-height: 16px; color: var(--raisin); padding: 10px; border-radius: 8px;}
.blog-layout .blog-entries .entry-category i{ color: var(--plum); margin-right: 5px;}
.blog-layout .blog-entries .entry-date{ font-size: 16px;}
.blog-layout .blog-entries h2{ font-size: 20px; font-weight: 700; font-family: var(--font-body); margin-bottom: 15px;}
.blog-layout .blog-entries h2 a{ text-decoration: none; color: var(--base);}
.blog-layout .blog-entries h2 a:hover{ color: var(--fire);}
.blog-layout .blog-entries .entry-author{ display: flex; align-items: center; font-size: 16px;}
.blog-layout .blog-entries .entry-author img{ border-radius: 100px; margin-right: 8px;}
.blog-layout .blog-entries .entry-bottom .more{ text-decoration: none; display: flex; align-items: center;}
.blog-layout .blog-entries .entry-bottom .more i{ font-size: 12px; margin-left: 5px; transition: margin-left .2s ease;}
.blog-layout .blog-entries .entry-bottom .more:hover i{ margin-left: 10px;}
.blog-layout .term-description{ margin-top: 20px;}
.single article{ padding: 100px 0;}
.single article .wrapper{ max-width: 960px;}
.single article .entry-category{ display: inline-flex; align-items: center; background-color: #F8F1E6; font-size: 16px; line-height: 16px; color: var(--raisin); padding: 10px; border-radius: 8px; margin-bottom: 20px;}
.single article .wrapper{ text-align: center;}
.single article .entry-content{ text-align: left;}
.single article .entry-category i{ color: var(--plum); margin-right: 5px;}
.single article .post-title{ text-align: center; margin: 20px 0;}
.single article .post-meta{ display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 40px;}
.single article .post-meta .entry-author{ display: flex; align-items: center; font-size: 16px;}
.single article .post-meta .entry-author img{ border-radius: 100px; margin-right: 8px;}
.single article .post-meta .entry-date{ font-size: 16px; color: var(--base);}
.single article .entry-content{ font-size: 20px; line-height: 130%;}


/* Default Page */
.basic-container{ padding: 100px 0 250px;}


/* Patient Stories */

.page-template-patient-stories{ background-color: #FBFAF8;}
.stories .stories-intro{ text-align: center; padding: 80px 0 60px; font-size: 24px; line-height: 130%;}
.stories .stories-intro .wrapper{ max-width: 800px;}
.stories .stories-intro h1{ margin-bottom: 20px;}
.patient-stories{ padding-bottom: 100px;}
.patient-stories .wrapper{ max-width: 1100px;}
.story-nav{ display: flex; gap: 16px;}
.story-tab{ flex: 1; background: var(--white); border: 1px solid transparent; border-radius: 12px; padding: 20px 24px; text-align: left; cursor: pointer; opacity: .45; transition: opacity .25s ease, border-color .25s ease, box-shadow .25s ease; font-size: 20px;}
.story-tab strong{ display: block; font-family: var(--font-body); font-size: 20px; font-weight: 700; color: var(--base); margin-bottom: 10px;}
.story-tab span{ font-size: 20px; color: var(--base);}
.story-tab:hover, .story-tab:focus{ opacity: 1; background-color: var(--white); color: inherit; transform: none;}
.story-tab.active{ opacity: 1; border-color: rgba(0,0,0,.05); box-shadow: 0 2px 8px rgba(0,0,0,.05);}
.story-progress{ height: 3px; margin: 16px 0 0; border-radius: 2px; overflow: hidden; margin: 30px 0 5px;}
.story-progress-bar{ display: block; height: 100%; width: 0; background-color: var(--plum); border-radius: 2px;}
.story-panels{ display: grid; margin-top: 0;}
.story-panel{ grid-column: 1; grid-row: 1; display: flex; align-items: stretch; opacity: 0; pointer-events: none; transition: opacity .4s ease;}
.story-panel.active{ opacity: 1; pointer-events: auto;}
.story-visual{ flex: 0 0 57%; position: relative;}
.story-image{ width: 100%; height: 100%; min-height: 460px; background-size: cover; background-position: center; border-top-left-radius: 8px; border-bottom-left-radius: 8px;}
.story-content{ flex: 1; padding: 40px; display: flex; flex-direction: column; justify-content: center; background-color: #fff; border-top-right-radius: 8px; border-bottom-right-radius: 8px;}
.story-type{ display: inline-block; font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--teal); margin-bottom: 15px;}
.story-content h2{ font-size: 28px; line-height: 48px; margin-bottom: 20px;}
.story-description{ font-size: 20px; line-height: 130%; color: var(--base);}
.fancybox__container{ --fancybox-bg: rgba(255,255,255,.92);}
.fancybox__backdrop{ background: rgba(255,255,255,.92) !important;}
.story-image-link{ display: block; height: 100%; text-decoration: none;}
.story-play{ position: absolute; bottom: 25px; left: 25px; display: flex; align-items: center; gap: 10px; color: var(--white); font-weight: 600; font-size: 15px;}
.story-play i{ font-size: 22px;}
.testimonials{ padding: 80px 0; background-color: var(--raisin);}
.testimonials .wrapper{ max-width: 760px; text-align: center;}
.testimonials-track{ display: grid;}
.testimonial{ grid-column: 1; grid-row: 1; opacity: 0; pointer-events: none; transition: opacity .4s ease;}
.testimonial.active{ opacity: 1; pointer-events: auto;}
.testimonial .fa-quote-left{ color: var(--teal); font-size: 32px; margin-bottom: 24px;}
.testimonial blockquote{ font-size: 24px; line-height: 130%; font-style: normal; margin: 0 0 30px; color: var(--white);}
.testimonial blockquote::before{ content: '\201C';}
.testimonial blockquote::after{ content: '\201D';}
.testimonial-author{ display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 16px; color: var(--teal);}
.testimonial-author img{ width: 48px; height: 48px; border-radius: 100px; object-fit: cover; flex-shrink: 0;}
.testimonial-author span{ color: var(--teal);}
.testimonial-author .title::before{ content: '/'; margin-right: 12px;}
.testimonials-nav{ display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 40px;}
.testimonials-prev, .testimonials-next{ background: none; border: none; cursor: pointer; color: var(--white); font-size: 16px; padding: 8px; margin-top: 0; box-shadow: none; opacity: .5; transition: opacity .2s ease;}
.testimonials-prev:hover, .testimonials-next:hover{ background: none; color: var(--white); transform: none; opacity: 1; box-shadow: none;}
.testimonials-prev:focus, .testimonials-next:focus{ background: none; color: var(--white); transform: none; box-shadow: none;}
.testimonials-dots{ display: flex; gap: 8px; align-items: center;}
.testimonials-dot{ width: 8px; height: 8px; border-radius: 100px; background-color: var(--white); border: none; padding: 0; margin-top: 0; cursor: pointer; opacity: .3; transition: opacity .2s ease, width .2s ease; box-shadow: none;}
.testimonials-dot:hover{ background-color: var(--white); transform: none; box-shadow: none; opacity: .6;}
.testimonials-dot:focus{ background-color: var(--white); transform: none; box-shadow: none;}
.testimonials-dot.active{ opacity: 1; width: 24px;}


@media (max-width: 900px) {
	.nav{ display: none;}
	.nav-toggle{ display: flex;}
	.mobile-overlay{ display: block;}
	h1{ font-size: 32px; line-height: 36px;}
	.header .logo{ max-width: 140px;}
	.footer > .container{ flex-direction: column; padding: 40px 0 30px;}
	.footer .footer-left{ flex-direction: column; gap: 30px;}
	.footer .footer-right{ flex: none; width: 100%; margin-top: 40px;}
	.sub-footer .container{ flex-direction: column; gap: 16px; text-align: center;}
	section.resources{ padding: 60px 0;}
	section.resources h2{ font-size: 32px; line-height: 36px;}
	section.resources .resource-grid{ grid-template-columns: 1fr; gap: 30px; margin-top: 30px;}
	section.cta{ padding: 60px 0; background-image: none;}
	section.cta .container{ flex-direction: column;}
	section.cta h2{ font-size: 28px; line-height: 36px;}
	section.cta .cta-left, section.cta .cta-right{ width: 100%;}
	section.cta .cta-right{ margin-top: 30px;}
	.home .intro{ margin: 40px 0;}
	.home .intro .container{ flex-direction: column;}
	.home .intro h1{ font-size: 40px; line-height: 44px; width: 100%;}
	.home .intro .intro-right{ width: 100%; margin-top: 24px;}
	.home .intro .intro-cards{ flex-direction: column; margin-top: 40px; min-height: 0;}
	.home .intro .intro-cards .video{ flex: none; width: 100%; min-height: 260px;}
	.home .intro .intro-cards .intro-card{ padding: 30px 24px;}
	.home .features{ padding: 60px 0;}
	.home .features .container{ flex-direction: column;}
	.home .features .features-visual, .home .features .features-content{ width: 100%;}
	.home .features .features-visual{ min-height: 260px; margin-top: 40px;}
	.home .features .features-content{ padding: 30px 0 0;}
	.home .features .features-content ul{ margin-top: 30px;}
	.home .features .features-content ul li{ margin-bottom: 20px;}
	.about .hero{ padding: 60px 0; background-image: none;}
	.about .hero .hero-content{ width: 100%;}
	.about .callouts{ padding: 60px 0;}
	.about .callouts .container{ flex-direction: column;}
	.about .callouts .callout-content, .about .callouts .callout-visual{ width: 100%;}
	.about .callouts .callout-visual{ aspect-ratio: 4/3;}
	.about .callouts .callout-content{ padding: 30px 0 0;}
	.about .callouts .single-callout:nth-of-type(even) .container{ flex-direction: column;}
	.about .callouts .single-callout{ margin-bottom: 40px;}
	.about .callouts h2{ font-size: 28px;}
	.about .faq{ padding: 60px 0; background-image: none;}
	.contact-container{ padding: 60px 0; background-image: none;}
	.contact-container .container{ flex-direction: column;}
	.contact-container .contact-info{ width: 100%; margin-top: 0; margin-bottom: 40px;}
	.contact-container .contact-form{ width: 100%;}
	.contact-container .contact-form h1{ margin-bottom: 30px;}
	.blog-layout{ padding: 60px 0;}
	.blog-layout .container{ flex-direction: column;}
	.blog-layout .blog-intro, .blog-layout .blog-entries{ width: 100%;}
	.blog-layout .blog-intro{ margin-bottom: 40px;}
	.blog-layout .blog-entries article{ font-size: 18px;}
	.single article{ padding: 60px 0;}
	.single article .post-meta{ flex-direction: column; align-items: flex-start; gap: 12px;}
	.stories .stories-intro{ padding: 50px 0 30px; font-size: 20px;}
	.patient-stories{ padding-bottom: 60px;}
	.story-nav{ flex-direction: column; gap: 10px;}
	.story-tab{ flex: none; width: 100%; font-size: 16px; padding: 16px 18px; margin-top: 0;}
	.story-tab strong{ font-size: 16px; margin-bottom: 6px;}
	.story-tab span{ font-size: 14px;}
	.story-panel{ flex-direction: column;}
	.story-visual{ flex: none; width: 100%;}
	.story-image{ min-height: 240px; border-radius: 8px 8px 0 0;}
	.story-image-link{ height: auto;}
	.story-content{ padding: 30px 24px; border-top-right-radius: 0; border-bottom-left-radius: 8px;}
	.story-content h2{ font-size: 22px; line-height: 130%; margin-bottom: 12px;}
	.story-description{ font-size: 18px;}
	.testimonials{ padding: 60px 0;}
	.testimonial blockquote{ font-size: 20px;}
}


@media print {
	.header, .footer, .nav, .search-form{ display: none;}
	body{ font-size: 12pt; color: #000;}
	a{ color: #000; text-decoration: underline;}
	a[href]::after{ content: " (" attr(href) ")";}
}
