:root {
  --red: #e81e1f;
	--font1: Poppins;
	--font2: Lora;	
}

.font1 {
	font-family: var(--font1);
}

.font2 {
	font-family: var(--font2);
}

.fit-content {
	width: fit-content;
}

.mw-700 {
	max-width: 700px;
}

.mw-800 {
	max-width: 800px;
}

.mw-900 {
	max-width: 800px;
}

.mw-1000 {
	max-width: 1000px;
}

.mw-1100 {
	max-width: 1100px;
}

.mw-1200 {
	max-width: 1200px;
}

.mw-1300 {
	max-width: 1300px;
}

.mw-1600 {
	max-width: 1600px;
}

.mw-1800 {
	max-width: 1800px;
}


.w-100 img {
	width: 100%;
	height: auto;
}

body,
button,
input,
select,
optgroup,
textarea {
	font-size: 1.2rem;
}

.par-justify {
	text-align: justify;
}

h1 {
    font-family: var(--font2);
    font-size: 56px !important;
    line-height: 60px;
}

h2 {
	font-family: var(--font2);
	font-size: 48px !important;
	line-height: 54px;
	font-weight: bold;
}

h3 {
	font-family: var(--font2);
	font-size: 40px !important;
	line-height: 48px;
	font-weight: bold;
}

h4, h5, h6 {
	font-family: var(--font1);
}

p, li {
    font-family: var(--font1);
    font-size: 20px;
}

.large-width {
	width: 100%;
	max-width: 1800px;
}

.main-navigation {
	background-color: var(--red);
	color: #fff;
	padding: 15px;	
}

.main-navigation a {
	color: white;	
	font-size: 24px;
	line-height: 30px;
	font-family: var(--font1);
}

.site-header {
    background: linear-gradient(to right, #ffffff 50%, var(--red) 50%);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9;
}

main {
    margin-top: 150px;
}

.main-navigation {
  position: relative;
}

.main-navigation::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 86px;
    height: 150px;
    background: url(images/nav-corner.png) no-repeat top left;
    background-size: cover;
    pointer-events: none;
    z-index: 1;
}

.custom-logo-link {
    margin: auto;
    text-align: center;
    display: block;
}

nav {
	min-height: 150px !important;
	display: flex !important;
    padding-left: 40px !important;
	align-items: center;
}

.menu-toggle, .main-navigation.toggled ul {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.menu-main-container ul li:last-child a {
    background-color: white;
    border-radius: 25px;
    color: black;
    font-weight: bold;
}

.mobile-menu.toggled {
	padding: 25px 15px !important;
}

header h1 {
	display: none;
}

.menu .sub-menu {
    display: flex;
    flex-direction: column;
    background-color: white;
    border: 2px solid white;
}

.menu .sub-menu a {
	color: black;
}

.menu .sub-menu li:last-child a {
    font-weight: inherit;
    border-radius: inherit;
    background-color: inherit;
}

.menu .sub-menu li:hover a {
	background-color: black;
	color: white;
}

.custom-logo {
    max-height: 120px;
    width: auto;
}

.site-footer {
    border-top: 20px solid var(--red);
    padding: 30px 0 0;
}

.site-footer .custom-logo, .site-footer .site-branding a {
    max-height: max-content;
    width: 100%;
	max-width: 450px;
}

.site-footer h5 {
	font-weight: bold;
	font-family: var(--font1);
	color: var(--red);
}

.divider {
	width: 100%;
    max-width: 100%;
    height: 40px;
	margin: 0;
}

.hero-image {
    min-height: 400px;
}

.wp-block-spacer.red {
	background-color: var(--red);
}

.post, .page {
    margin: 0;
}

.no-top-bottom-margin {
	margin-top: 0;
	margin-bottom: 0;
}

ul.iconized {
  list-style: none; /* remove default bullets */
  padding-left: 0;
	margin-left: 0;		
}

ul.iconized li {
    position: relative;
    padding: 8px 0 8px 35px;
}

ul.iconized li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20px;
    width: 30px;
    height: 30px;
    background: url(images/iconized.png) no-repeat center center;
    background-size: contain;
    transform: translateY(-20%);
}

