/* New templates/layouts 20240304 */
/* Variables */
:root {
	--blue: #173e7a;
	--red: #bb1e22;;
	--dk-gray: #222;
	--gray: #aaa;
	--lt-gray: #ccc;
	--red-hover-color: #9f191d;
	--blue-hover-color: #143568;
	--heading-color: #444;
	--text-color: #666;
}

/* General */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 20px;
}

h1, .h1 {
	font-size: 36px;
	font-weight: 700;
}

h1.page-title {
	margin-bottom: 30px;
}

h2, .h2 {
	font-size: 28px;
}

h3, .h3 {
	font-size: 22px;
}

h4, .h4 {
	font-size: 20px;
}

h5, .h5 {
	font-size: 18px;
}

h6, .h6 {
	font-size: 16px;
}

#content {
	margin: 0;
}

#content a:not(.button, .btn):hover,
#content a:not(.button, .btn):focus {
	color: var(--red-hover-color);
	/* text-decoration: underline !important; */
}

#content ul,
#content ol {
	line-height: 1.8;
	margin: 0 0 25px 20px;
}

/* .container.outer-wrap > .inner-wrap {
	padding: 20px 0;
} */

/* Buttons */
.button {
	background-color: var(--red);
	border-radius: 0.25rem;
	color: white;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Raleway', sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: 50px;
	letter-spacing: normal;
	line-height: 1;
	margin: 0;
	/* max-width: 150px; */
	padding: 10px 20px;
	text-shadow: none;
	transition: background-color 0.2s;
	width: auto;
}

.button:hover,
.button:focus {
	background-color: var(--blue-hover-color);
	color: white;
}

.button.blue {
	background-color: var(--blue);
}

.button.blue:hover,
.button.blue:focus {
	background-color: var(--blue-hover-color);
}

.button.red {
	background-color: var(--red);
}

.button.red:hover,
.button.red:focus {
	background-color: var(--red-hover-color);
}

/* Helpers */
.flex-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}

.flex-wrap .item {
	flex: 0 0 calc((100% / 3) - 10px);
	width: calc((100% / 3) - 10px);
}

.no-margin {
	margin: 0 !important;
}

.no-margin-bottom {
	margin-bottom: 0 !important;
}

/* Header */
#logo {
	display: flex;
	align-items: center;
}

/* #primary-menu-trigger,
#page-submenu-trigger {
	opacity: 0;
} */

#primary-menu ul li > a {
	padding: 39px 10px;
}

#page-menu #page-menu-wrap > .container {
	position: relative;
}

/* Footer */
#footer a {
	color: white;
}

#footer a:hover,
#footer a:focus {
	color: var(--gray);
}

#footer.dark #copyrights {
	color: var(--lt-gray);
}

#footer .logo-wrapper {
	display: flex;
	align-items: center;
	gap: 25px;
	justify-content: flex-end;
	margin: 0;
}

#footer .logo-wrapper img {
	max-height: 75px;
	width: auto;
}

#footer .logo-wrapper img.verify-badge {
	max-height: 50px;
}

/* CTA (.section-cta) */
.section-cta h2 {
	margin: 0;
	width: 100%;
}

.section-cta .inner-wrap {
	display: flex;
	justify-content: center;
	padding-bottom: 20px;
}

.section-cta .button {
	max-width: 300px;
}

/* FAQ (.section-faq) */
.section-faq .inner-wrap {
	padding-bottom: 20px;
}

.section-faq details {
	border-bottom: 1px solid rgba(34, 34, 34, 0.2);
}

.section-faq details:last-child {
	border: 0;
}

.section-faq details > summary {
	cursor: pointer;
	display: flex;
	/* align-items: center; */
	gap: 15px;
	font-family: 'Raleway', sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
	padding: 15px 0;
}

.section-faq details > summary::-webkit-details-marker {
	display: none;
}

.section-faq .icon {
	background-color: var(--red);
	border-radius: 50%;
	color: white !important;
	/* display: flex;
	align-items: center;
	justify-content: center; */
	flex: 0 0 30px;
	font-size: 18px;
	height: 30px;
	margin-top: -1px;
	/* padding: 5px; */
	position: relative;
	transition: transform 0.2s;
	width: 30px;
}

.section-faq .icon::before {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 18px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 18px;
}

.section-faq details[open] .icon {
	background-color: var(--red);
	transform-origin: center;
	transform: rotate(45deg);
}

