/*
Theme Name: Storyfarm
Template: generatepress
*/
/************* GENERAL IMAGE STYLES *************/
.rounded-thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 100px 100px 100px 0;
	margin-bottom: 30px;
}
.rounded-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rounded-thumb .thumb-link {
    position: relative;
    display: block;
}
.rounded-thumb .thumb-link img {
    display: block;
    width: 100%;
    height: auto;
}
.rounded-thumb .play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 4px; /* visually centers the triangle */
    box-sizing: border-box;
    transition: background 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}
.rounded-thumb .thumb-link:hover .play-icon {
    background: rgba(145, 30, 35, 0.85);
    transform: translate(-50%, -50%) scale(1.1);
}

@media only screen and (max-width: 880px) {
	.rounded-thumb {
    	border-radius: 30px 30px 30px 0;
		margin-top: 20px;
	}
}

/************* VIDEO BACKGROUND HERO STYLES *************/
.video-wrapper {
	position: relative;
	margin-top: -100px;
	padding-top: 50px;
}
.bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;      /* fills the viewport, crops the overflow */
    object-position: center;
    z-index: -2;
}
.bg-overlay {
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(
      to bottom,
      #000 0%,
      rgba(0,0,0,0) 30%,
      rgba(0,0,0,0) 80%,
      #000 100%
    ),
    rgba(0,0,0,0.6);
}
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
 
  /* Pause the motion for anyone who's asked not to see it.
     To show a still instead of flat color, export a frame from the video,
     add poster="poster.jpg" to the video tag, and swap the url() back in. */
