/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Design by Greg
Author URI: https://designbygreg.uk

*/

/*********/
/* FONTS */

h1, h2, h4, h5 {
	font-family:"capitol", sans-serif !important;
	font-weight:700 !important;
	font-style:normal;
	letter-spacing:-0.1em;
	text-wrap:balance;
}

h3, h6 {
	font-family:"novel-sans-pro", sans-serif !important;
	font-weight:700 !important;
	font-style:normal;
	text-wrap:balance;
}

body, p, ul, ol, li, address, blockquote, input, select, textarea, button, label, .ast-button, .ast-custom-button {
	font-family:"novel-sans-pro", sans-serif;
	font-weight:300;
	font-style:normal;
	font-size:20px;
}

b, strong {	font-weight:700; }

i, em { font-style:italic; }

ul, ol, li { font-weight:500; font-size:22px; }
.entry-content ul, .entry-content ol { margin-top:0; }

h1, .entry-content h1 { font-size:70px; }
h2, .entry-content h2 { font-size:60px; letter-spacing:-0.12em }
h3, .entry-content h3 { font-size:24px; }
h4, .entry-content h4 { font-size:40px; letter-spacing:-0.14em; }
h5, .entry-content h5 { font-size:26px; letter-spacing:-0.16em; }

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin-bottom:30px; }

.entry-content .wp-audio-shortcode, .entry-content .wp-embedded-audio, .entry-content .wp-embedded-video, .entry-content .wp-video, .entry-content p { margin-bottom:20px; }

.elementor-widget-heading h2.elementor-heading-title { 
	margin-bottom:10px; 
	font-size:60px; 
	line-height:1 !important; 
}

.tabbed { width:1em; margin-right:0.4em; text-align:center; }

.nowrap { white-space:nowrap; }

.ast-single-post .entry-content a { text-decoration:none; }


/* Remove annoying dotted FOCUS outlines */
a:focus, a:active { outline:none; }
.ast-mobile-popup-drawer.active .menu-toggle-close:focus { border:none; }


/**********/
/* HEADER */

/*
#video-header-bg { z-index:-100; background-size:cover; }
#video-header-bg .elementor-background-video-container { 
	position:fixed;
	max-height:480px; 
}
*/

#video-header-bg { background-size:cover; }

/* above-header */
#ast-desktop-header .ast-above-header-wrap { background: linear-gradient(#47a3,#47a0); }
#ast-desktop-header .ast-header-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element svg { transition:transform 0.4s; }
#ast-desktop-header .ast-header-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:hover svg { transform:scale(1.2); }
#ast-desktop-header .ast-header-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:focus svg { transform:scale(1.2); }
#ast-desktop-header .ast-header-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:active svg { transform:scale(1); }
#ast-desktop-header .header-social-inner-wrap { filter:drop-shadow(1px 3px 3px #2469); }

/* main-header */
#ast-desktop-header .ast-site-identity { padding:0; }
#ast-desktop-header .ast-site-identity a.custom-logo-link img { transition:transform 0.4s; }
#ast-desktop-header .ast-site-identity a.custom-logo-link:hover img { transform:scale(1.05); }
#ast-desktop-header .ast-site-identity a.custom-logo-link:focus img { transform:scale(1.05); }
#ast-desktop-header .ast-builder-menu-1 .menu-item > .menu-link { font-size:24px; }

/* below-header */
#ast-desktop-header .ast-below-header-wrap { background:linear-gradient(#2460,#2463); }
#ast-desktop-header .ast-below-header-wrap .site-below-header-wrap { padding:0 !important; }
#ast-desktop-header .main-header-menu li { 
	font-family:"capitol", sans-serif !important;
	font-weight:700;
	font-style:normal;
	letter-spacing:-0.15em; 
}
#ast-desktop-header .current-menu-item:after, #ast-desktop-header .menu-item-has-children:after {
	font-family:var(--fa-family-classic);
	font-size:1.6em;
	font-weight:900;
	content:"\f0d8";
	color:#fff;
	position:absolute;
	bottom:-0.82em;
	left:calc(50% - 0.3em);
}
#ast-desktop-header .sub-menu .current-menu-item:after {
	content:"\f0da";
	font-size:1.25em;
	top:0.3em;
	left:-0.15em;
}
#ast-desktop-header .menu-item-has-children:after { 
	content: "\f078";
	font-size:0.9em;
	top:1em;
}
#ast-desktop-header .menu-item-has-children .dropdown-menu-toggle { display:none; }

