/*
 Theme Name:   PSWI 2020
 Description:  Improvise Child Theme for Process Servers of Wyoming
 Author:       Crack-Ajax
 Author URI:   https://crack-ajax.com
 Template:     improvise
 Version:      1.1.2
*/

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2em;
}

.improvise main.pages h2 {
	font-size: 32px;
}

.document-header {
	max-width: 100vw !important;
}

.primary-nav.tab-underline .dropdown .dropdown-menu {
	padding-top: 28px;
	min-width: 100%;
}

.fixed .primary-nav.tab-underline .dropdown .dropdown-menu {
	padding: 13px 0 0;
}

@media (min-width: 851px) and (max-width: 1200px) {
	
	.menu-open .primary-nav.tab-underline .dropdown .dropdown-menu {
		padding: 13px 0 0;
	}
}

@media (max-width: 850px) {
	
	.fixed .primary-nav.tab-underline .dropdown .dropdown-menu {
		padding-top: 0;
	}
}

/********************************************* Top Notification Bar Styling *******************************************************/

.document-header {
	flex-direction: column;
    max-height: calc(var(--xl-spacing) + var(--m-spacing) + 1px);
    padding: 0;
}

.fixed .document-header {
	max-height: calc(var(--l-spacing) + var(--m-spacing) + 1px);
}

.top-bar .desktop {
	display: block;
}

.top-bar .mobile {
	display: none;
}

.top-bar {
    width: 100%;
    background-color: var(--color-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--m-spacing);
}

.top-bar p {
	color: white;
	margin-bottom: 0;
	--text-transform: uppercase;
	line-height: 2;
}

.top-bar p a {
	display: inline-block;
	background-color: var(--color-accent);
	color: white;
	padding: 0 20px;
	line-height: 1.5;
	border-radius: 50px;
	margin-left: 10px;
	text-transform: uppercase;
	font-size: 0.9rem;
}

.top-bar p a:hover {
	-background-color: white;
	-color: var(--color-secondary);
}

.main-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--l-spacing);
    width: 100%;
}

@media (max-width: 1200px) {
	
	.primary-nav {
		top: calc(var(--xl-spacing) + var(--m-spacing) + 1px);
	}
	
	.fixed .primary-nav {
		top: calc(var(--l-spacing) + var(--m-spacing) + 1px);
	}
}

@media (max-width: 525px) {
	
	.top-bar .desktop {
		display: none;
	}
	
	.top-bar .mobile {
		display: block;
	}
	
	.top-bar p {
		font-size: 0.8rem;
	}
	
	.top-bar p a {
		font-size: 0.7rem;
	}
	
	.main-bar {
		padding: 0 var(--s-spacing);
	}
}

/************************************************ General Button Styling **********************************************************/

.button:not(.read-more),
.wp-block-button__link {
	padding: calc(var(--s-spacing) / 2 ) var(--m-spacing);
	line-height: normal;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.is-style-fill .wp-block-button__link.has-white-color.has-primary-background-color:hover {
	background-color: var(--color-accent);
	border-color: var(--color-accent);
}

/********************************************** Equal Height Columns Design *******************************************************/

.wp-block-columns.equal-height .wp-block-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/***************************************** Columns Column Background Color Design *************************************************/

.wp-block-column.has-background-color {
	padding: var(--l-spacing) var(--s-spacing);
}

@media (min-width: 782px) {
	
	.wp-block-columns {
		margin-top: var(--l-spacing);
		margin-bottom: var(--l-spacing);
	}
	
	.wp-block-columns .wp-block-column {
		margin-bottom: 0;
	}
}

@media (max-width: 768px) {
	
	.wp-block-cover .wp-block-columns:not(:last-of-type) .wp-block-column:last-child {
		margin-bottom: var(--m-spacing) !important;
	}
	
	.wp-block-columns.wide-child .wp-block-column:last-child {
		flex-basis: 100% !important
	}
}

/************************************************ Homepage Mobile Styling *********************************************************/

@media (max-width: 781px) {
	
	.wp-block-group .wp-block-columns.has-background .wp-block-column {
		flex-basis: 100% !important;
		margin-bottom: 20px !important;
	}
}

@media (max-width: 768px) {
	
	.content-flush.wp-block-media-text.is-stacked-on-mobile figure.wp-block-media-text__media {
		min-height: 300px;
		width: 100%;
	}
	
	.content-flush.wp-block-media-text.is-stacked-on-mobile figure.wp-block-media-text__media img {
		object-fit: cover;
		width: 100%;
		height: 300px;
	}
	
	.no-margin-bottom.content-flush.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		grid-row: 3/4;
	}
	
	.no-margin-bottom.content-flush.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-row: 1/2;
		margin-bottom: var(--s-spacing);
		padding-top: 0;
	}
	
	.no-margin-bottom.content-flush.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		margin-bottom: 0;
	}
}

