/*
 Theme Name:   Atreo Custom Theme
 Description:  Improvise Child Theme for Atreo
 Author:       Crack-Ajax
 Author URI:   https://crack-ajax.com
 Template:     improvise
 Version:      2.0.2
*/

.document-header {
	height: 80px;
}

.document-header .logo a {
	line-height: 0;
}

main {
	padding-top: 80px;
}

iframe {
	max-width: 100%;
}

article {
	padding: 0: var(--xl-spacing);
}

#menu-item-843 a {
	text-transform: uppercase;
}

/* Gutenberg & Custom Helpers */
.alignfull {
	clear: both;
}

.aligncenter {
	text-align: center;
}

.padding-50 {
	padding: 50px;
}

.padding-30 {
	padding: 30px;
}

.improvise .wp-block-buttons .wp-block-button {
	margin: 0;
}

.wp-block-button__link.has-white-color.has-primary-background-color:hover {
	color: white !important;
	border-color: var(--color-dark-text);
	background-color: var(--color-dark-text) !important;
}

.button:not(.read-more):not(.gform_button), .wp-block-button__link, .button:not(.read-more):hover, .wp-block-button__link:hover {
	border: 0;
	position: relative;
}

.button:not(.read-more):not(.gform_button):not(#wp-submit):not(.button-primary):before, .wp-block-button__link:before {
	content: '+';
  	font-size: 1.7em;
  	width: 42px;
	line-height: 38px;
  	height: 100%;
  	position: absolute;
  	top: 0;
  	left: -42px;
  	background-color: var(--color-accent);
}

.margin-bottom-30 {
	margin-bottom: 30px !important;
}

.margin-bottom-50 {
	margin-bottom: 50px !important;
}

.hero-pull-up {
	max-width: 1050px;
	margin: -210px auto 30px;
	position: relative;
}

.wp-block-column :last-child,
.shadow-title :last-child {
	margin-bottom: 0 !important;
}

.restricted-width {
	max-width: 850px;
	margin: auto;
}

.wp-block-separator {
	border: 2px solid var(--color-accent);
	margin-top: 0.5em;
}

@media (max-width: 1200px) {
	
	.padding-50 {
		padding: 30px;
	}
	
}

@media (max-width: 992px) {
	
	.hero-pull-up .wp-block-columns, .shadow-squares-pull-up .wp-block-columns .wp-block-columns {
		flex-wrap: nowrap;
	}
	
	.page-content .wp-block-columns.hero-pull-up {
		margin: 0 var(--s-spacing);
		flex-wrap: wrap;
	}
	
	.hero-pull-up > .wp-block-column {
		flex-basis: 100% !important;
	}
	
	.hero-pull-up > .wp-block-column:last-child {
		margin-left: 0;
	}
	
}

@media (max-width: 804px) {
	
	.shadow-squares-pull-up .wp-block-columns .wp-block-columns .wp-block-column  {
		flex-basis: 50% !important;
		margin-bottom: 0;
	}
	
}

@media (max-width: 781px) {
	
	.hero-pull-up > .wp-block-column:first-child {
		flex-basis: 25%;
	}
	
	.hero-pull-up .wp-block-column:last-child {
		flex-basis: 100%;
	} 
	
}

@media (max-width: 599px) {
	
	.page-content .wp-block-columns.hero-pull-up {
		margin: 0;
	}
	
	.hero-pull-up .wp-block-column .wp-block-columns {
		flex-wrap: wrap;
	}
	
	.hero-pull-up .wp-block-column:last-child .wp-block-column:first-child {
		margin-bottom: 1em;
	}
	
}

/** Main Nav Menu **/
.primary-nav.tab-hover .dropdown:not(.touch-start) .dropdown-menu li a {
	color: var(--color-dark-text);
}

.primary-nav.tab-hover :not(.touch-start) .dropdown-menu li:hover a, .primary-nav.tab-hover .dropdown-menu li.current-menu-item a {
	color: var(--color-primary);
}

nav.primary-nav ul li a {
	font-size: 1.25rem;
}

.primary-nav ul li:nth-last-child(-n+2) .dropdown-menu {
	min-width: 200px;
}

.primary-nav .dropdown .dropdown-menu {
	margin-top: 1px;
}

@media (min-width: 1200px) {
	.primary-nav:not(.tab-underline) ul li a {
		line-height: calc(80px - 5px);
	}
	
	.fixed .primary-nav:not(.tab-underline) ul li a {
		line-height: calc(40px - -5px);
	}
}

@media (max-width: 1200px) {
	.primary-nav {
		top: 80px;
	}
}
 
