/*
Theme Name: Chimera Engineering
Author: Back2Front
Author URI: https://www.back2front.ca
Description: Child theme of B2F-Genesis for Chimera Engineering
Template: B2F-Genesis
Version: 1.0.0
*/ 

body {
	background-color: 		#ffffff;
	font-family: 			'Open Sans', sans-serif;
	font-size:				16px;
	line-height:   			24px;
	color:					#333333;
	margin:					0;
}

a, a:visited {
	color:					#333333;
  	text-decoration:		underline;
}

a:hover  {
	color:					#333333;
  	text-decoration:		underline;
}

h1, h2 {
	font-family: 			'Open Sans', sans-serif;
	font-weight:			300;
}

h1 {
	font-size:				42px;
	line-height:      		50px;
	margin:					0 0 15px 0;
	letter-spacing:			1px;
	text-transform:			uppercase;
}

h2 {
	font-size:				38px;
	line-height:      		40px;
	margin:					30px 0 8px 0;
}

h3 {
	font-size: 				25px;
	font-weight:			400;
	line-height: 			1.2em;
	margin: 				15px 0 5px 0;
}

h4 {
	font-size: 				24px;
	font-weight:			normal;
	line-height: 			1.2em;
	margin: 				15px 0 5px 0;
}

h5 {
	font-size: 				22px;
	font-weight:			normal;
	line-height: 			1.2em;
	margin: 				15px 0 5px 0;
}

h6 {
	font-size: 				18px;
	font-weight:			normal;
	line-height: 			1.2em;
	margin: 				15px 0 5px 0;
}

p { margin-top: 			0px;
    margin-bottom: 			0px;
}


/* LAYOUT */
#main {
	position:				relative;
}

.container {
	padding-top:			25px;
	padding-bottom:			35px;
}

.container p, .container-fluid p { 
	margin-top: 			8px;
    margin-bottom: 			20px;
}

figure {
    margin: 				10px 0 10px 0;
}

.the-content {
	margin:					0;
}

body .is-layout-flex > * {
	margin:					0 auto;
}

div[class*="col-"] {
	margin-top: 			8px;
	margin-bottom: 			8px;
}

.overlay {
	background-color: 		rgba(247, 247, 247, 0.7);
}

.opaque {
	background-color: 		rgba(247, 247, 247, 0.9);
}

.box-style {
	border-radius:			4px;
	border:					2px solid #ffffff;
}

.responsive {
	width: 					100%;
	height: 				auto;
}

img.align-right {
	float: 					right;    
	margin: 				0 0 0 15px;
}

img.align-left {
	float: 					left;    
	margin: 				0 15px 0 0;
}

img.align-none {
	float: 					none;    
	margin: 				5px 5px 5px 0;
}

/*
.wp-block-image img {
	margin-top:				10px;	
}
*/

.fade {
    opacity: 				0.5;
    transition: 			opacity .65s ease-in-out;
}

.fade:hover {
    opacity: 				1;
}

.parallax {
    background-attachment: 	fixed;
    background-position: 	center;
    background-repeat: 		no-repeat;
    background-size: 		cover;
}

.shadow {
	box-shadow: 			-1px 5px 10px 2px rgba(204,204,204,1);
}

.w-border {
	border:					2px solid #ffffff;
}

.collapse a:before, .collapse a.collapsed:before, div.post-date:before {
    font-family:            'Font Awesome 6 Free';
    font-weight:            900;
}


.material-symbols-outlined {
	font-size:				64px;
	vertical-align:			middle;
}

.zoom:hover {
	transform: 				scale(1.15);
	font-size: 				18px;
}

.zoom {
	transition: 			transform .2s;
}

.css-circle img {
	position:				relative;
	transition: 			background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
	margin: 				40px 0px 40px 0;
	--e-column-margin-right: 0px;
	--e-column-margin-left: 40px;
	padding: 				0px 0px 0px 0px;
	max-width: 				100%;
	height: 				auto;
	z-index: 				20;
}