@media (max-width: 599px) {
	
	.page-content>.wp-block-cover:first-child h1 {
		font-size: 42px !important;
		text-align: center;
	}
	
	.page-content>.wp-block-cover .wp-block-buttons.alignright {
		float: none;
		text-align: center;
	}
	
	.page-content>.wp-block-cover p {
		font-size: 22px !important;
		text-align: center;
	}
}

@media (max-width: 480px) {
	
	.page-content>.wp-block-cover + .wp-block-group {
		margin-top: 0;
	}
	
	.page-content>.wp-block-cover + .wp-block-group h2.has-huge-font-size {
		font-size: 40px;
	}
	
	.honor {
		font-size: 44px;
	}
	
	.content-flush.wp-block-media-text h2 {
		font-size: 30px;
	}
	
	.improvise .faq-accordion ul li h3:before {
		top: -8px;
	}
	
	.faq-accordion ul li:not(.closed) h3:before {
		top: 14px !important;
	}
	
	.has-text-align-center.has-medium-font-size {
		font-size: 18px;
	}
	
	.wp-block-group.has-background h2.has-text-align-center.has-large-font-size {
		font-size: 42px;
	}
}

/*********************************************** List Block Column Styling ********************************************************/

ul.list-columns-2 {
	column-count: 2;
	column-gap: 2%;
}

ul.list-columns-2 li:first-child {
	margin-top: 0;
}

ul.list-columns-3 {
	column-count: 3;
	column-gap: 2%;
}

ul.list-columns-3 li:first-child {
	margin-top: 0;
}

ul.list-columns-4{
	column-count: 4;
	column-gap: 2%;
}

ul.list-columns-4 li:first-child {
	margin-top: 0;
}

@media (max-width: 480px) {
	
	ul.list-columns-2 {
		column-count: 1;
	}
}

/********************************************** Custom Gravity Form Styling *******************************************************/

.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 {
	padding: 8px 16px;
}

.improvise .gform_wrapper select {
	padding: 7px 16px !important;
}

.improvise .gform_wrapper .ginput_address_state {
	position: relative;
}

.improvise .gform_wrapper .ginput_container_select:after,
.improvise .gform_wrapper .ginput_address_state:after {
	height: 12px;
	right: 8px;
	background-image: url(../improvise/images/down-arrow-black.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute;
    top: 16px;
    width: 18px;
}

.improvise .gform_wrapper .ginput_container_fileupload input {
	color: white;
}

.improvise .gform_wrapper li input[type=checkbox].gfield-choice-input,
.improvise .gform_wrapper li input[type=radio]  {
	width: 18px !important;
	height: 18px;
	margin-top: 0;
	vertical-align: bottom;
}

.gform_wrapper ul.gfield_checkbox li label {
}

.improvise .gform_legacy_markup_wrapper .gsection {
	border-color: var(--color-accent);
}

.improvise main.pages .gform_wrapper h2 {
	font-size: 1.6rem;
}

.improvise .gform_wrapper ul.gform_fields li.gfield .gfield_label {
	font-size: 1rem;
}

.improvise .gform_wrapper .gform_footer {
	padding-top: var(--l-spacing);
	border-top: 3px solid var(--color-accent);
	text-align: center;
}

.improvise .gform_wrapper .gform_footer .gform_button {
	margin-right: 0;
}

body.improvise span.ginput_total {
	font-size: 1.5rem;
	font-weight: bold;
}

body .gform_legacy_markup_wrapper ul li.gfield.gfield_price_5_ {
	vertical-align: top;
	margin-top: 0;
}

.improvise .gform_wrapper div.ginput_complex.ginput_container_square_card {
	display: block;
}

.improvise .gform_wrapper div.ginput_complex.ginput_container_square_card .ginput_full {
	min-height: auto;
}