/* Shadow Blocks */
.shadow-squares-pull-up {
	margin-top: -145px;
}

.shadow-squares .wp-block-column {
	position: relative;
	background-color: var(--color-secondary);
	display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.shadow-squares>.wp-block-group__inner-container>div.wp-block-columns>.wp-block-column:before,
.shadow-title:before {
	content: '';
	position: absolute;
  top: 15px;
  left: 15px;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 5px solid var(--color-secondary);
}

.shadow-squares p.has-background {
	padding: 0;
	color: black !important;
}

.wp-block-group.alignfull .wp-block-group__inner-container {
	max-width: calc( var(--wide-width) - calc( var(--xl-spacing) * 2 ) );
}

.wp-block-group.has-text-color.shadow-squares:not(.shadow-squares-pull-up) .wp-block-columns a {
	color: var(--color-dark-text);
}

.wp-block-group.has-text-color.shadow-squares:not(.shadow-squares-pull-up) .wp-block-columns a:hover {
	color: var(--color-primary);
}

.wp-block-group.has-text-color.shadow-squares:not(.shadow-squares-pull-up) .wp-block-columns p {
	color: black;
}

@media (max-width: 992px) {
	
	.shadow-squares-pull-up,
	.wp-block-group.shadow-squares:not(.shadow-squares-pull-up) .wp-block-columns {
		padding-right: 15px;
	}
	
}

@media (max-width: 781px) {
	
	.wp-block-columns .wp-block-column:first-child, .wp-block-columns .wp-block-column:nth-of-type(2) {
		margin-bottom: 3em;
	}
	
}

@media (max-width: 480px) {
	
	.shadow-squares-pull-up, .wp-block-group.shadow-squares:not(.shadow-squares-pull-up) .wp-block-columns {
		margin-left: 0;
		width: 100%;
	}
	
	.wp-block-spacer {
		max-height: none;
	}
	
}

/* Feature Box */
.wp-block-group.has-background.feature-box > .wp-block-group__inner-container {
	padding: 50px 150px;
}

.feature-box h2 {
	font-size: 48px;
}

.feature-box .wp-block-image {
	margin: 1em 0;
}

@media (max-width: 992px) {
	
	.wp-block-group.has-background.feature-box > .wp-block-group__inner-container {
		padding: 50px;
	}
	
	.feature-box .wp-block-columns {
		flex-wrap: nowrap;
	}
	
}

@media (max-width: 599px) {
	
	.wp-block-group.has-background.feature-box > .wp-block-group__inner-container {
		padding: 15px;
	}
	
	.feature-box h2 {
		font-size: 32px;
	}
	
	.feature-box .wp-block-columns {
		flex-wrap: wrap;
	}
	
	.feature-box .wp-block-columns .wp-block-column:first-child {
		margin-bottom: 1em;
	}
	
	.feature-box .wp-block-columns .wp-block-column:last-child {
		margin-bottom: 0;
	}
	
}

/* Headings and Text */
h1, h2, h3, h4, h5, h6 {
	position: relative;
}

h1 {
  font-size: 48px;
}

h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
	text-decoration: none;
	font-weight: bold;
	color: inherit;
}

h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {
	color: inherit;
}

h2 {
	font-size: 1.8em;
}

h3 {
    font-size: 1.625rem;
	color: var(--color-primary);
}

p {
	position: relative;
}

@media (max-width: 480px) {
	
	.home h1 {
    font-size: 32px;
	}
	
}

/* Page Template Overrides */
.page-content > .wp-block-cover, .front-page-content > .wp-block-cover {
	border-bottom: 15px solid var(--color-primary);
}

main.pages {
	background-color: var(--color-secondary);
	min-height: calc( 100vh - var(--l-spacing) );
}

.page-header {
	display: none;
}

.page-content-width {
	max-width: 750px;
	margin: auto;
}

.shadow-title {
	display: inline-block;
}

.shadow-title:before {
	border-color: white;
}

.title-pull-up {
	position: relative;
	margin-top: -75px;
	margin-right: 15px;
	z-index: 1;
}

.wp-block-group.has-background.title-pull-up > .wp-block-group__inner-container {
	padding: 0;
}

.title-pull-up.wp-block-image {
	margin-top: -20px;
}

.title-pull-up h1 {
	font-size: 39px;
}

@media (max-width: 768px) {
	
	.title-pull-up h1 {
		font-size: 48px;
	}
	
}

@media (max-width: 599px) {
	
	.page-content-width .wp-block-group__inner-container {
		padding: 0 var(--s-spacing);
	}
}