.rotate-img, #b2f-twp img {
  -webkit-transform:rotate(15deg);
  -moz-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
  -o-transform: rotate(15deg);
  transform: rotate(15deg);
}

.divider {
	width:					62%;
	height:					2px;
}

hr.divide {
	width:					75%;
    margin: 				1rem 0 0.8rem 0;
    color: 					inherit;
    border: 				0;
	border-top:				3px solid #4feefa;
	padding:				5px 5px 5px 5px;
	opacity:				.75;
}

hr.wp-block-separator {
    border: 				none;
    border-top: 			1px solid;
    margin: 				1.1rem 0 1.5rem 0;
}


/* SITE POSTS STYLES */
#right-column .sidebar {
	height:					100%;
	font-size:				14px;
	background:				#f7f7f7;
	padding-top:			5px;
	padding-bottom:			5px;
}

#right-column .post-widget .item {
	padding:				5px 10px 25px 10px;	
}

#site-posts span.post-thumbnail { 
	display:				inline-block;
}

#right-column .post-date {
    font-size: 				14px;
	font-weight:			bold;
	margin:					4px 0 2px 0;
}

#right-column div.recent-posts img {
	width:					100%;
	max-width: 				65px;
	height:					auto;
	float:					left;	
	margin:					4px 10px 4px 0;
}

h1.the-category ul.post-categories, h1.the-category ul.post-categories li {
	margin-top: 			0;
    margin-bottom: 			0;
    padding-left: 			0;
}

h1.the-category ul.post-categories li, #right-column ul li {
	list-style-type:		none;
}

h1.the-category ul.post-categories li a, #right-column ul li a {
	text-decoration:		none;
	line-height:			20px;
}

.post-tags a {
	display:				inline-block;
	background:				#f7f7f7;
	font-size:				13px;
	line-height:			22px;
	text-transform:			uppercase;
	text-decoration:		none;
	border:					1px solid #cccccc;
	border-radius:			6px;
	padding:				2px 6px 2px 6px;
	margin:					5px 5px 5px 0;	
}

.post-tags a:hover {
	text-decoration:		underline;
}

.post-date {
	font-weight:			bold;
	margin:					5px 0 5px 0;
}


/* HOME PAGE */
/*
body.home {
	height:					890px;

	background-position: 	50% 40%;
	background-repeat: 		no-repeat;
	background-size: 		cover;
	text-align:				center;
}
*/

div#under-construction {
	height:					890px;
	background-image: 		url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.dev/svgjs' width='2000' height='1050' preserveAspectRatio='none' viewBox='0 0 2000 1050'%3e%3cg mask='url(%26quot%3b%23SvgjsMask1017%26quot%3b)' fill='none'%3e%3crect width='2000' height='1050' x='0' y='0' fill='rgba(67%2c 103%2c 147%2c 1)'%3e%3c/rect%3e%3cpath d='M0%2c637.993C116.844%2c611.532%2c166.895%2c476.36%2c251.855%2c391.894C316.509%2c327.616%2c407.302%2c286.025%2c439.73%2c200.818C471.468%2c117.423%2c445.194%2c25.736%2c424.211%2c-60.992C404.907%2c-140.781%2c373.412%2c-215.125%2c323.353%2c-280.187C270.905%2c-348.353%2c203.876%2c-398.932%2c130.136%2c-443.202C34.67%2c-500.515%2c-63.324%2c-610.678%2c-169.075%2c-575.816C-275.812%2c-540.629%2c-277.215%2c-386.58%2c-334.655%2c-289.98C-380.008%2c-213.707%2c-458.976%2c-155.64%2c-471.183%2c-67.746C-483.37%2c20.004%2c-419.775%2c96.39%2c-400.318%2c182.819C-374.295%2c298.413%2c-415.902%2c436.423%2c-337.652%2c525.396C-257.679%2c616.328%2c-118.105%2c664.74%2c0%2c637.993' fill='%23365276'%3e%3c/path%3e%3cpath d='M2000 1679.115C2113.861 1656.242 2198.056 1571.8229999999999 2301.766 1519.557 2420.9 1459.517 2577.45 1457.711 2654.885 1349.076 2734.802 1236.958 2758.941 1076.403 2709.139 948.0409999999999 2660.7200000000003 823.245 2503.781 788.9739999999999 2403.274 700.5609999999999 2319.947 627.261 2274.615 508.395 2169.36 473.21299999999997 2063.058 437.68100000000004 1946.166 470.83799999999997 1842.342 513.066 1745.314 552.53 1680.509 636.043 1601.093 704.345 1506.095 786.048 1380.6860000000001 839.066 1330.038 953.674 1273.31 1082.042 1257.261 1235.119 1308.855 1365.635 1361.308 1498.326 1478.825 1599.835 1608.766 1658.772 1730.151 1713.828 1869.324 1705.366 2000 1679.115' fill='%23517cb0'%3e%3c/path%3e%3c/g%3e%3cdefs%3e%3cmask id='SvgjsMask1017'%3e%3crect width='2000' height='1050' fill='white'%3e%3c/rect%3e%3c/mask%3e%3c/defs%3e%3c/svg%3e");

	background-repeat: 		no-repeat;
	background-size: 		cover;
	color:					#ffffff;
	text-align:				center;
}