/* accessibility extras for main menu */

.ast-builder-menu-1 .menu-item > .menu-link:focus { background-color:#fff3; }

/* sub-menu */
#ast-desktop-header .sub-menu { 
	border:none; 
	background-color:#e9ecef;
	background-color:#778899ee;
	background-color:#47ae;
	background-color:#8f9fafee;
	box-shadow:6px 9px 15px -6px #2469;
	width:auto;
	min-width:100%; 
}
#ast-desktop-header .sub-menu .menu-item > .menu-link { 
	padding:18px 18px 10px 15px;
	border-top:2px solid #fff;
	color:#47a;
	color:#fff;
	white-space:nowrap;
	line-height:1.1;
}
#ast-desktop-header .sub-menu .menu-item > .menu-link:hover {
	background-color:#fff3;
}

/* off-canvas menu */
.ast-mobile-popup-drawer .ast-mobile-popup-header { min-height:auto; border-bottom:1px solid #fff; } /* HACK */
#ast-mobile-popup-wrapper .menu-item { font-weight:700; }
#ast-mobile-popup-wrapper .menu-item .ast-icon svg { fill:#47a; }
#menu-toggle-close span { display:none; }
#menu-toggle-close:after, #ast-mobile-popup-wrapper .ast-menu-toggle:after { 
	content:"\f057";
	font-family:var(--fa-family-classic);
	font-weight:900;
	font-size:1.2em;
	line-height:1;
	color:#47a;
}
/* #menu-toggle-close:focus:after { color:#69b; } */
#menu-toggle-close:focus { background-color:#47a3; }

#ast-mobile-popup-wrapper .sub-menu { border:20px solid #fff; border-width:0px 0px 0px 20px; }
#ast-mobile-popup-wrapper .ast-menu-toggle { line-height:1; padding:0.9em; }
#ast-mobile-popup-wrapper .ast-menu-toggle:after { content:"\f0d7"; }
#ast-mobile-popup-wrapper .ast-menu-toggle .icon-arrow { display:none; }
#ast-mobile-popup-wrapper .sub-menu .menu-item .menu-link { padding-left:20px; }
/* #ast-mobile-popup-wrapper .sub-menu .menu-item .menu-link:before { content:"\f0da"; } */
#ast-mobile-popup-wrapper .sub-menu .menu-item .menu-link .icon-arrow { display:none; }
#ast-mobile-popup-wrapper .menu-item.current-menu-item { background-color:#47a3; }
#ast-mobile-popup-wrapper .menu-item .menu-link:focus { background-color:#47a3; } /* Unnecessary but nice */
#ast-mobile-popup-wrapper .ast-header-social-wrap { margin:20px auto; }
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link { background-color:transparent; } /*  HACK to remove current ancestor highlight from a:link */

#ast-mobile-popup-wrapper .ast-header-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:focus svg { fill:#69b; }

.ast-menu-toggle:focus { outline:none; }


/***********/
/* BUTTONS */