@media (max-width: 480px) {
	
	.title-pull-up h1 {
		font-size: 32px;
	}
	
}

@media (min-width: 600px) {
	
	.page-content .wp-block-columns {
		flex-wrap: nowrap;
	}
	
}

@media (min-width: 300px) {
	
	.title-pull-up .wp-block-image .alignright {
		float: right;
	}
	
}

/* Testimonials */
.home .puzzle-testimonials {
	height: auto;
  	min-height: auto;
	padding: 0;
}

.home .puzzle-testimonials .row h2 {
	color: var(--color-textdark);
	margin-bottom: 100px;
}

.home .puzzle-testimonials .owl-carousel .testimonial blockquote {
	margin: 1.2em auto 1em;
	text-align: center;
}

.home .puzzle-testimonials .owl-carousel .testimonial blockquote p {
	font-size: 14px;
}

.home .puzzle-testimonials .owl-carousel .testimonial .source-info p {
	text-align: center;
}

blockquote {
	font-family: 'Spinnaker', sans-serif;
}

blockquote:before, blockquote:after {
	color: var(--color-primary);
	content: open-quote;
  	font-size: 6em;
  	line-height: 0.1em;
  	margin-right: 0.25em;
  	vertical-align: -0.4em;
}

.home .puzzle-testimonials .owl-nav .genericon, 
.home .puzzle-testimonials .owl-nav .genericon:hover {
	background-color: var(--color-primary);
	opacity: 0.5;
}

.home .puzzle-testimonials .owl-nav .genericon:hover {
	opacity: 1;
}

.home .puzzle-testimonials .row {
	overflow-x: hidden;
}

@media (max-width: 1020px) {

	.home .puzzle-testimonials {
		height: 100%;
		min-height: 540px;
		padding: 50px 0;
	}
}

@media (max-width: 540px) {

	.home .puzzle-testimonials {
		overflow-x: hidden;
	}
}

@media (max-width: 480px) {
	
	.home .puzzle-testimonials .row {
		overflow-x: visible;
    	max-width: 100%;
    	margin: 0;
    	padding: 0;
	}
	
	.puzzle-testimonials .owl-carousel .owl-item.active.center {
		box-shadow: none;
	}
	
}

/* Contact Form */
.improvise .gform_wrapper ul.gform_fields li.gfield .gfield_label,
.improvise .gform_wrapper .gfield_required {
	color: white;
}

.improvise .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .improvise .gform_wrapper textarea {
	border-bottom-color: white;
	color: white;
}

.improvise .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):hover,.improvise .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, .improvise .gform_wrapper textarea:hover, .improvise .gform_wrapper textarea:focus {
	outline-color: white;
}

.gform_wrapper .gform_footer {
	text-align: center;
}

.improvise .gform_wrapper .gform_footer .gform_button,
#field_2_6 label {
	text-transform: uppercase;
  background-color: var(--color-accent);
  color: white;
	border-color: var(--color-accent);
	font-weight: bold;
	max-width: 200px;
}

.improvise .gform_wrapper .gform_footer .gform_button:hover,
#field_2_6 label:hover {
	background-color: var(--color-primary);
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.gform_confirmation_message_1 {
	color: white;
	text-align: center;
}
	
	::-webkit-input-placeholder { /* Edge */
  color: #ddd;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #ddd;
}

::placeholder {
  color: #ddd;
}

/* Careers Form */

.improvise .gform_wrapper .career-form ul.gform_fields li.gfield .gfield_label,
.improvise .gform_wrapper .gfield_required {
	color: var(--color-primary);
}

.improvise .gform_wrapper .career-form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .improvise .gform_wrapper .career-form textarea,
.improvise .gform_wrapper select {
	border-color: var(--color-primary);
	background-color: var(--color-primary);
}

.improvise .gform_wrapper .career-form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):hover,
.improvise .gform_wrapper .career-form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, 
crack-ajax .gform_wrapper .career-form textarea:hover,
.improvise .gform_wrapper .career-form textarea:focus,
.improvise .gform_wrapper select:hover, 
.improvise .gform_wrapper select:focus {
	outline-color: var(--color-accent);
	border-color: white;
}

.improvise .gform_wrapper select {
	max-height: 55px;
	color: white;
}

.improvise .gform_wrapper .career-form div.ginput_complex {
	display: block;
}

.full-width {
    width: 100%;
}