.round-borders {
	border-radius: 20px;
}

.padded {
    padding: 45px 30px 20px;
}

.gap {
	gap: 20px;
}

.star-ratings img.star-icon {
    width: 200px;
    vertical-align: top;
    margin-right: 4px;
    margin-bottom: -50px;
}

/* Default: show star image */
.star-wrapper {
  display: inline-block;
	color: #f5ae00;
}

.d-center {
	text-align: center;
	margin: auto !important;
}

.shadow-bottom {
	position: relative;
}

.shadow-bottom::after {
    content: "";
    display: block;
    width: 100%;
    max-width: 400px;
    height: 50px;
    background-image: url(../css/images/shadow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    margin: auto;
}

.padded-full {
	padding-left: 15px;
	padding-right: 15px;
}

.wp-element-button:hover {
	color: black !important;
	background-color: white !important;
	border: 2px solid black !important;
}

.wp-element-button {
	border: 2px solid transparent !important;
}

.has-border {
	border: 4px solid white;
	border-radius: 10px;
}

.has-padding {
	padding: 20px 15px;
}

.google-rating {
	margin-bottom: -5px;
}

.faq-group {
    max-width: 1750px;
    margin: auto;
    border-bottom: 2px solid white;
}

.faq-group .answer {
	display: none;
}

.faq-group .answer.active {
	display: block;
}

.faq-group .question {
    font-size: 28px;
    line-height: 36px;
    font-weight: bold;
    margin: 0;
    padding: 30px 0;
	position: relative;
}

.faq-group:hover {
	cursor: pointer;
}

.mw-1200 {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.phone-link a {
    font-weight: bold;
    color: var(--red);
}

.page-id-643 .g-review-wrapper {
	background-color: #f3f3f3;
}

.form-section .fld {
    margin-bottom: 0;
    min-height: 60px;
    border-radius: 10px;
    padding: 16px 30px;
}

.form-section input::placeholder {
	color: black;
}

.form-section .wpcf7-submit {
    width: 100%;
    padding: 19px;
    border-radius: 10px;
    background-color: var(--red);
    border: 2px solid var(--red);
    color: white;
    font-weight: bold;
}

.form-section .wpcf7-submit:hover {
	cursor: pointer;
	background-color: white;
	border: 2px solid white;
	color: black;
}

.form-section .wpcf7-spinner {
    background-color: var(--red);
    margin: auto;
    left: 48%;
	top: 20px;
}

footer h2 {
	font-family: var(--font1);
	font-size: 20px !important;
	line-height: 24px;
}

.site-footer .site-branding a {
    padding: 5px 0;
    font-size: 14px;
    line-height: 16px;
    color: black;
}

.site-footer .menu li {
	width: 100%;
}

.small-par {
    font-size: 22px;
    line-height: 32px;
}

.site-footer .site-branding a:hover {
	color: var(--red);
}

.site-footer .grid-container {
	border-bottom: 1px solid black;
}

.site-footer .wp-social-link svg {
	width: 30px;
	height: 30px;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link {
    background-color: transparent;
    color: black;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook {
    color: blue;
}

.copyright-section {
    max-width: 1200px;
    margin: auto;
    text-align: center;
    font-size: 14px;
    line-height: 16px;
    padding: 10px;
}

.page-content, .entry-content, .entry-summary {
    margin: 0;
}

.post-thumbnail {
	border-top: 20px solid var(--red);
}

.image-left {
    float: left;
    margin: 10px 30px 10px 0;
    max-width: 50%;
}

.image-right {
    float: right;
    margin: 10px 0 10px 30px;
    max-width: 50%;
}

.map-crop {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 20px;
}

.map-crop iframe {
    width: 100%;
    height: 577px;
    margin-top: 0;
}

.large-par {
	font-size: 25px;
}

h1.has-background, h2.has-background, h3.has-background, h4.has-background, h5.has-background, h6.has-background {
    padding: 1.8rem 1rem;
}


.hero-image img {
    width: auto;
    position: absolute;
    height: 100%;
    max-height: 580px;
    right: 0;
    top: -50px;
    bottom: 0;
    margin: auto;
}

.menu-main-container {
	padding: 0 15px;
	width: 90%;
}

.main-navigation ul {
    display: flex;
    justify-content: space-between;
}

.hero-col1-wrapper {
    max-width: 1000px;
	padding-left: 15px;
	padding-right: 15px;
}


#site-navigation {
	justify-content: flex-end;
}

.faq-group .question::after {
  content: "";
  width: 35px;
  height: 35px;
  background: url("data:image/svg+xml;utf8,<svg fill='%23ffffff' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5'/></svg>") no-repeat center;
  position: absolute;
  bottom: 10%;
  transform: translateY(-50%);
}

.faq-group.active .question::after {
  transform: translateY(-50%) rotate(180deg);
}

b, strong {
    font-weight: 800;
 }

.post-thumbnail {
	display: none;
}

.as-featured-image {
	border-top: 20px solid var(--red);
}

.info-box {
    padding: 20px;
    border-radius: 20px;
    border: 2px solid var(--red);
    font-family: var(--font2);
}

.is-style-rounded img {
	border-radius: 20px;
	border: 2px solid var(--red);
}

.fs-content {
	min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.fs-padded {
	padding: 20px;
}

.header-fullwidth, .hero-fullwidth {
    width: 100%;
    max-width: 1800px;
}

.header-fullwidth {
	padding: 0;
}

.site-branding {
	padding: .9375rem;
}

.hero-template {
	position: relative;
}

header .grid-x {
	justify-content: flex-start;
}

.drv-wrapper {
    background-color: #f2f2f2;
    padding: 0 3% 30px;
	border-radius: 20px;
	height: fit-content;
}

.drv-wrapper p {
    font-size: 20px;
    line-height: 35px;
}

.drv-wrapper p strong em {
	color: var(--red);
}

.drv-wrapper h3 {
    font-size: 35px !important;
    line-height: 58px;
    margin-bottom: 10px;
    margin-top: -30px;
}

.d-reverse {
	flex-direction: row-reverse;
}

.form-par {
	line-height: 40px;	
}

.form-section h2 {
	line-height: 65px;
}

.form-section .form-img img {
    max-height: 190px;
}
.founder-section {
	background-color: black;
	position: relative;
}

.founder-img {
    position: absolute;
    max-width: 40%;
    right: 0;
    top: 0;
}

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

.about-img img {
	max-height: 440px;	
}

.founder-section h3 {
    font-weight: normal;
    font-size: 50px !important;
    line-height: 80px !important;
}

.founder-section h2 {
    font-weight: normal;
    font-size: clamp(24px, 8vw, 140px) !important;
    line-height: 134px !important;
    text-align: left;
}

.founder-section h4 {
    font-size: 38px;
    line-height: 48px;
    font-weight: bold;
    background-color: black;
    max-width: fit-content;
    padding: 10px 20px;
    border-radius: 15px;
}

.review-section h3 {
    font-size: 23px !important;
    line-height: 30px;
    margin-bottom: 30px;
    font-family: var(--font1);
}

.review-section p {
    font-size: 20px;
    line-height: 30px;
}

.review-section .padded {
    min-height: 336px;
    padding: 35px 20px 15px;
}

.review-image img {
    height: 390px;
    width: 100%;
}
.x-small-par {
    font-size: 20px;
    line-height: 30px;
}

.journey-section .cell {
    padding: 20px 1%;
}

.journey-section h4 {
	font-size: 1.4rem;
}

.journey-section h3 {
    font-family: var(--font1);
    font-size: 4.5rem !important;
    font-weight: normal;
    line-height: 5.6rem;
}

.roadmap-section h3 {
    font-size: 80px !important;
    line-height: 90px;
    font-weight: normal;	
}

.roadmap-section h2 {
    font-size: 100px !important;
    line-height: 110px !important;
    font-weight: normal;
}

.m-founder-section {	
	
}

.m-founder-section h2 {
    font-size: 60px !important;
    font-weight: normal;
    margin-top: -80px;
}

.m-founder-section h3 {
    font-weight: normal;
}

.m-founder-section h4 {
	font-weight: bold;
}

.hero-section h1 {
    font-family: var(--font2);
    font-size: 68px !important;
    line-height: 75px;
    max-width: 572px;
}

.size-full img {
	width: 100%;
	height: auto;
}

.wp-element-button {
	padding: 20px;
}

#contact {
	margin-top: -100px;
	margin-bottom: 100px;
}

.faq-section .faq-group {
    background-color: white;
    padding: 0 5%;
	margin-bottom: 20px;
}

.faq-section .faq-group.active h4 {
	color: var(--red);
}

.faq-section .faq-group {
    position: relative;
    padding-right: 60px;
    cursor: pointer;
}

.faq-section .faq-group::after {
    content: '';
    position: absolute;
    top: 47px;
    right: 30px;
    width: 24px;
    height: 8px;
    background-color: var(--red);
}

.faq-section .faq-group::before {
    content: '';
    position: absolute;
    top: 39px;
    right: 38px;
    width: 8px;
    height: 24px;
    background-color: var(--red);
    transition: transform 0.3s ease;
}

.faq-section .faq-group.active::before {
    transform: rotate(90deg);
}

.faq-section .faq-wrapper {
	margin-bottom: 60px;
}

.faq-section .faq-group .question::after {
	display: none;
}

.wp-block-buttons a:visited {
	color: white;
}

.cs-h1 {
	font-weight: bold;
}

.cs-h1 strong {
	color: var(--red);
}

.cs-hero {
    padding-top: 25%;
}

.cs-btn a {
    padding: 10px 20px;
}

.cs-par {
    text-align: justify;
    font-size: 17px;
    line-height: 25px;
}

.cs-col {
    border: 1px solid black;
    border-radius: 15px;
    padding: 4%;
}

.cs-inner h3 {
    font-size: 28px !important;
    line-height: 36px;
}

.cs-inner {
    border: 1px solid black;
    border-radius: 15px;
    padding: 5%;
}

.cs-img img {
	border-radius: 15px;
}

.cs-col.red {
    background-color: var(--red);
    border-color: white;
    color: white;
}

.cs-col.red .cs-inner {
	border-color: white;
}

.cs-col.red .cs-btn a {
    background-color: white !important;
    color: black;
    border: 2px solid white !important;
}

.blog-par {
	min-height: 108px;
}

.blog-hero {
	position: relative;
}

.blog-bgn img {
    position: absolute;
    bottom: 20px;
    right: 0;
}

footer .size-full img {
    max-width: 360px;
}

.page-id-541 .c-hide, .page-id-643 .c-hide, .page-id-967 .c-hide {
	display: none;
}

.page-id-541 .g-review-wrapper {
	background-color: #f3f3f3;
}

.founder-content {
    line-height: 38px;
    text-align: left;
}

.btn-small a {
	padding: 14px;
}

.linked a {
    color: white;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.form-section .fld::placeholder {
	color: black;
}


@media only screen and (min-width: 1780px) {
    .hero-image img {
        position: absolute;
        width: 100%;
        max-width: 1170px;
        height: auto;
        right: 0;
        top: -45px;
    }	
}

@media only screen and (min-width: 1440px) and (max-width: 1779px) {
	.hero-image img {
		position: relative;
        width: 100%;
        height: auto;
        right: 0;
		top: 5px;
    }
	.hero-col1 {
		flex-basis: 38% !important;
	}
	.hero-section {
    	padding-right: 0;
	}		
}

@media only screen and (max-width: 1439px) {
	.hero-image img {
		position: relative;
        top: unset;
        bottom: -90px;
	}
	.hero-section {
    	padding-right: 0;
		padding-left: 0;
	}	
}

@media only screen and (max-width: 1119px) {
	.star-wrapper img.star-icon {
    	display: none;
  	}
  	.star-wrapper::after {
    	content: "5-Star";
    	margin-left: 4px;
  	}	
}

@media only screen and (max-width: 1023px) {
.roadmap-section h3 {
    font-size: 50px !important;
    line-height: 60px !important;
    font-weight: normal;	
}
    .hero-section h1 {
        max-width: 100%;
        font-size: 42px !important;
        line-height: 48px !important;
    }

.roadmap-section h2 {
    font-size: 70px !important;
    line-height: 90px !important;
    font-weight: normal;
}	
	.drv-img img {
        width: 100% !important;
        height: auto !important;
    }
	.as-featured-image {
    	border-top: 0 !important;
	}
	.post-thumbnail {
    	border-top: 0;
	}
	.site-footer .wp-block-social-links {
		justify-content: center;
	}
	.main-navigation::before {
		content: none;
	}
	.site-header {
    	background: white;
	}
	.site-branding {
		text-align: center;
	}
	nav {
		justify-content: center;
		padding: 15px !important;
	}
	.main-navigation ul {
        justify-content: center;
    }

	h1 {
		font-size: 48px !important;
		line-height: 54px;
	}	
	.hero-section h5, .hero-section h1  {
		text-align: center;
	}	
	.btn {
		width: 100%;
	}
	.t-center {
		text-align: center;
	}
	.site-footer .site-branding a {
		max-width: 100%;
	}
	.menu-main-container {
		width: 100%;
		max-width: 1200px;
	}
	nav {
		min-height: 0 !important;
	}
	.custom-logo {
    	max-height: 70px;
 	}
	.hero-section {
		flex-direction: column;
	}
    .hero-image img {
        display: block;
        margin: unset;
        width: 100%;
        max-width: 100%;
        max-height: 100%;
        margin-bottom: -37px;
    }
	.hero-image img {
		bottom: 0;
	}	
}

@media only screen and (max-width: 767px) {
	.review-section .padded {
		min-height: auto;
	}	
	.m-center {
		text-align: center;
	}
	.m-small-par {
    	font-size: 22px !important;
    	line-height: 32px !important;
	}
	.reduce-size {
		font-size: 42px !important;
		line-height: 48px !important;
	}
	.m-reverse {
		flex-direction: column-reverse;
	}	
	.m-reverse .cell {
		width: 100%;
	}
	.image-left, .image-right {    	
    	margin: 0 0 20px ;
    	max-width: 100%;
	}
	main {
    	margin-top: 110px;
	}
	.main-navigation a {
		font-size: 15px !important;
	}
	.hero-image {
    	min-height: auto;
	}
	.hero-section h5 {
		font-size: 15px;
	}
	.wp-element-button {
		font-size: 15px !important;
	}
	.cs-hero {
    	padding-top: 41%;
	}	
	.cs-hero img {
		object-fit: contain !important;
		object-position: 50% 50px !important;
	}
}

@media only screen and (max-width: 1369px) {
	.main-navigation a {
		font-size: 18px;
        line-height: 24px;
        padding: 8px 10px;
	}
}

@media only screen and (max-width: 639px) {
	#site-navigation {
		display: none;
	}
	.mobile-menu .menu-main-container {
		display: none;
	}
	.mobile-menu.toggled .menu-main-container {
		display: flex;
		justify-content: center;
	}
	main {
        margin-top: 65px;
    }	
}

@media only screen and (min-width: 1620px) {
	.hide-desktop {
		display: none;
	}
}

@media only screen and (max-width: 1619px) {
	.hide-tablet {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.hide-mobile {
		display: none;
	}
.faq-title {
    padding: 8% !important;
    font-size: 33px !important;
    line-height: 40px;
}	
}

.m-number, .money:hover .m-money {
	display: none;
}

.money:hover .m-number {
	display: block;
}


@media only screen and (min-width: 1480px) {
	.money {
		min-width: 208px;
		text-align: center;
	}
}

.mobile-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.mobile-phone a {
	padding: 0;
	font-weight: bold;
}