@media (prefers-reduced-motion: reduce) {
    .bg-video { display: none; }
    .bg-overlay { background: #0e1216; }
}
@media only screen and (max-width: 880px) {
	.video-wrapper {
		padding: 50px 0 80px 0;
	}
}
/************* GENERAL STYLES *************/
@font-face {
    font-family: "Harabara";
    src: url("https://fonts.cdnfonts.com/s/8571/Harabara.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
blockquote {
  	border-left: 5px solid rgba(237,146,52);
}
a {
	text-decoration: none !important;
}
a:hover, a:focus {
	color: #B71F25;
}
p.lg, .lg p {
	font-size: 24px;
	line-height: 32px;
}
.wt, .wt p {
	color: #fff;
}
h1 {
	font-size: 66px;
	font-weight: 600;
	text-transform: lowercase;
	color: #fff;
	margin-bottom: 10px;
}
h1 p, .post-page-header {
	font-family: 'Harabara', sans-serif;
	font-size: 160px;
	line-height: 160px;
	margin-bottom: 0px;
}
h1.post {
	font-size: 38px;
	line-height: 42px;
	color: #fff;
}
h1.page-title {
	font-size: 120px;
	line-height: 120px;
}
h2, .h2, h2 span.h2 {
	font-family: 'Roberto', sans-serif;
	font-size: 3.5vw;
	line-height: 3.6vw;
	font-weight: 800;
	color: #fff;
	text-transform: lowercase;
}
h2.lg {
	font-size: 4vw;
	line-height: 4.1vw;
	font-weight: 800;
	color: #fff;
	text-transform: lowercase;
}
h2 span {
	font-family: 'Harabara', sans-serif;
	font-size: 6vw;
	line-height: 6.1vw;
}
h2.sm, h2.sm span {
	font-family: 'Roberto', sans-serif;
	font-size: 56px;
	line-height: 58px;
	color: #fff;
}
h2.xsm, .xsm, h2.as, h2.as span {
	font-size: 38px;
	line-height: 42px;
	font-weight: 800;
	color: #fff;
}
h2.entry-title {
	font-size: 24px;
	line-height: 26px;
	color: #fff;
	margin-bottom: 5px;
}
h2.entry-title a {
	color: #fff;
}
h2.entry-title a:hover {
	color: #FF8C00;
}
h3 {
	font-size: 44px;
	line-height: 46px;
	font-weight: 600;
	text-transform: lowercase;
	margin: 5px 0;
	margin-bottom: 10px;
}
h4 {
	font-size: 40px;
	line-height: 42px;
	font-weight: 800;
	color: #fff;
	text-transform: lowercase;
}
h5 {
	font-size: 32px;
	line-height: 34px;
	font-weight: 800;
	color: #fff;
	text-transform: lowercase;
}
h6 {
	font-size: 22px;
	line-height: 24px;
	font-weight: 600;
	margin-bottom: 5px;
}
h6 p {
	margin-bottom: 10px;
}
h6 strong {
	text-transform: uppercase;
}	
h6 span {
	font-size: 22px;
	line-height: 28px;
	font-weight: 400;
}
h6.orng {
	text-transform: uppercase;
	color: #FF8C00;
}
.lg-header {
	font-family: 'Harabara', sans-serif;
	font-size: 7vw;
	line-height: 7.1vw;
	text-transform: lowercase;
	color: #FF8C00;
}
.alt-header {
	font-family: 'Harabara', sans-serif;
	font-size: 4vw;
	line-height: 4.1vw;
	text-transform: lowercase;
	color: #fff;
}
.header-allcap {
	font-size: 4vw;
	line-height: 4.1vw;
	font-weight: 800;
	text-transform: uppercase;
	color: #fff;
}
.subhead {
	font-size: 32px;
	line-height: 42px;
	color: #fff;
}
.subparagraph {
	font-size: 24px;
	line-height: 32px;
	color: #fff;
	margin-bottom: 30px;
}
hr {
  	background-color: #fff;
}
hr.yel {
  	background-color: #FF8C00;
}
button, button.alt, .gform_wrapper.gravity-theme .gform_footer input {
  	background-image: url("https://i0k.7f0.myftpupload.com/wp-content/uploads/2026/04/button-img-right.png");
	background-color: #B71F25;
  	background-repeat: no-repeat;
  	background-size: auto 50px;                    
  	background-position: right center;
	padding-right: 65px !important;
	height: 50px;
	color: #fff;
	font-family: 'Harabara', sans-serif;
	font-size: 20px;
	border-radius: 50px 50px 0 50px;
	text-transform: lowercase;
	margin: 20px 0;
}
button.alt {
  	background-image: url("https://i0k.7f0.myftpupload.com/wp-content/uploads/2026/05/button-alt.png");
	border-radius: 50px 0px 50px 50px;
}
button:hover {
  	background-color: #911E23;
}

ul.check {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.check li {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 15px;
	font-size: 24px;
	line-height: 32px;
	font-weight: 500;
	color: #fff;
	padding-bottom: 12px;
}
ul.check li::before {
    content: "";
    background-image: url("https://i0k.7f0.myftpupload.com/wp-content/uploads/2026/05/check.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}

.h-info-container {
  	display: flex;
	align-items: center; 
  	gap: 16px;
}
.h-info-col-main {
  	flex: 1;          
  	min-width: 0;     
}
.h-info-col-secondary {
  	flex: 0 0 178px; 
	font-family: 'Harabara', sans-serif;
	font-size: 20px;
	color: #fff;
}
.h-info-col-secondary img {
	width: 32px;
	vertical-align: middle;
	margin-right: 10px;
}
.h-info-col-tertiary {
  	flex: 0 0 180px;  
}
.large-page-width {
	max-width: 1650px;
	margin: 0 auto;
	padding: 80px 20px;
}
.x-large-page-width {
	padding: 100px 60px;
}
.separate-containers .inside-article {
	background: transparent;
	padding: 0px;
	color: #fff;
}
.separate-containers .site-main {
  margin: 0 20px;
}
.grid-container {
	padding: 0 20px;
}
.width-1100 {
	max-width: 1100px;
}
.width-1000 {
	max-width: 1000px;
}
.width-900 {
	max-width: 900px;
}
.width-800 {
	max-width: 800px;
}
.width-700 {
	max-width: 700px;
}
.mobile {
	display: none;
}
.hero-padding {
	padding: 160px 20px 0px 20px;
}
.pad-top-50 {
	padding-top: 50px;
}
.pad-top-80 {
	padding-top: 80px;
}
.pad-top-100 {
	padding-top: 100px;
}
.call-out {
	background-color: #B71F25;
	padding: 60px;
	border-radius: 0 100px 100px 100px;
	color: #fff
}
.call-out strong, .call-out h3 {
	text-transform: uppercase;
	font-size: 24px;
	line-height: 32px;
	color: #FF8C00;
}
.call-out a {
	color: #FF8C00;
	font-weight: 600;
}
.call-out a:hover {
	color: #fff;
}
.text-right {
	text-align: right;
}
@media only screen and (max-width: 1660px) {
	h1 {
		font-size: 3.5vw;
	}
	h1 p, .post-page-header {
		font-size: 10vw;
		line-height: 8.5vw;
	}
}
@media only screen and (max-width: 1360px) {
	.site-logo img {
		max-width: 400px;
		padding-top: 50px;
	}
}
@media only screen and (max-width: 1280px) {
	h2, .h2, h2.lg, h2 span.h2 {
		font-size: 6vw;
		line-height: 5.1vw;
	}
	h2 span {
		font-size: 11vw;
		line-height: 11.1vw;
	}
}
@media only screen and (max-width: 880px) {
	h1.page-title {
		font-size: 68px;
		line-height: 68px;
	}
	h2, .h2, h2.lg, h2 span.h2 {
		font-size: 44px;
		line-height: 46px;
	}
	h2 span {
		font-size: 17vw;
		line-height: 17.1vw;
	}
	.alt-header, .lg-header {
		font-size: 68px;
		line-height: 70px;
	}
	.subhead {
		font-size: 24px;
		line-height: 32px;
	}
	.header-allcap {
		font-size: 42px;
		line-height: 44px;
	}
	.x-large-page-width {
		padding: 60px 20px;
	}
	.mobile {
		display: block;
	}
	.desktop {
		display: none;
	}
	.hero-padding {
		padding: 60px 20px 0 20px;
	}
	.pad-top-50, .pad-top-80 {
		padding-top: 0px;
	}
	.call-out {
		padding: 50px 30px;
		border-radius: 0 60px 60px 60px;
	}
	.text-right {
		text-align: left;
	}
}
@media only screen and (max-width: 580px) {
	h1 {
		font-size: 38px;
		line-height: 42px;
	}
	h1 p {
		font-size: 92px;
		line-height: 80px;
		margin-top: 20px;
	}
}
@media only screen and (max-width: 480px) {
	h1 {
		font-size: 34px;
		line-height: 38px;
	}
	h1 p {
		font-size: 80px;
		line-height: 82px;
	}
	h2.sm, h2.sm span {
		font-size: 40px;
		line-height: 42px;
	}
	h2.xsm, h2.as, h2.as span {
		font-size: 32px;
		line-height: 36px;
	}
	.subhead, .subparagraph {
		font-size: 20px;
		line-height: 28px;
	}
}
@media only screen and (max-width: 360px) {
	h1 {
		font-size: 28px;
		line-height: 34px;
	}
	h1 p {
		font-size: 68px;
		line-height: 58px;
	}
	h2 span {
		font-size: 21vw;
		line-height: 21.1vw;
	}
	.alt-header {
		font-size: 48px;
		line-height: 50px;
	}
}
/************* BLOCKS STYLES *************/
.gray-round {
	width: 100vw;
	position: relative;
  	left: 50%;
  	right: 50%;
  	margin-left: -50vw;
  	margin-right: -50vw;
  	padding: 80px 20px;
  	box-sizing: border-box;
	background-color: #292929;
	border-radius: 300px 0 0 300px;
}
/**ACCORDION**/
h3.wp-block-accordion-heading {
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
	color: #FF8C00;
}
.wp-block-accordion-heading button, .wp-block-accordion-heading button:focus, .wp-block-accordion-heading button:active {
	background: transparent;
	font-size: 32px;
	line-height: 38px;
	font-weight: 500;
	text-transform: none;
	color: #FF8C00 !important;
	margin-bottom: 10px;
	margin-top: 10px;
	border-radius: 0px;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none !important;
}
.wp-block-accordion-panel p {
	font-size: 20px;
	line-height: 28px;
	color: #fff;
}
@media only screen and (max-width: 880px) {
	.gray-round {
		border-radius: 100px 0 0 100px;
	}
	.wp-block-accordion-heading button, .wp-block-accordion-heading button:focus {
		font-size: 20px;
		line-height: 22px;
	}
}
@media (max-width: 768px) {
  .site-main .wp-block-group__inner-container {
    padding: 0px;
  }
}
/************* GFORM STYLES *************/
p.gform_description {
	font-size: 18px;
	color: #fff;
}
.gform_wrapper.gravity-theme .gfield_label, .gform_wrapper.gravity-theme .gfield-choice-input + label {
  	color: #fff;
}
.gform_wrapper.gravity-theme * {
  	border: 0px;
  	border-radius: 20px 20px 20px 0;
}
/************* HOME PAGE VIDEO STYLES *************/
/* ── Sticky scroll container ── */
.scroll-section {
    height: 250vh;
    position: relative;
	padding-bottom: 50px;
}
.sticky-wrap {
    position: sticky;
    top: 122px;
    height: calc(100vh - 122px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
}
/* ── Video wrapper — this is what scales ── */
 .video-wrap {
    width: 30%;
    border-radius: 20px;
    overflow: hidden;
    will-change: width, border-radius;
    transition: none;
    aspect-ratio: 16/9;
    position: relative;
    box-shadow: 0 0px 0px rgba(0,0,0,0.6);
}
.video-wrap video,
.video-wrap .video-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ── Overlay text that fades in when fullscreen ── */
.video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 40px;
    opacity: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%);
    pointer-events: none;
}
.video-overlay p {
    font-size: clamp(14px, 2vw, 18px);
    text-align: center;
    max-width: 500px;
    color: rgba(255,255,255,0.9);
    margin-bottom: 24px;
}
.video-overlay a {
    display: inline-block;
    background: #fff;
    color: #000;
    padding: 14px 32px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.05em;
    pointer-events: all;
}
/* ── Lock countdown badge ── */
#lockBadge {
    position: fixed;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.85);
    font-family: sans-serif;
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 10px 22px;
    border-radius: 50px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 9999;
    white-space: nowrap;
}
#lockBadge.visible { opacity: 1; }

/************* STATS STYLES *************/
.stat-columns {
  	display: flex;
  	flex-wrap: wrap;
  	gap: 16px;
}
.stat-col {
  	flex: 1 1 calc((100% - 80px) / 6); /* 80px = gap * 5 */
  	min-width: 0;
	border-right: 4px solid #fff;
	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
	text-align: center;
	font-size: 1.5vw;
	line-height: 1.5vw;
	font-weight: 600;
	color: #fff;
	margin-bottom: 30px;
}
.stat-col h4 {
	font-family: 'Harabara', sans-serif;
	font-size: 80px;
	line-height: 81px;
	color: #FF8C00;
	margin-bottom: 0px;
}
.stat-col:last-child {
  	border-right: none;
}
@media (max-width: 1180px) {
  	.stat-col {
    	flex: 1 1 calc(33% - 8px); /* 8px = gap / 2 */
		font-size: 28px;
		line-height: 30px;
  	}
  	.stat-col:nth-child(3) {
    	border-right: none;
  	}
}
@media (max-width: 880px) {
  	.stat-col {
    	flex: 1 1 calc(50% - 8px); /* 8px = gap / 2 */
  	}
	.stat-col:nth-child(3) {
    	border-right: 4px solid #ccc;
  	}  	
	.stat-col:nth-child(2), .stat-col:nth-child(4) {
    	border-right: none;
  	}

}
@media (max-width: 880px) {
	.stat-col {
    	font-size: 24px;
		line-height: 26px;
  	}
}
/************* FOUR COL WITH BORDER *************/
.four-col-row {
  	display: flex;
  	flex-wrap: wrap;
  	gap: 16px;
	margin: 30px 0;
}
.four-col {
  	flex: 1 1 calc((100% - 80px) / 6); /* 80px = gap * 5 */
  	min-width: 0;
	border-right: 4px solid #fff;
	display: flex;
  	flex-direction: column;
	text-align: left;
	color: #fff;
	margin-bottom: 30px;
	padding: 0 15px 0 0;
}
.four-col:last-child {
	border-right: none;
}
@media (max-width: 880px) {
	.four-col {
		flex: 1 1 calc(50% - 8px); /* 8px = gap / 2 */
	}
	.four-col:nth-child(even) {
		border-right: none;
	}
}
@media (max-width: 680px) {
	.four-col-row {
		flex-direction: column;
	}
	.four-col {
		display: flex;
		flex-direction: row;
		align-items: center;
		width: 100%;
		border-right: 0px;
		padding: 0px;
	}
}

/************* AREAS SERVED STYLES *************/
.child-pages-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0px;
}
.child-pages-col {
    flex: 1;
}
.child-pages-col h3 {
    margin: 0 0 15px 0;
	color: #fff;
	text-transform: capitalize;
}
.child-pages-col h3 a {
    text-decoration: none;
    color: inherit;
}
@media (max-width: 800px) {
    .child-pages-col {
        flex: 1 1 100%;
        width: 100%;
    }
}
/************* OUR WORK STYLES *************/
.our-work p, .our-work h3, .our-work h3 a {
	color: #fff;
}
.our-work h3 a:hover {
	color: #B71F25;
}
.our-work h3 {
	font-size: 24px;
	line-height: 32px;
	font-weight: 500;
	text-transform: uppercase;
}
.read-more {
	font-weight: 600;
}
.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Post Grid Layout */
.post-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin: 2rem 0;
}

.post-grid-item {
    min-width: 0; /* Prevents overflow in grid cells */
}

/* Ensure post content inside grid cells doesn't break layout */
.post-grid-item .entry-content img,
.post-grid-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* Pagination */
.pagination.page-numbers,
.nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin: 2.5rem 0;
    flex-wrap: wrap;
}
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.9rem;
    color: inherit;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.page-numbers:hover,