div#under-construction .welcome {
	height:					100%;
	display: 				flex;
	justify-content: 		center;
	align-items: 			center;
}


div#under-construction a {
	color:					#ffffff;
	text-decoration:		none;
}

div#under-construction a, div#under-construction a:hover {
	color:					#ffffff;
}

div#under-construction .row {
	height:         		100%;
}

div#under-construction .contact-details {
	width:      			100%;
	height:         		100%;
	background-color:   	rgba(0, 0, 0, 0.65);
	font-size:     			22px;
	line-height:    		34px;
	color:         			#ffffff;
	padding:      			50px 25px 55px 25px;
	border:    				1px solid #ffffff;
	border-radius:  		5px;
}

div#under-construction h1 {
	font-size:    			40px;
	line-height:   			48px;
	color:         			#ffffff;
	font-weight:			500;
	margin-bottom:  		5px;
}

div#under-construction .header {
	font-size:    			28px;
	line-height:   			38px;
	color:         			#ffffff;
	text-transform:   		uppercase;
}

.note {
	color:					#ffffff;
	line-height:   			28px;
	margin:   				2px 0 25px 0;
}

.phone {
	font-size:    			32px;
}


/* CONTACT PAGE / FORMS / DEFAULT STYLES */
.wpcf7 {
    margin: 				0 0 4px 0;
}
	
.wpcf7-spinner {
    background-color: 		#23282d;
    opacity: 				0.75;
    width: 					24px;
    height: 				24px;
    margin: 				0 4px;
}

.wpcf7 form .wpcf7-response-output {
	font-size:				15px;
	text-align:				center;
    margin: 				0.1em 0.5em 1em;
    padding: 				0.2em 0.5em;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color:			#dc3232;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color:			#ffd504;
}

.wpcf7 label {
	margin-top: 			0.2rem;
    margin-bottom: 			0.7rem;
}

.wpcf7 input, .wpcf7 textarea, .wpcf7 select, input {
    background-color: 		#fff;
    color: 					#000;
	border: 				1px solid #cccccc;
	border-radius:			3px;
	padding:				7px 6px 7px 6px;
}

input[type="checkbox"] {
	margin:					0 2px 0 0;
}

.wpcf7-text:focus, .wpcf7-textarea:focus, .wpcf7 select:focus, input[type="date"]:focus, input:focus {
	outline: 				1px solid #cccccc;
	outline:				1px solid #cccccc;
}

.wpcf7-not-valid-tip {
    color: 					#dc3232;
    font-size: 				0.8em;
    font-weight: 			bold;
}