.elementor-widget-button .elementor-button, input[type="submit"].wpcf7-submit {
	background:linear-gradient(#69b,#47a);
	padding:0.5em 1em;
	font-family:"novel-sans-pro", sans-serif !important;
	font-weight:700 !important;
	font-style:normal;
	font-size:30px;
	letter-spacing:-0.02em;
	border-radius:50px;
	box-shadow:0 12px 12px -6px #2466;
	transition:transform 0.4s;
}
input[type="submit"].wpcf7-submit { font-size:24px; padding-bottom:0.6em; }
input[type="submit"]:hover, input[type="submit"]:focus { color:#fff; }

.elementor-widget-button .elementor-button:hover, input[type="submit"]:hover { transform:scale(1.05); }
.elementor-widget-button .elementor-button:focus, input[type="submit"]:focus { transform:scale(1.05); }
.elementor-widget-button .elementor-button:active, input[type="submit"]:active { transform:scale(1); }

.white-button .elementor-button { 
	background:#fff !important;
	padding:10px 25px 10px 15px;
	width:100%;
	font-family: "capitol", sans-serif !important;
	font-size:30px;
	letter-spacing: -0.17em;
}
.white-button .elementor-button-icon { fill:#69b; }
.white-button .elementor-button-text { position:relative; top:0.18em; color:#69b; }
.white-button.elementor-widget-button .elementor-button:hover { transform:scale(1.03); }
.white-button.elementor-widget-button .elementor-button:focus { transform:scale(1.03); }
.white-button.elementor-widget-button .elementor-button:active { transform:scale(1); }


/*********/
/* PAGES */

.services .elementor-widget-image img { width:200px; }

.services .elementor-widget-image a {
	background:linear-gradient(#47a,#9bc);
	border-radius:50%;
	transition:transform 0.4s;
}
.services .elementor-widget-image a:hover, .services .elementor-widget-image a:focus { transform:scale(1.1); }
.services .elementor-widget-image a:active { transform:scale(1); }

.pullout { background:linear-gradient(190deg, #47a,#9bc); }

.choke-column-width { max-width:595px; }

.entry-content h5.icon-link { padding:10px 0; margin-bottom:0; }

.entry-content .icon-link a { display: inline-block; color:#fff; transition:transform 0.4s; }
.entry-content .icon-link a:hover { transform:scale(1.05); }
.entry-content .icon-link a:active { transform:scale(1); }


/*********/
/* FORMS */

label { color:#47a; }
label i { font-size:0.8em; font-style:normal; float:right; margin-top:0.5em; }

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="reset"], input[type="tel"], input[type="date"], .wpcf7 input[type="file"], select, textarea {
	background-color:#9bc4;
	border:1px solid transparent;
	font-size:1em;
	font-weight:500 !important;
	color:#246;
}
input[type="email"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, .wpcf7 input[type="file"]:focus, select:focus, textarea:focus {
	background-color:#9bc2;
	border:1px solid #9bc;
}
.wpcf7 input.wpcf7-form-control:not([type="submit"]):not([type="file"]), .wpcf7 textarea.wpcf7-form-control { padding:10px; }
.wpcf7 select.wpcf7-form-control { padding:0 10px; }
.wpcf7 input[type="file"].wpcf7-form-control { padding:10px; font-size:1em; line-height:1.2; text-align:left; }
.wpcf7 input::file-selector-button {
	margin:0;
	padding:0.2em 0.8em 0.3em;
	background-color:#9bc;
	border:none;
	border-radius:3px;
	font-size:0.8em;
	font-weight:700;
	color:#fff;
	float:right;
}
.wpcf7 input::file-selector-button:hover { background-color:#69b; }

.form-last { margin-bottom:40px !important; }

.form-button { text-align:center; margin:0 !important; }
.wpcf7-spinner { display:block; margin:8px auto; }

.wpcf7 .wpcf7-not-valid-tip { position:absolute; margin-top:2px; font-size:0.8em; }
.wpcf7 form .wpcf7-response-output {
	margin:0 0 40px;
	padding:0.4em 0.5em 0.5em;
	border:none;
	border-radius:4px;
	font-weight:700;
	line-height:1.5;
	text-align:center;
	background-color:#246;
	color:#fff
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color:#e00;
	color:#fff
}
.wpcf7 form.sent .wpcf7-response-output {
	background-color:#6c6;
	color:#fff;
}
.wpcf7 form.sent .form-button { display:none; }
.privacy-link {
	margin-top:-2.2em;
	font-size:0.8em;
	font-weight:500;
}
.privacy-link .tabbed { margin-right:0.2em; }


/**********/
/* FOOTER */

/* width setup */
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row { max-width:1180px; }
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row { max-width:1140px; }
.site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns: 360px 1fr 110px; }

.footer-logo a img { transition:transform 0.4s; }
.footer-logo a:hover img { transform:scale(1.05); }
.footer-logo a:focus img { transform:scale(1.05); }

.site-primary-footer-wrap .site-footer-primary-section-2 { align-self:center; width:17em; }
#footer-contact-info, #footer-contact-info a { color:#fff; }
#footer-contact-info p:last-child { margin:0; }
#footer-contact-info a { transition:transform 0.4s; display:inline-block; }
#footer-contact-info a:hover { transform:scale(1.05); }
#footer-contact-info a:focus { transform:scale(1.05); }

.ast-footer-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element svg { transition:transform 0.4s; }
.ast-footer-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:hover svg { transform:scale(1.2); }
.ast-footer-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:focus svg { transform:scale(1.2); }

.site-below-footer-wrap p { font-size:18px; }

#ast-scroll-top:hover, #ast-scroll-top:focus { background-color:#69b; }
.ast-scroll-to-top-right { bottom:65px; }


/**************/
/* RESPONSIVE */

@media only screen and (min-width: 811px) and (max-width: 1023px) and (max-height: 480px) {
	.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap { 
		min-height:calc(100vh - 120px);	
	} /* desktop menu stays visible for landscape orientation */
	#video-header-bg { min-height:100vh; } /* full-height header for landscape orientation iphones */
}

@media only screen and (max-width: 921px) {
	#ast-desktop-header .ast-builder-menu-1 .menu-item > .menu-link { font-size:22px; }
	#ast-desktop-header .current-menu-item:after, #ast-desktop-header .menu-item-has-children:after { bottom:-0.96em; }
	.site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns:1fr 1fr !important; }
	.site-primary-footer-wrap[data-section="section-primary-footer-builder"] { padding:0; }
	.site-primary-footer-wrap .site-footer-section { justify-self:center; }
	.site-primary-footer-wrap .site-footer-primary-section-2 { grid-row:span 2; }
	/* .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row { max-width:100%; } */
	body, p, ul, ol, li, address, blockquote, input, select, textarea, button, label, .ast-button, .ast-custom-button {
		font-size:18px;
	}
	ul, ol, li { font-size:20px; }
	h1, .entry-content h1 { font-size:60px; }
	h2, .entry-content h2 { font-size:50px; }
	h3, .entry-content h3 { font-size:22px; }
	h4, .entry-content h4 { font-size:32px; }
	h5, .entry-content h5 { font-size:23px; }
	.elementor-widget-heading h2.elementor-heading-title { font-size:50px; }
	#footer-contact-info p { font-size:20px; }
	.site-below-footer-wrap p { font-size:16px; }
	.white-button .elementor-button { font-size:26px; }
}

@media only screen and (min-width: 768px) {
	.form-button { text-align:right; }
}

@media only screen and (max-width: 767px) {
	.services > .e-con-inner > .e-child { width:50%; } /* 2 columns for mobile */
	.form-button input[type="submit"].wpcf7-submit { width:100%; }
	.privacy-link { margin-top:0; font-size:1em; text-align:center; }
}

@media only screen and (min-width: 668px) and (max-width: 810px) {
	.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap { 
		min-height:360px;
	}
} /* portrait orientation tablets */

@media only screen and (min-width: 545px) and (max-width: 767px) and (max-height: 480px) {
	.ast-mobile-header-wrap .ast-primary-header-bar { min-height:auto; }  /* HACK */
	.ast-mobile-header-wrap .ast-primary-header-bar { min-height: calc(100vh - 120px); }  /* HACK */
	#video-header-bg { min-height:100vh; } 
} /* full-height header for landscape orientation on older iphones */

@media only screen and (max-width: 666px) {
	.site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns:1fr !important; }
	.site-primary-footer-wrap .site-footer-primary-section-2 { width:auto; }
	.site-footer-primary-section-1 { margin-bottom:-10px !important; }
	.site-footer-primary-section-2 { padding:0 20px; }
	.footer-widget-area[data-section="sidebar-widgets-footer-widget-2"].footer-widget-area-inner { text-align:center; }
	#footer-contact-info p { margin:0.3em; }
	#footer-contact-info a { display:block; text-align:center; }
} /* footer alignment for portrait iphones */

@media only screen and (max-width: 544px) {
	header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img { max-width:100% !important; }
	body, p, ul, ol, li, address, blockquote, input, select, textarea, button, label, .ast-button, .ast-custom-button {	font-size:16px; }
	ul, ol, li { font-size:20px; }
	h3, .entry-content h3 { font-size:20px; }
	h4, .entry-content h4 { font-size:28px; }
	h5, .entry-content h5 { font-size:22px; }
	#footer-contact-info p { font-size:18px; }
	.ast-scroll-to-top-right { bottom:85px; }
	
} /* portrait orientation iphones */

@media only screen and (max-width: 480px) {
	.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap {
		min-height: calc(100vw - 120px); }
	#video-header-bg { min-height:100vw; }
} /* miniature devices */

@media only screen and (max-width: 544px) and (max-height: 480px) {
	
} /* apple watch */


/**** HIDE SOCIAL MEDIA ICONS ****/

.ast-header-social-wrap { display:none; }
.ast-footer-social-wrap { display:none; }
.grecaptcha-badge { display:none; }