.page-numbers.current {
    background: #0073aa;
    border-color: #0073aa;
    color: #fff;
}

/* Responsive: 2 columns on tablet */
@media (max-width: 900px) {
    .post-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Responsive: 1 column on mobile */
@media (max-width: 600px) {
    .post-grid {
        grid-template-columns: 1fr;
    }
}

.separate-containers .page-header {
	background: transparent;
	padding: 40px 0px;
}

/************* BOX STYLES *************/
.box-item, .box-item-blk {
	background-color: #292929;
	width: 88% !important;
	height: 100%;
	padding: 50px 30px 40px 30px;
	border-radius: 20px;
	box-shadow: 10px 10px #FF8C00;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 24px;
	color: #fff;
}
.box-item-blk {
	background-color: #000;
}
.box-item:hover, .box-item-blk:hover {
	background-color: #B71F25;
}
.box-item img, .box-item-blk img {
	width: 58px;
	margin-bottom: 20px;
}
.box-item h3, .box-item h3 a, .box-item-blk h3, .box-item-blk a {
	font-size: 20px;
	line-height: 22px;
	font-weight: 600;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 5px;
}
.box-item strong, .box-item-blk strong {
	color: #FF8C00;
}
/************* BACKGROUNDS *************/
.lt-gry-bckgrnd {
	background-color: #F5F0F0;
}
.dk-gry-bckgrnd {
	background-color: #292929;
}
.blk-rt-round {
	background-color: #000;
	border-radius: 0 300px 0 0;
	margin-top: -300px;
	padding: 140px 0;
}
.dk-gry-rt-round {
	background-color: #292929;
	border-radius: 0 300px 0 0;
	padding: 100px 0;
}
.gry-lt-round {
	background-color: #292929;
	border-radius: 300px 0 0 0;
}
.dk-gry-bckgrnd-round-lt {
	background-color: #292929;
	border-radius: 300px 0 0 300px;
	padding: 120px 0;
}
.dk-gry-bckgrnd-round-rt {
	background-color: #292929;
	border-radius: 0 300px 300px 0;
	padding: 100px 0;
}
.dk-gray-toprt-botlt {
	background-color: #292929;
	border-radius: 0 300px 0px 300px;
	padding: 100px 0;
}
.dk-gray-botlt {
	background-color: #292929;
	border-radius: 0 0 0 300px;
	padding: 100px 0;
}
@media only screen and (max-width: 880px) {
	.blk-rt-round {
		border-radius: 0 100px 0 0;
	}
	.gry-lt-round {
		border-radius: 100px 0 0 0;
	}
	.dk-gry-rt-round {
		border-radius: 0 100px 0 0;
	}
	.dk-gry-bckgrnd-round-lt {
		border-radius: 100px 0 0 100px;
	}
	.dk-gry-bckgrnd-round-rt {
		border-radius: 0 100px 100px 0;
	}
	.dk-gray-toprt-botlt {
		border-radius: 0 100px 0px 100px;
	}
	.dk-gray-botlt {
		border-radius: 0 0 0 100px;
	}
}
/************* PROCESS STYLES *************/
.process-padding {
	padding: 80px 0 280px 0;
}
.process-row {
  	display: flex;
  	gap: 16px;
  	flex-wrap: wrap;
	margin-bottom: 40px;
}
.process-col {
  	flex: 1 1 140px; /* grow, shrink, basis */
  	min-width: 0;
}
.process-col p {
	color: #fff;
	padding-right: 80px;
	margin-bottom: 0px;
}
.process-col img {
	height: 54px;
}
.process-cta-row {
  	display: flex;
  	align-items: flex-end; /* content sits at the bottom */
  	gap: 60px;
}
.process-cta-col {
  	display: flex;
  	flex-direction: column;
  	justify-content: flex-end; /* push content to the bottom within each column */
}
.process-cta-col1  { flex: 2; } /* 2/3 width */
.process-cta-col2  { flex: 1; } /* 1/3 width */

@media only screen and (max-width: 880px) {
	.process-row {
  		flex-direction: column;
	}
	.process-col {
  		width: 100%;
	}
	.process-col p {
		padding-right: 0px;
		padding-left: 52px;
	}
	.process-col img {
		float: left;
		transform: rotate(90deg);
		margin-right: 20px;
		vertical-align: middle;
	}
	.process-cta-row  {
    	flex-direction: column;
    	align-items: stretch;
  	}
}
/************* CTA STYLES *************/
.cta-row {
  	display: flex;
  	align-items: flex-end; 
	gap: 4em;
}
.cta-col1 {
  	flex: 2; 
	padding: 60px 0;
}
.cta-col2 {
  	flex: 1;
}
.cta-col2 img {
	display: block;
}
.cta-img-m {
	display: none;
}
@media only screen and (max-width: 880px) {
	.cta-row {
  		flex-direction: column;
		gap: 1em;
	}
	.cta-col1 {
		padding: 0 0 60px 0;
	}
	.cta-col2 img {
		width: 40%;
		float: right;
	}
	.cta-col2 img {
		display: none;
	}
	.cta-img-m {
		width: 40%; 
		display: block; 
		margin-left: auto; 
		margin-bottom: 20px;
	}
}
/************* TEAM *************/
.team-container {
  	display: flex;
  	flex-wrap: wrap;
  	gap: 4em 16px;
	margin-top: 60px;
}
.team-item {
  	flex: 0 0 calc(33.333% - 11px); 
	font-size: 18px;
	line-height: 20px;
	font-weight: 600;
	color: #fff;
}
.team-item img {
	border-radius: 100px 100px 100px 0;
	margin-bottom: 10px;
}
.team-item h3 {
	font-size: 24px; 
	line-height: 26px;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 5px;
}
@media only screen and (max-width: 680px) { 
	.team-container {
  		flex-direction: column;
	}
	.team-item {
  		width: 100%;
	}
}
/************* HEADER *************/
.site-header {
	background-color: #292929;
	border-radius: 0 0 0 150px;
}
.inside-header {
	background: transparent;
	padding: 20px !important;
}
.site-logo {
	padding-left: 100px;
}
.site-logo img {
	max-width: 320px;
	padding-top: 10px;
}
/************* MAIN NAVIGATION *************/
.nav-float-right #site-navigation {
	width: 100%;
}
.main-nav {
	margin-top: 3px;
	width: 100%;
}
.main-navigation {
	background: transparent !important;
}
.main-navigation ul {
	text-align: right;	
}
.main-navigation ul ul {
  	background-color: #292929;
	border-radius: 0 0 30px 0px;
	box-shadow: 0px 0px 0 rgba(0,0,0,.1);
	width: 300px;
	padding-bottom: 15px;
}
.main-navigation li {
    position: relative;
    display: inline-block;
	margin-bottom: 0px;
}
.main-navigation .main-nav ul li.menu-item-has-children > a {
  	padding-right: 15px;
}
.main-navigation .main-nav ul li a {
  	line-height: 50px;
	padding-left: 15px;
	padding-right: 15px;
	text-transform: lowercase;
}
.main-navigation .main-nav ul ul li a {
	padding: 10px 16px;
	border-bottom: 0px;
}
.main-navigation .main-nav ul ul li {
	border-bottom: 0px;
}
.main-navigation .main-nav ul ul li:hover {
	border-bottom: 0px;
}
.main-navigation .main-nav ul ul li:last-child {
	border-bottom: 0px !important;
}
@media screen and (max-width: 768px) {
  .main-navigation {
    display: block !important;
  }
}