::-ms-input-placeholder {
	font-size:				15px;
	color: 					#a5a5a5;
	opacity: 				1; /* Firefox */
}

::-ms-input-placeholder {
	font-size:				15px;
	color: 					#a5a5a5;
	opacity: 				1; /* Firefox */
}

::placeholder {
	font-size:				15px;
	color: 					#a5a5a5;
	opacity: 				1; /* Firefox */
}
	

/* CONTACT PAGE */
#contact-page br {
	display:				none;	
}

#contact-page {
	text-align:				center;
}

div.contact-form {
	width:					100%;
	background-color:   	rgba(0, 0, 0, 0.2);
	border-radius:			4px;
	padding:				15px 22px 15px 22px;
	border:					1px solid #f7f7f7;
	margin-bottom:			15px;
}

div.contact-form input, div.contact-form label, div.contact-form textarea {
	width: 					100%;
	text-align:				center;
}

div.contact-form input[type="submit"] {
	width: 					auto;
}

div.contact-form label.text {
	display:				inline-block;
	width:					31.9%;
	margin:					10px 5px 10px 5px;
}

div.contact-form label.textarea {
	width:					99%;
	margin:					5px 5px 5px 5px;
}

div.contact-form textarea {
    padding: 				8px 7px 8px 7px;
}

div.contact-info {
	text-align:				center;
}

div.contact-info span {
	display:				block;
}

div.contact-info span.business-name {
	font-weight:			bold;
	margin:					5px 0 5px 0;
}

div.contact-info span.phone {
	margin:					5px 0 5px 0;
}

i.social {
	font-size:    			26px;
	color:     				#000000;
	margin:					5px 16px 5px 0;
}

.grecaptcha-badge {
	visibility: 			hidden;
}

.google-tos {
	font-size:				13px;
	color:     				#ffffff;
	text-align:				center;
	padding:				8px 7px 8px 7px;
	margin:					2px 0 5px 0;	
}


/* POST PAGE PAGINATION */
#paginator a.page-numbers, #paginator span.page-numbers {
	display:				inline-block;
	font-size:				16px;
	line-height:			26px;
	text-decoration:		none;
    margin: 				2px 10px 2px 0;
	padding:				1px 8px 1px 8px;
	border:					1px solid #cccccc;	
}

#paginator span.current, #paginator a.page-numbers:hover {
	background:				#2e6499;
	color:					#ffffff;
}

#paginator a:hover {
	text-decoration:		none;
}

.pagination {
	padding-left:			15px;
	padding-right:			15px;	
}


a.goback {
	display:				block;
	text-decoration:		none;
	text-transform:			uppercase;
	margin: 				0 0 25px 0;
}

a.goback:hover {
	text-decoration:		underline;
}

a.goback:before {
	font-family: 			'Material Symbols Outlined';
	content:				"\e5cb";
	font-size:				32px;
	vertical-align:			middle;
	margin-left: 			-12px;
}


/* REVEAL ANIMATION */
.reveal {
	position: 				relative;
	transform: 				translateY(150px);
	opacity: 				0;
	transition: 			0.9s all ease;
}

.reveal.active{
	transform: 				translateY(0);
	opacity: 				1;
}


/* RESPONSIVE MEDIA */
#media video, #map {
    width: 					100%;
    height: 				auto;
}

#media video[poster] {
    width: 					100%;
    height: 				auto;
}

#media iframe,
#media object,
#media embed,
#map iframe {
	width:					100%;
/*	height:					100%;
	position:				absolute; */
	top:					0;
	left:					0;
	border:					none;
}


/* COLLASPE CONTENT */
.collapse a:before, .collapse a.collapsed:before {
	font-family: 			"Font Awesome 6 Free";
	font-weight: 			900;
}

a.fee-header:after,  a.fee-header.collapsed:after {
	font-family: 			'Material Symbols Outlined';
	font-size:				32px;
	font-weight:			400;
	color:					#ffffff;
	vertical-align:			middle;
}