.section-faq details > .answer-wrapper {
	padding: 0 0 0 46px;
}

/* Grid (.section-grid) */
.section-grid .flex-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
	justify-content: center;
	padding-bottom: 20px;
}

.section-grid .flex-wrap .item {
	flex: 0 0 calc((100% / 3) - 20px);
	width: calc((100% / 3) - 20px);
}

.section-grid .flex-wrap .item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.section-grid .flex-wrap .item .image-wrap {
	display: block;
	margin-bottom: 20px;
}

.section-grid .flex-wrap .item .title {
	margin-bottom: 10px;
}

.section-grid .flex-wrap .item .title a,
.section-grid .flex-wrap .item .title a:hover,
.section-grid .flex-wrap .item .title a:focus {
	color: var(--heading-color) !important;
}

.section-grid .flex-wrap .item p:last-of-type {
	margin: 0;
}

.section-grid .flex-wrap .item .button {
	margin-top: 20px;
}

/* EmbedSocial (.section-embedsocial) */
.section-embedsocial .inner-wrap {
	margin-top: -10px;
	padding-bottom: 20px;
}

/* Google Map Embed (.section-google-map-embed) */
.section-google-map-embed {
	margin-bottom: -40px;
	height: 400px;
}

.section-google-map-embed .fluid-width-video-wrapper {
	padding-top: 0 !important;
}

.section-google-map-embed .fluid-width-video-wrapper iframe {
	position: relative;
	top: auto;
	left: auto;
	height: 400px;
}

/* Rich text (.section-rich-text) */
.section-rich-text .inner-wrap {
	padding-bottom: 20px;
}

/* Split (.section-split) */
.section-split .split-wrap {
	display: flex;
	flex-direction: column;
	gap: 80px;
	padding-bottom: 20px;
}

.section-split .split-row {
	display: flex;
	align-items: center;
	gap: 40px 60px;
}

.section-split .split-row.layout-reverse {
	flex-direction: row-reverse;
}

.section-split .split-row .split-column {
	flex: 0 0 calc(50% - 30px);
	width: calc(50% - 30px);
}

/* Service Area Details (.section-service-area-details) */
.section-service-area-details {
	background-color: #eee;
	margin: 0 auto 40px;
	padding: 20px !important;
}

.section-service-area-details .inner-wrap {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	row-gap: 0;
}

.section-service-area-details .inner-wrap > div {
	flex: 0 0 calc((50% - 100px) - 20px);
	width: calc((50% - 100px) - 20px);
}

.section-service-area-details .inner-wrap > div.block-cta {
	display: flex;
  	justify-content: flex-end;
  	align-items: center;
	flex: 0 0 200px;
	width: 200px;
}

.section-service-area-details .inner-wrap > div p:last-of-type {
	margin: 0;
}

.section-service-area-details h3 {
	font-size: 18px;
	margin-bottom: 5px;
}

/* Moving Service Areas (.moving-service-areas) */
.moving-service-areas #content .content-wrap {
	display: flex;
	flex-direction: column;
}

.moving-service-areas .section-google-map-embed {
	order: 999;
}

/* Blog */
.blog-details .small-thumbs .entry-image {
	float: none;
	width: 100%;
	margin: 0 0 30px;
}

/* Misc. */
.form-notification {
	color: #bb1e22;
	font-size: 18px;
	background-color: rgba(187, 30, 34, 0.05);
	border: 2px solid #bb1e22;
	padding: 20px;
	margin: 0 0 40px;
}

.form-notification p {
	margin: 0;
}

.form-notification a {
	color: #bb1e22;
	font-weight: bold;
	text-decoration: underline !important;
}

/* Media queries */
@media (min-width: 1200px) {
	.container {
		max-width: 1280px;
	}
}