/************* NAVIGATION (MOBILE) *************/
.header-mobile {
	display: none;
}
.headertext {
	display: none;
}
.header-desktop {
	display: block;
 	position: sticky;
    top: 0;
    width: 100%;
    position: -webkit-sticky;
    position: -moz-sticky;
    position: -ms-sticky;
   	position: -o-sticky;
	z-index: 3;
}
.header-tablet {
	display: none;
}
@media only screen and (max-width: 1000px) {
	.site-logo img {
		width: 400px;
	}
}
/* Tablet header */
@media only screen and (max-width: 1620px) {
	.header-tablet {
		display: block;
 		position: sticky;
    	top: 0;
    	width: 100%;
    	position: -webkit-sticky;
    	position: -moz-sticky;
    	position: -ms-sticky;
   		position: -o-sticky;
		z-index: 3;
	}
	.header-desktop {
		display: none;
	}
	.h-info-container-t {
  		display: flex;
		align-items: center; 
		justify-content: flex-end;
  		gap: 16px;
	}
	.h-info-col-main-t {
  		flex: 0 0 178px; 
		font-family: 'Harabara', sans-serif;
		font-size: 20px;
		color: #fff;
	}
	.h-info-col-main-t img {
		width: 32px;
		vertical-align: middle;
		margin-right: 10px;
	}
	.h-info-col-secondary-t {
  		flex: 0 0 180px;  
	}

	.h-info-col-tertiary-t {
		flex: 0 0 100px; 
  		min-width: 0;  
	}
	.h-info-col-main {
		display: none;
	}
}
/* Mobile header */
@media only screen and (max-width: 990px) {
	.header-desktop, .header-tablet {
		display: none;
	}
	.header-mobile {
		display: block;
 		position: sticky;
    	top: 0;
    	width: 100%;
    	position: -webkit-sticky;
    	position: -moz-sticky;
    	position: -ms-sticky;
   		position: -o-sticky;
		z-index: 3;
		background-color: #fff;
    	z-index: 2;
	}
	.site-logo-mobile {
		text-align: left;
	}
	.site-logo-mobile img {
		width: 400px;
		padding: 20px 0 20px 60px;
	}
	.top-nav-ctas-wrapper {
		position: fixed;
		display: flex;
		align-items: center;   
  		justify-content: center;
		background-color: #000;
		z-index: 0;
		width: 100%;
		text-align: center;
    	padding: 15px 20px;
	}
	.top-nav-ctas-col-1 {
		flex: 1;
		font-family: 'Harabara', sans-serif;
		font-size: 20px;
		color: #fff;
	}
	.top-nav-ctas-col-1 img {
		width: 32px;
		vertical-align: middle;
		margin-right: 10px;
	}
	.top-nav-ctas-col-2 {
		flex: 1;
	}
	.top-nav-mobile {
		position: fixed;
		z-index: 0;
		width: 100%;
		background-color: #292929;
		border-radius: 100px 0 0 100px;
		margin-top: 80px;
	}
	.top-nav-mobile a, .top-nav-ctas a {
		font-size: 18px;
		color: #ffffff;
		text-decoration: none;
		font-weight: 700;
		text-transform: uppercase;
	}
	.top-nav-mobile-inside {
		background-color: #002D75;
		width: 100%;
		float: left;
		height: 45px;
		padding: 10px 5px 0 5px;
		text-align: center;
		position: relative;
	}
	.mobile-header-pad {
		height: 200px;
	}
	#rmp_menu_trigger-8769 {
		margin-top: 80px;
	}
}
@media only screen and (max-width: 590px) {
	.site-logo-mobile {
		padding-top: 3px;
	}
	.site-logo-mobile img {
		width: 70%;
		padding: 20px 0 20px 30px;
	}
	#rmp_menu_trigger-8769 {
		margin-top: 65px;
	}
}
@media only screen and (max-width: 365px) {
	.top-nav-ctas-wrapper button, .top-nav-ctas-col-1 {
		font-size: 16px;
	}
}
/************* STICKY HEADER *************/
.scrolled {
	border-bottom: 0px;
	position: fixed;
}
.scrolled .site-header {
	background-color: #B71F25;
	border-radius: 0 0 0 150px;
}
.scrolled button {
	background-image: url("https://i0k.7f0.myftpupload.com/wp-content/uploads/2026/04/button-img-right-wt.png");
	background-color: #FF8C00;
}
.scrolled button:hover {
	background-color: #E37D00;
}
.scrolled .main-navigation ul ul {
	background-color: #B71F25;
}
.scrolled .site-logo-mobile {
	background-color: #89181C;
	border-radius: 0 0 0 60px;
}
.scrolled .top-nav-ctas-wrapper {
	background-color: #B71F25;
}
/************* FOOTER STYLES *************/
.footer-phone {
	display: inline-block;
	font-family: "Harabara";
	color: #fff;
	margin-right: 30px;
	margin-bottom: 20px;
}
.footer-phone img {
	width: 32px;
	margin-right: 10px;
	vertical-align: middle;
}
.footer-nav ul, ul.footer-nav  {
	margin-left: 0px;
}
.footer-nav ul li, ul.footer-nav li {
	list-style: none;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 10px;
}
ul.footer-nav li {
	font-weight: 400;
	text-transform: none;
	margin-bottom: 5px
}
.footer-nav ul li a, .footer-nav li a {
	color: #ffff;
}
.footer-nav ul li a:hover {
	color: #FF8C00;
}
.social img {
	width: 42px;
	vertical-align: middle;
	margin-right: 30px;
}
/*** FOOTER ACCORDION STYLES ***/
.footer-content .accordion {
    width: 100%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.footer-content .item {
    overflow: hidden;
	border-bottom: 0px solid #fff;
	margin-bottom: 0px;
}
.footer-content .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    gap: 12px;
	height: 40px;
}
.footer-content .header:hover { 
	color: #FF8C00; 
}
.footer-content .header h3, .footer-content h3 {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
	text-transform: uppercase;
    flex: 1;
	margin-bottom: 20px;
}
.footer-content .header h3:hover, .footer-content h3:hover {
	color: #fff;
}
.footer-content .caret {
    width: 22px;
    height: 36px;
    flex-shrink: 0;
    color: #fff;
    transition: transform 0.3s ease;
	margin-top: 0px;
	margin-right: 10px;
}
.footer-content .item.open .caret {
    transform: rotate(45deg);
}
.footer-content .body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
 }
