/*
Theme Name:		Dojo
Author:			Kicking Pixels
Author URI:		https://kickingpixels.com.au/
Description:	Dojo Site Theme for BedRock based website
Version: 		4.0.5
Text Domain: 	bedrocktheme 
*/

/* INLINE CSS */
/* ======================== */

/* Wrap ROOT VARS */
	:root { 
		--wrap-wide: 1850px; 
		--wrap: 1650px; 
		--wrap-narrow: 900px; 
	}
	.wrap-wide { margin: 0 auto; max-width: calc(100% - 2*var(--horspace) ); }

	/*Skip to the content*/
	.skip-link { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
	.skip-link:focus { position: absolute; top: 5px; left: 5px; width: auto; height: auto; z-index: 999; background-color: #62d696; color: #ffffff; font-size: 14px; line-height: 15px; padding: 10px 15px; } 

	/* Typography */
	@font-face {
		font-family: 'IBMPlexSans-Bold';
		src: url('fonts/IBMPlexSans-Bold.ttf') format('truetype');
		font-style: normal;
		font-display: swap;
	  }
	  
	  @font-face {
		font-family: 'IBMPlexSans-Medium';
		src: url('fonts/IBMPlexSans-Medium.ttf') format('truetype');
		font-style: normal;
		font-display: swap;
	  }
	  
	  @font-face {
		font-family: 'IBMPlexSans-Regular';
		src: url('fonts/IBMPlexSans-Regular.ttf') format('truetype');
		font-style: normal;
		font-display: swap;
	  }
	  
	  @font-face {
		font-family: 'IBMPlexSans-Light';
		src: url('fonts/IBMPlexSans-Light.ttf') format('truetype');
		font-style: normal;
		font-display: swap;
	  }
	  

	/* Body and Paragraphs */
	body, p { font-family: 'IBMPlexSans-Light'; font-weight: 300; font-size: 18px; line-height: 30px; } /*normal*/
	.body2 p { font-family: 'IBMPlexSans-Light'; font-size: 14px; line-height: 1.6em; } /*downsize*/
	.Lead2 p { font-family: 'IBMPlexSans-Light'; font-size: 18px; line-height: 1.7em; } /*enlarge text*/

	/* Headings */
	h1 { font-family: 'IBMPlexSans-Bold'; text-transform: uppercase; font-size: 50px; line-height: 70px; }
	h2 { font-family: 'IBMPlexSans-Bold'; text-transform: uppercase; font-size: 22px; line-height: 30px; }
	h3 { font-family: 'IBMPlexSans-Bold'; text-transform: uppercase; font-size: 20px; line-height: 26px; }
	h4 { font-family: "IBMPlexSans-Bold"; font-size: 18px; line-height: 1.5em; }
	h5 { font-family: "IBMPlexSans-Bold"; font-size: 16px; line-height: 1.6em; }
	h6 { font-family: "IBMPlexSans-Bold"; font-size: 14px; line-height: 1.7em; }

	strong { font-weight: 700; }
	.editor-content a { text-decoration-line: underline; }
	.editor-content a:hover { color: var(--light);}
	.small { font-size: 14px; line-height: 19px; font-family: neue-haas-grotesk-text, sans-serif; font-weight: 400; }
	.small-italic { font-size: 14px; line-height: 19px; font-style: italic; }
	.small-strong { font-size: 14px; line-height: 19px; font-weight: 700; }
	.small-link { font-size: 14px; line-height: 19px; text-decoration-line: underline; }
	.abbreviation { font-size: 16px; line-height: 24px; font-weight: 400; }
	
	/* Buttons, Links and Inputs Focus */
	.mwa-bttn { font-family: 'IBMPlexSans-Bold';  font-size: 18px; line-height: 24px; padding: 15px 20px; }
	.mwa-bttn.large { max-width: 600px; width: 100%; }
	a { opacity: 1; } 
	.clr-red { color: var(--red); }
	.border-bottom-red { border-bottom: 10px solid var(--red); }

	/* Site Header */
	.site-header {
		box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.05);
	}
	.mwa-menu-main > li > a {
		font-family: 'IBMPlexSans-Bold';
		text-transform: uppercase;
	}
	.mwa-menu-footer li a,
	.mwa-menu-main li a {
		font-size: 18px !important;
		line-height: 24px !important;
	}
	.mwa-menu-main > li > a {
		padding: 35px 18px !important;
	}
	.mwa-menu-footer li a,
	.mwa-menu-main > li > a {
		font-family: 'IBMPlexSans-Bold'; 
		text-transform: uppercase;
	}
	.mwa-menu-main li .sub-menu li a {
		font-family: 'IBMPlexSans-Medium'; 
		position: relative;
		padding: 25px;
	}
	.mwa-menu-main li a :hover,
	.mwa-menu-main .current-menu-ancestor > a ,
	.mwa-menu-main .current-menu-item {
		color: #ffffff;
		background-color: var(--red);
	}
	.menu-overlay.on {
		background-color: var(--dark);
    	color: #ffffff;
	}

	/* Site Footer */
	.site-footer .form img {width: auto;height: auto;margin: auto;}
	.site-footer .form a {color: var(--red);text-decoration: none;}
	.site-footer > *:not(:first-child) { border-top: 1px solid rgb(255 255 255 / 20%); }
	.site-footer .social-profiles {justify-content: center;}

	.site-footer .contact-form .section-col .shc-content {
		margin-top: 40px;
	}
	.site-footer .editor-content a {
		text-decoration: none;
	}
	.site-footer .copyright-wrapper {
		padding: 20px 15px;
	}
	.site-footer .copyright-wrapper .site-logo {
		margin-bottom: 30px;
		justify-content: center;
	}
	.site-footer .copyright {
		font-family: 'IBMPlexSans-Light';
	}
	.site-footer .mwa-menu-footer a {
		font-family: 'IBMPlexSans-Bold';
    	text-transform: uppercase;
	}
	.site-footer .mwa-menu-footer li a:hover,
	.site-footer .mwa-menu-footer .current-menu-item a {
		color: var(--red);
	}
	.site-footer .mwa-menu-footer, .copyright { text-align: center; }
	.site-footer .copyright {
		margin-top: 30px !important;
	}
	.mwa-menu-footer li~li {
		margin-top: 20px;
	}
	.site-footer .mwa-form-wrap {
		display: flex;
		flex-direction: column;
	}

	/* Main */

	/* Custom Sections */
	.top-banner .banner-media-bgr figure:after {
		background: rgba(25, 25, 25, 0.5);
	}

	.layout-three-cols .section-col.boxed {
		padding: 0px;
	}
	.box-color-solid .editor-content,
	.box-color-solid .mwa-bttns {
		padding-left: 30px;
		padding-right: 30px;
	}
	.box-color-solid .mwa-bttns {
		padding-bottom: 30px;
	}

	.border-bottom-red {
		border-bottom: 10px solid var(--red);
	}
	
	figure .size-thumbnail {
		width: auto;
		height: auto;
		margin: auto;
	}

	/*Top Banner */
	.mwa-banner-slider .slide-wrap {
		display: block;
		padding: 150px 0 550px 0 !important;
	}
	.top-banner { position: relative; }
	.top-banner.banner-slider {
		padding: 0;
		border-bottom: 10px solid #F14141;
	}
	.top-banner .banner-media-bgr figure:after {
		background: rgba(25, 25, 25, 0.5);
	}
	.mwa-banner-slider .sign-up .content-wrapper {
		min-height: unset;
		padding: 0 !important;
	}
	.top-banner .slide-wrap .editor-content > *:last-child {
		font-family: IBMPlexSans-Regular;
		margin: 0;
		text-transform: none;
	}
	.mwa-banner-slider .page-section { position: absolute; right: 0; left: 0; bottom: 25px; padding-right: 15px; padding-left: 15px; }
	.mwa-banner-slider .page-section h2 { color: var(--dark); }
	.mwa-banner-slider .page-section .content-wrapper { max-width: 1400px; margin: auto; }

	.mwa-banner-slider .slider-nav {
		position: absolute;
		z-index: 3;
		left: 0;
		top: 40%;
		transform:translateY(-40%);
		width: 100%;
	}
	.mwa-banner-slider .slider-nav-wrap {
		display: flex;
		justify-content: space-between;
	}
	.mwa-banner-slider .slider-nav .nav-bttn {
		margin-top: -30px;
		position: static;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		background: rgb(255 255 255 / 30%);
		transition: background 0.2s ease;
	}
	.mwa-banner-slider .content-wrapper {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		color: #fff;
		text-align: center;
	}
	/*Testimonial*/
	.testimonials-slider .testimonial-contents::before {
		content: url(images/quote.png);
		width: 90px;
		height: 60px;
		display: block;
		margin: 0 auto 35px auto;
	}
	
	.testimonials .img-wrap.media-wrap img {
	  -webkit-filter: grayscale(100%);
	  filter: grayscale(100%);
	}
	.testimonials .img-wrap.media-wrap::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(25, 25, 25, 0.5);
	}
	.testimonials-slider .slick-slider {
		padding: 0 !important;
	}
	.testimonials-slider h2 {
		color: white !important;
		font-size: 30px;
		line-height: 45px;
	}
	.testimonials-slider .testimonial-info .name {
		color: white !important;
		font-size: 30px;
		line-height: 39px;
	}
	.testimonials-slider .slick-slide {
		background: none !important;
	}
	.testimonial-contents {
		max-width: 100%;
	}
	.testimonials-slider .slick-arrow {
		width: 80px;
		height: 80px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgb(255 255 255 / 30%) !important;
		z-index: 50;
	}
	.testimonials-slider .slick-prev:hover, 
	.testimonials-slider .slick-prev:focus, 
	.testimonials-slider .slick-next:hover, 
	.testimonials-slider .slick-next:focus {
		background: rgb(0 0 0 / 76%) !important;
	}


	.layout-testimonials .slick-dots li button:hover, .layout-testimonials .slick-dots li.slick-active button {
		background: var(--red);
	}
	.layout-testimonials .slick-dots button {
		border: 1px solid var(--red);
	}

	/*Quote section*/
	blockquote { background-color: #2a56f1; color: #ffffff; padding: 3em 2em 3em; margin: 1.5em 0; position: relative; }
	blockquote::before { content: "\f10e"; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: #ffffff; font-size: 40px; line-height: 36px; position: absolute; top: 10px; right: 10px; }


	/* Custom Post Types */

	/* Gravity Form */
	select,
	textarea,
	input[type="tel"],
	input[type="date"],
	input[type="number"],
	input[type="email"],
	input[type="text"] { 
		font-family: 'IBMPlexSans-Medium' !important;
		font-size: 18px !important;
		line-height: 24px !important;
		color: #ffffff !important;
		background: #F14141 !important;
		border: 1px solid #D22929 !important;
		border-radius: 2px !important;
		padding: 22px 25px !important;
	}
	::placeholder { color: #ffffff; }
	.gform_legacy_markup_wrapper ul.gform_fields {
		display: flex !important;
		flex-direction: column;
		grid-gap: 20px;
	}
	.mwa-gf-2-columns_wrapper .gform_fields {
		grid-gap: 20px !important;
		list-style: none !important;
	}
	.gform-body .gfield_label {
		display: none;
	}
	select {
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  text-indent: 1px;
	  text-overflow: '';
	}

	.mwa-gf-form_wrapper .mwa-gf-submit-bttn {
		display: flex;
	}

	.gform_button,
	.gform-button {
		background: var(--dark) !important;
		font-family: 'IBMPlexSans-Bold' !important;
		font-size: 18px !important;
		line-height: 24px !important;
		border-radius: 2px !important;
		text-transform: uppercase !important;
		padding: 15px 20px !important;
		width: fit-content !important;
		display: block !important;
		margin: 0 !important;
		border: 1px solid #191919 !important;
	}
	.gform-loader {
		display: none !important;
	}
	.mwa-gf-form_wrapper .gform_footer {
		align-self: center;
	}

	.gform_legacy_markup_wrapper.mwa-gf-inline_wrapper ul.gform_fields li.gfield {
		margin-top: 0 !important;
		padding: 0;
	}
	body .gform_legacy_markup_wrapper .top_label div.ginput_container {
		margin-top: 0 !important;
	}
	.gform_legacy_markup_wrapper li.hidden_label input {
		margin-top: 0 !important;
	}
	.gform_legacy_markup_wrapper .gform_footer {
		display: block !important;
		padding: 0 !important;
		margin: 0 !important;
		clear: unset !important;
		width: unset !important;
	}
	.gform_legacy_markup_wrapper {
		margin-bottom: 0 !important;
	}
	.sign-up .gform-button {
		padding: 20px 25px !important;
		width: 100% !important;
	}
	.sign-up .gform-button:hover {
		opacity: 0.7;
	}

	

@media only screen and (min-width: 768px) {
	h1 { font-size: 70px; line-height: 95px; }
	h2 { font-size: 25px; line-height: 34px; }
	/* Top Banner */
	.mwa-banner-slider .slide-wrap {
		display: block;
		padding: 300px 0 600px 0 !important;
	}
	.mwa-banner-slider .slider-nav .nav-bttn {
		width: 80px;
		height: 80px;
	}
	.mwa-banner-slider .page-section { padding-right: 30px; padding-left: 30px; }
	.site-footer .copyright-wrapper {
        padding: 30px;
    }
	/*Testimonial*/
	.testimonials-slider h2 {
		font-size: 40px;
		line-height: 55px;
	}
	.testimonial-contents {
		max-width: 90%;
	}
}

@media only screen and (min-width: 992px) {
	.site-header .desk-header .main-header {
        padding: 0 8px 0 20px;
    }
	.site-header .custom-link {
		border-radius: 4px;
		margin: 10px 0;
	}
	.top-bar-section {
        position: relative;
        z-index: 12;
        padding: 8px 8px 8px 20px;
    }
	.top-bar-section .mwa-phone {
		padding: 10px;
        background-color: rgb(255 255 255 / 20%);
        border-radius: 2px;
	}
	.top-bar-col {
		display: flex;
		gap: 7px;
	}
	.main-header-r {
        align-items: unset;
    }
	.mwa-menu-main li:not(.menu-item-has-children) a:hover, .mwa-menu-main .current-menu-item:not(.menu-item-has-children) a {
        color: #ffffff;
        background-color: var(--red);
    }
	.mwa-menu-main li .sub-menu {
		color: #ffffff;
		background-color: var(--red);
		border: 1px solid #D22929;
		border-radius: 0px 0px 2px 2px;
	}
	.mwa-menu-main > .menu-item-has-children:hover > a:before,
	.mwa-menu-main > .menu-item-has-children.current-menu-ancestor > a:before {
		content: "";
		position: absolute;
		z-index: 1;
		bottom: 17px;
		right: 0;
		left: 0;
		width: 75%;
		height: 5px;
		background: #E4E4E4;
		margin: auto;
	}
	.mwa-menu-main li .sub-menu li a:hover:before,
	.mwa-menu-main li .sub-menu .current-menu-item a:before {
		content: "";
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgb(255 255 255 / 10%);
	}


	.site-footer .copyright-wrapper .content-wrapper {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.site-footer .copyright-wrapper .footer-l {
		display: flex;
		align-items: center;
	}
	.site-footer .copyright-wrapper .site-logo {
		margin-right: 30px;
		margin-bottom: 0;
		justify-content: unset;
	}
	.site-footer .mwa-menu-footer {
		display: flex;
		align-items: center;
	}
	.site-footer .copyright {
		margin-top: 0 !important;
	}
	.mwa-menu-footer li~li {
		margin-top: 0;
	}
	.mwa-menu-footer li {
		margin-right: 15px;
	}

	.mwa-banner-slider .content-wrapper {
		padding: 140px 0px;
	}
	.mwa-banner-slider .slide-wrap {
        padding: 145px 0 350px 0 !important;
    }

	.mwa-gf-form_wrapper.mwa-gf-inline_wrapper .gform_fields {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: center;
    }

	.sign-up .gform-button {
		font-size: 20px !important;
        line-height: 26px !important;
        padding: 20px 25px !important;
	}

	.gform_legacy_markup_wrapper ul.gform_fields {
		flex-direction: row;
		grid-gap: 20px;
	}

}

@media only screen and (min-width: 1024px) {
	body { font-size: 20px; line-height: 34px; }
	.mwa-bttn { font-size: 20px; line-height: 26px; padding: 20px 25px; }
	select,
	textarea,
	input[type="tel"],
	input[type="date"],
	input[type="number"],
	input[type="email"],
	input[type="text"] { 
		font-size: 20px !important;
		line-height: 26px !important;
		padding: 20px 25px !important;
	}
	.gform_button {
		font-size: 20px !important;
        line-height: 26px !important;
        padding: 20px 25px !important;
	}

	.site-footer select, 
	.site-footer textarea, 
	.site-footer input[type="tel"], 
	.site-footer input[type="date"], 
	.site-footer input[type="number"], 
	.site-footer input[type="email"], 
	.site-footer input[type="text"] { 
		padding: 32px 25px !important;
	}
}

@media only screen and (min-width: 1200px) {
/* Typography */	
	h1 { font-size: 90px; line-height: 117px; }
	h2 { font-size: 30px; line-height: 39px; }
	/*Testimonial*/
	.testimonials-slider h2 {
		font-size: 50px;
		line-height: 65px;
	}
}
@media only screen and (min-width: 1400px) {
	.mwa-menu-footer li {
		margin-right: 30px;
	}
	.mwa-menu-footer li a,
	.mwa-menu-main li a {
		font-size: 20px !important;
		line-height: 26px !important;
	}
}