.improvise .gform_wrapper div.ginput_complex span.name_first,
.improvise .gform_wrapper div.ginput_complex span.address_line_1,
.improvise .gform_wrapper div.ginput_complex span.address_line_2,
.improvise .gform_wrapper div.ginput_complex span.address_city,
.improvise .gform_wrapper div.ginput_complex span.address_state,
.improvise .gform_wrapper div.ginput_complex span.address_zip {
    width: 50% !important;
    float: left ;
    clear: none;
    margin-right: 0 !important;
}

.left-half,
.improvise .gform_wrapper div.ginput_complex span.name_first,
.improvise .gform_wrapper div.ginput_complex span.address_line_1,
.improvise .gform_wrapper div.ginput_complex span.address_city,
.improvise .gform_wrapper div.ginput_complex span.address_zip {
    padding-right: 8px !important;
}

.right-half,
.improvise .gform_wrapper div.ginput_complex span.name_last,
.improvise .gform_wrapper div.ginput_complex span.address_line_2,
.improvise .gform_wrapper div.ginput_complex span.address_state {
	padding-right: 0 !important;
	padding-left: 8px !important;
}

.address_city,
.address_state,
#input_2_2 .address_zip {
    margin-top: 16px !important;
}

.address_line_1,
.address_line_2,
.address_city,
.address_state,
#input_2_2 .address_zip {
    min-height: inherit !important;
}

#input_2_6,
#field_2_6 .gfield_required {
    display: none;
}

.improvise .gform_wrapper .upload-name {
	width: 75% !important;
	padding-right: 0 !important;
}

.improvise .gform_wrapper .upload-file {
	width: 25% !important;
	padding-left: 0 !important;
}

#field_2_6 label {
	width: 100%;
    text-align: center;
    line-height: 55px;
    margin-bottom: 3px;
    vertical-align: middle;
}

#field_2_6 label:hover,
.improvise .gform_wrapper .career-form .gform_footer .gform_button:hover {
	border: 2px solid var(--color-accent);
	color: var(--color-accent);
	background-color: var(--color-secondary);
}

#field_2_6 label:hover {
	line-height: 51px;
}

.gform_confirmation_message_2 {
	text-align: left;
	font-weight: bold;
}

@media (max-width: 641px) {

    .left-half,
    .right-half,
	.improvise .gform_wrapper div.ginput_complex span.name_first,
	.improvise .gform_wrapper div.ginput_complex span.name_last,
    .improvise .gform_wrapper div.ginput_complex span.address_line_1,
    .improvise .gform_wrapper div.ginput_complex span.address_line_2,
    .improvise .gform_wrapper div.ginput_complex span.address_city,
    .improvise .gform_wrapper div.ginput_complex span.address_state,
    .improvise .gform_wrapper div.ginput_complex span.address_zip {
        width: 100% !important;
        float: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
	
	.improvise .gform_wrapper .upload-file label {
		font-size: 16px !important;
	}

}

/* Footer */
.footer-widgets >li:nth-of-type(2) {
	display: block !important;
}

.footer-widgets {
	display: flex;
  justify-content: space-around;
}

.textwidget p {
	color: white;
}

.textwidget p:last-child {
	margin-bottom: 0;
}

.footer-bottom {
	max-width: 1050px;
	display: none;
}

.footer-bottom-social {
	margin: 0;
}

@media (max-width: 849px) {
	
	#footer1 .widgets:first-of-type {
		padding: 0;
	}
	
	#footer2 {
		display: block;
	}
	
	#footer3 {
		padding-left: 0;
	}
	
	.footer-widgets {
		flex-wrap: wrap;
	}
	
	.footer-widgets li:first-child {
		flex-basis: 100%;
		text-align: center;
	}
	
}

@media (max-width: 540px) {
	
	.footer-widgets >li {
	    width: auto; 
	}
}

@media (max-width: 4100px) {
	
	#contact h2 {
	    font-size: 1.5em;
	}
}

/** Client Login Page Styling **/
.page-content #loginform,
.page-content #lostpasswordform,
.page-content #resetpasswordform {
	max-width: 350px;
	
	& p:not(.login-submit), .login-footer {
		display: grid;
		grid-template-columns: 48% 48%;
		column-gap: 4%;
		justify-content: space-between;
		align-items: center;
		
		& input {
			padding: 8px 16px;
		}
	}
	
	& .login-submit {
		text-align: right;
		margin-bottom: 0;
		
		& input {
			width: 100%;
		}
	}
	
	.login-footer a {
		align-self: end;	
	}
}

.wp-element-button {
	color: white !important;
	background-color: var(--color-primary);
	padding: 8px 16px;
	border-radius: 0;
}