.footer-content .item.open .body {
    max-height: 900px;
    padding: 0px 0px 18px;
	margin-top: 0px;
}
.body li, .body li a {
	margin-bottom: 5px;
	color: #fff;
	font-size: 16px;
}

/************* SLICK SLIDER STYLES *************/
.reviews, .testimonials {
	font-size: 32px;
	line-height: 48px;
	color: #fff;
	margin-bottom: 60px;
}
.reviews div {
	padding-right: 40px;
}
.reviews img {
	width: 168px;
	margin-bottom: 20px;
}
.author {
	font-size: 24px;
	line-height: 26px;
	font-weight: 500;
	margin-top: 30px;
}
@media only screen and (max-width: 1110px) {
	.reviews, .testimonials {
		font-size: 26px;
		line-height: 38px;
	}
	.reviews div {
		padding-right: 20px;
	}
}
@media only screen and (max-width: 880px) {
	.reviews, .testimonials {
		font-size: 20px;
		line-height: 28px;
	}
	.reviews div {
		padding-right: 10px;
	}
	.author {
		font-size: 18px;
		line-height: 24px;
	}
}

.services .slick-track {
  	display: flex !important;
}
.services .slick-list {
  	margin: -10px;
  	padding: 10px !important;
}
.services .slick-slide {
  	height: inherit !important;
}
.services .slick-slide > div {
 	height: 100%;
}
.logos-wrapper {
	padding: 20px 0px 300px 0px;
	margin-top: -20px;
}
.logos {
	margin-bottom: 15px;
}
.logos div {
	width: 100%;
}
.logos,
.services,
.reviews {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.slick-slide {
	margin: 0px 0px;
 	opacity: 1;
	height: auto !important;
}
.slick-list {
	padding: 0 10px !important;
}
.slick-slide {
  	transition: all ease-in-out .3s;
	margin: 0 10px;
}
.slick-active {
  	opacity: 1;
}
.slick-current {
  	opacity: 1 !important;
}
.slick-next-alt, 
.slick-prev-alt, 
.slick-next-alt:hover, 
.slick-prev-alt:hover, 
.slick-prev-alt:focus, 
.slick-next-timeline, 
.slick-prev-timeline, 
.slick-next-timeline:hover, 
.slick-prev-timeline:hover, 
.slick-next-timeline:focus, 
.slick-prev-timeline:focus {
    font-size: 0;
    line-height: 0;
    top: 50%;
    display: block;
    width: 35px;
    height: 35px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent !important;
	z-index: 1;
	
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
  font-size: 16px !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  position: absolute;
  z-index: 1;
	padding-right: 0px !important;
	
}
.slick-prev-alt {
  	left: -10px;
}
.slick-next-alt {
  	right: -10px !important;
	margin-top: 0px;
}





.slick-next-timeline, .slick-prev-timeline, .slick-next-timeline:hover, .slick-prev-timeline:hover, .slick-next-timeline:focus, .slick-prev-timeline:focus {
	top: 105px;
}
.slick-prev-alt, .slick-prev-timeline  {
  	left: -10px;
}
.slick-next-alt, .slick-next-timeline {
  	right: -10px;
}
.slick-dots li button::before {
  	font-size: 20px !important;
  	color: #fff !important;
}
/************* ON LOAD ANNIMATION STYLES *************/
.fadeIn {
  	opacity: 0; /* Start invisible */
  	animation: fadeIn 1s ease-out forwards; /* Apply the animation */
}
@keyframes fadeIn {
  	0% {
    	opacity: 0;
  	}
  	100% {
    	opacity: 1;
  	}
}

.fadeUp {
  	opacity: 0; /* Start invisible */
  	transform: translateY(20px); /* Start slightly below its final position */
  	animation: fadeUp 1s ease-out forwards; /* Apply the animation */
}
@keyframes fadeUp {
  	0% {
    	opacity: 0;
    	transform: translateY(20px);
  	}
  	100% {
    	opacity: 1;
    	transform: translateY(0); /* Move to its original position */
  	}
}

.fadeLeft {
	animation-name: fadeInLeft;
    animation-duration: 1s; /* Adjust duration as needed */
	animation-timing-function: ease-out; /* Optional: controls speed curve */
	animation-fill-mode: forwards; /* Keeps the final state after animation */
}
@keyframes fadeInLeft {
	0% {
		opacity: 0;
        transform: translateX(-20px); /* Adjust this value for desired starting position */
	}
	100% {
        opacity: 1;
        transform: translateX(0);
	}
}

.fadeRight {
	animation-name: fadeInRight; /* The name of your keyframes */
	animation-duration: 1s; /* How long the animation takes */
	animation-timing-function: ease-out; /* Controls the speed curve */
	animation-fill-mode: forwards; /* Keeps the final state after animation */
	opacity: 0; /* Initial state to prevent "flash of unstyled content" */
}
@keyframes fadeInRight {
	0% {
        opacity: 0;
        transform: translateX(-20px); /* Starts off-screen to the left */
    }
    100% {
        opacity: 1;
        transform: translateX(0); /* Ends at its original position */
    }
}

.delay-1 {
	animation-delay: .5s;
}
.delay-2 {
	animation-delay: 1s;
}
.delay-3 {
	animation-delay: 1.5s;
}
.delay-4 {
	animation-delay: 1.5s;
}
@keyframes pulse {
  0% {
    transform: scale(1); /* Start at original size */
  }
  50% {
    transform: scale(1.2); /* Scale up to 110% at the midpoint */
  }
  100% {
    transform: scale(1); /* Return to original size */
  }
}


/*************COLUMN STYLES *************/
.section {
	clear: both;
	padding: 0px;
	margin: 0px;
}

.group:before,
.group:after {
    content:"";
    display:table;
}
.group:after {
    clear:both;
}
.group {
    zoom:1; /* For IE 6/7 (trigger hasLayout) */
}

.col, .col-lg {
	display: block;
	float:left;
	margin: 1% 0 1% 1.6%;
}
.col-lg {
	margin: 1% 0 1% 6.6%;
}
.col:first-child { margin-left: 0; } /* all browsers except IE6 and lower */
.col-lg:first-child { margin-left: 0; } /* all browsers except IE6 and lower */

@media only screen and (max-width: 880px) {
	.col, .col-lg { 
		margin: 1% 0 1% 0%;
	}
}
/*  GRID OF FOUR   ============================================================================= */
.span_3_of_4 {
	width: 74.6%; 
}
.span_2_of_4 {
	width: 49.2%; 
}
.span_1_of_4 {
	width: 23.8%; 
}
@media only screen and (max-width: 880px) {
	.span_3_of_4, .span_2_of_4, .span_1_of_4 {
		width: 100%; 
	}
}
/*  GRID OF SIX   ============================================================================= */
.span_5_of_6 {
  	width: 83.06%;
}
.span_4_of_6 {
  	width: 66.13%;
}
.span_3_of_6 {
  	width: 49.2%;
}
.span_3_of_6-sm {
  	width: 46.2%;
}
.span_2_of_6 {
  	width: 32.26%;
}
.span_2_of_6-sm {
  	width: 28.26%;
}
.span_1_of_6 {
  	width: 15.33%;
}
@media only screen and (max-width: 880px) {
	.span_5_of_6, .span_4_of_6, .span_3_of_6, .span_2_of_6, .span_1_of_6, .span_3_of_6-sm, .span_2_of_6-sm {
		width: 100%; 
	}
}