@media (max-width: 1200px) {
	#header,
	#header-wrap {
		height: auto;
	}

	#logo {
		float: none;
		margin: 0 auto 0 !important;
		max-width: none;
		text-align: center;
		border: 0 !important;
		padding: 0 !important;
		width: 130px;
	}

	#logo img {
		height: auto;
	}

	#primary-menu-trigger {
		margin-top: 0;
		opacity: 1;
		pointer-events: auto;
		top: 8px;
		left: 0;
		z-index: 1;
	}

	/* #page-submenu-trigger {
		opacity: 1;
	} */

	#primary-menu {
		display: block;
		float: none;
	}

	#primary-menu > ul,
	#primary-menu > div > ul {
		display: none;
		float: none !important;
		border: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		transition: none !important;
	}

	#primary-menu ul li {
		float: none;
		margin: 0 !important;
		text-align: left !important;
		border-top: 1px solid #eee;
	}

	#primary-menu ul > li > a,
	#primary-menu.style-2 > div > ul > li > a {
		padding: 14px 5px !important;
		border: none !important;
		margin: 0 !important;
	}

	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:hover a,
	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:focus a,
	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.current a {
		color: var(--red) !important;
	}

	#primary-menu ul ul:not(.mega-menu-column),
	#primary-menu ul li .mega-menu-content {
		position: relative;
		width: auto;
		max-width: none;
		background: transparent !important;
		box-shadow: none;
		border: 0;
		border-top-width: 0px;
		border-top-style: none;
		border-top-color: currentcolor;
		border-top: 1px solid #eee;
		border-top-color: rgb(238, 238, 238);
		z-index: 1;
		top: 0;
		padding-left: 15px;
	}

	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li > ul > li > a,
	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.current > ul > li > a {
		color: #666 !important;
	}

	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li > ul > li > a:hover,
	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li > ul > li > a:focus,
	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.current > ul > li > a:hover,
	body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.current > ul > li > a:focus {
		background-color: white !important;
		color: var(-red) !important;
	}
}

@media (max-width: 991px) {
	#logo {
		height: auto;
	}

	.flex-wrap .item {
		flex: 0 0 calc(50% - 10px);
		width: calc(50% - 10px);
	}

	.section-grid .flex-wrap {
		gap: 30px 20px;
	}
	
	.section-grid .flex-wrap .item {
		flex: 0 0 calc(50% - 10px);
		width: calc(50% - 10px);
	}
}

@media (max-width: 767px) {
	h1, .h1 {
		font-size: 30px;
	}

	h1.page-title {
		margin-bottom: 20px;
	}
	
	h2, .h2 {
		font-size: 24px;
	}
	
	h3, .h3 {
		font-size: 20px;
	}
	
	h4, .h4 {
		font-size: 18px;
	}
	
	h5, .h5 {
		font-size: 16px;
	}
	
	h6, .h6 {
		font-size: 15px;
	}

	#footer .logo-wrapper {
		flex-wrap: wrap;
		gap: 10px;
		justify-content: flex-start;
	}

	.content-wrap {
		padding: 30px 0 20px;
	}

	.container {
		padding: 0 20px !important;
	}

	.flex-wrap .item {
		flex: 0 0 calc(50% - 10px);
		width: calc(50% - 10px);
	}

	.section-cta .button {
		/* font-size: 14px; */
		padding: 10px 15px;
	}

	.section-faq details > summary {
		font-size: 20px;
	}

	.section-faq .icon {
		margin-top: 0;
	}

	.section-split .split-wrap {
		gap: 40px;
	}

	.section-split .split-row {
		display: flex;
		align-items: center;
		gap: 40px 30px;
	}
	
	.section-split .split-row .split-column {
		flex: 0 0 calc(50% - 15px);
		width: calc(50% - 15px);
	}

	.section-service-area-details.container {
		padding: 20px 20px 0 !important;
	}

	.section-service-area-details .inner-wrap {
		flex-direction: column;
		column-gap: 0;
		row-gap: 20px;
		justify-content: center;
		align-items: center;
	}

	.section-service-area-details .inner-wrap > div {
		flex: 0 0 100%;
		width: 100%;
		text-align: center;
	}
	
	.section-service-area-details .inner-wrap > div.block-cta {
		display: flex;
		justify-content: center;
		align-items: center;
		flex: 0 0 100%;
		width: 100%;
	}
}

@media (max-width: 479px) {
	.button,
	.section-cta .button {
		max-width: 100%;
		width: 100%;
	}

	.section-grid .flex-wrap {
		gap: 30px;
	}

	.section-grid .flex-wrap .item {
		flex: 0 0 100%;
		width: 100%;
	}

	.section-split .split-row {
		gap: 30px;
		flex-wrap: wrap;
	}

	.section-split .split-row.layout-reverse {
		flex-direction: row;
	}
	
	.section-split .split-row .split-column {
		flex: 0 0 100%;
		width: 100%;
	}
}

/* Old templates/layouts */
.postcontent.col_full {
	margin-right: 0;
	padding-top: 40px;
	width: 100%;
}

.small-thumbs .entry-image {
	margin: 0 30px 30px 0;
}