.collapse {
	margin-top:				4px;
	margin-bottom:			8px;
}

.collapse a:before, .collapse a.collapsed:before {
	font-size:				18px;
	color:					#44225c;
}

.collapse a:before {
    content:                "\f068";
    padding-right:          5px;
}

a.collapse:before {
    content:                "\f067";
}

.collapse > a,
.collapse > a:hover, 
.collapse > a:active, 
.collapse > a:focus  {
    text-decoration:        none;
}

.collapse a, .collapse a:active, .collapse a:focus {
    outline: 				none; 
}


/* START LEADERS */
ul.leaders {
	padding-left:       	0;
	margin-top:				2px;
}

ul.leaders li {
	padding-left:       	0;
	margin-bottom:			6px;
	list-style-type:		none;
}

ul.leaders li:before {
    float: 					left;
    width:              	0;
    white-space: 			nowrap;
    content:
 ". . . . . . . . . . . . . . . . . . . . "
 ". . . . . . . . . . . . . . . . . . . . "
 ". . . . . . . . . . . . . . . . . . ."
}

ul.leaders span:first-child {
    padding-right: 			0.33em;
	background-color:		#ffffff;
}

ul.leaders span + span {
    float: 					right;
    padding-left:       	0.33em;
	background-color:		#ffffff;
}

ul.leaders span + span, ul.leaders span:first-child {
	background-color:		#f7f7f7;
}

ul.leaders li {
	margin-bottom:			12px;
}


/* BUTTON STYLE */
.button, a.button, input[type="submit"], input[type=button] {
	position:				relative;
	display:				inline-block;
	font-size: 				1.3em;
	font-weight:    		normal;
	font-weight:    		300;
	background-color:		#983555;
	color:					#ffffff;
	padding: 		        10px 22px 10px 22px;
	margin:					5px 0 5px 0;
	text-transform:			uppercase;
	border-radius:			1px;
	border:					none;
	text-shadow:			none;
	box-shadow:				none;
}

.button, a.button, p.button a, a.button:visited {
	text-decoration:		none;
	color:					#ffffff;
}

.button:hover, a.button:hover, input[type="submit"]:hover {
	background-color:		#333333;
	color:					#ffffff;
}

ul, ol {
	margin-top:				15px;
	margin-bottom:			18px;
	padding-left:       	32px;
}

li {
    line-height:   			22px;
	margin-bottom:			10px;
	padding-left:       	8px;
}

ul.checkmarkList {
    list-style: 			none;
	padding-left: 			6px;
}
 
ul.checkmarkList li:before {
    color: 					#2e6499;
    content: 				'✓ ';
    font-size: 				1.2em;
    font-weight: 			bold;
}


/* MOBILE VIEW */
/* Extra Large Devices (large laptops and desktops - 1440px and LESS) */
@media (max-width: 1440px) {

}

/* Large Devices (laptops/desktops - 1024px and LESS) */
@media (max-width: 1024px) {
	.container { padding-top: 15px; padding-bottom: 15px; }
	h1 { font-size: 38px; line-height: 44px; margin: 4px 0 8px 0; }
	h2 { font-size: 34px; line-height: 36px; margin: 25px 0 5px 0; }
}

/* Medium Devices (tablets - 768px and LESS) */
@media (max-width: 768px) {
	h1 { font-size: 34px; line-height: 40px; margin: 4px 0 8px 0; }
	h2 { font-size: 32px; line-height: 34px; margin: 15px 0 5px 0; }
}

/* Extra Small Devices (phones - 480px and LESS) */
@media (max-width: 480px) {
	div#under-construction .contact-details { padding: 50px 5px 55px 5px; }
	.nobr { white-space: normal; }
	.container { padding-bottom: 15px; }
	.divider { width: 34%; }
} 


 /* Turn off parallax scrolling for all tablets and phones. Increase/decrease the pixels if needed
@media only screen and (max-device-width: 1366px) {
  .parallax {
    background-attachment: scroll;
  }
} 
 */