/*
Theme Name: Reach
Description: This is a child theme for Flatsome Theme
Author: Reach Digital
Template: flatsome
Version: 5.0
*/

.red-cta-button
{
	background:rgba(179, 48, 42, 0.93);
	border-radius:99px;
	
}

li.red-cta-button > a
{
	color:#fff!important;
	font-weight:500;
	padding: 10px 25px;	
	font-family: "Rubik",sans-serif;
	line-height: 1.2!important;
}



@media (min-width: 850px){
    header#header .nav-dropdown {
        display: block;
    }
    header#header .nav-dropdown ul.sub-menu {
        position: absolute;
        left: 100%;
        top: 0;
        background: #fff;
        width: 250px;
        padding: 10px;
        display: none !important;
        border-radius: 5px;
        -webkit-box-shadow: 1px 1px 15px rgb(0 0 0 / 15%);
        box-shadow: 1px 1px 15px rgb(0 0 0 / 15%);
    }
    header#header .nav-dropdown ul.sub-menu a {
        white-space: normal;
        margin: 0;
        padding: 10px 15px;
        border: 0;
        font-weight: 400;
		
    }
    header#header .nav-dropdown li:hover > ul.sub-menu{
        display: block !important;
    }
    header#header .nav-dropdown li {
        border-right: 0;
        white-space: normal;
        width: 100%;
        display: block;
        position: relative;
    }
    header#header .nav-dropdown li.menu-item-has-children > a {
        font-weight: 400;
        text-transform: none;
        color: rgba(102,102,102,.85);
		font-size:1em;
    }
	
	header#header .nav-dropdown li.menu-item-has-children > a:after {
		content:"";
		background-image:url("/wp-content/uploads/2024/04/arrow-right.svg");
		background-repeat:no-repeat;
		background-position:right;
		background-size:15px;
		display:flex;
		position:relative;
		top:-18px;
		margin-bottom:-15px;

		width:100%;
		height:15px;

	}
    header#header .nav-dropdown li.active>a {
        color: #e82c2a;
    }
}


/*************** Base Styles ***************/

	html {
	overflow-x: hidden!important;
}
body {
	background-color: #fafafa!important;
}
p a {
	text-decoration:underline!important;
}
p {
	
	margin-bottom:0.5em
}

@media screen and (min-width: 849px){
#logo {
	padding-left:20px;
}
}

::selection {
  background: rgb(200, 0, 0)!important;
  color: #FFF;
}

.absolute-footer {display:none;}

.round-img img {
	border-radius: 100%!important;
}

.count-up {
	font-weight:600!important; 
	color:rgb(164, 204, 41)!important;
}

.box-image {
	border-radius:12px
}

.blog-post-inner .is-divider {
	
	display:none;
}

/*************** Bullets ***************/

.bullet-tick ul {list-style: none;}
.bullet-tick li {counter-increment: li; margin-top:-5px; line-height:1.8em; padding-left:10px; margin-left: 0px!important; position: relative; padding-left:40px;}
.bullet-tick li::before {
	content: '';
	background-image: url('/wp-content/uploads/2024/03/ios-checkmark-outline.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
  	display: block;
	width: 24px;
	height: 24px;
	position:absolute;
	top: 3px;
	left: 0;
}

.bullet-tick-w ul {list-style: none}
.bullet-tick-w li {counter-increment: li; margin-top:-5px; line-height:1.8em; padding-left:10px; margin-left: 0px!important; position: relative; padding-left:40px;}
.bullet-tick-w li::before {
	content: '';
	background-image: url('/wp-content/uploads/2024/04/ios-checkmark-outline-w.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
  	display: block;
	width: 24px;
	height: 24px;
	position:absolute;
	top: 3px;
	left: 0;
}

.stack.half-half > .text {
	max-width: 50%;
}

@media screen and (max-width: 849px) {
	.stack.half-half > .text {
		max-width: 100%;
	}	
}


/* ----- Layouts ----- */

.margin-minus-30vmin {
	margin-bottom: -20vmin!important;
}

.pos-rel { position: relative!important; }

/* ----- Table ----- */
.rd-table {
	border: 1px solid #333;
}
.rd-table thead td {
	background-color: #b3302a;
	color: #fff;
}
.rd-table td {
	text-align: center;
	border: 1px solid #555;
}
.rd-table tbody tr:nth-child(odd) {
	background-color: #f3f3f3;
}
.rd-table tbody tr:first-of-type td:first-of-type {
	background-color: #fff;
}

/* ----- Typography ----- */ 

h1,h2,h3,h4 {
	letter-spacing: -1px!important;
}

h1 .large{
	font-size: clamp(32px, 8vmin, 84px)!important;
	line-height: 120%!important;
}

h1 {
	font-size: clamp(40px, 8vmin, 64px)!important;
	line-height: 100%!important;
}

h1.entry-title {
	font-size: clamp(26px,3vmin,32px)!important;
	line-height: 125%!important;
	text-transform: unset!important;
}

h1.page-title {
	font-size: clamp(26px,5vmin,42px)!important;
	text-transform: unset!important;
}

h1 .small{
	font-size: clamp(36px, 8vmin, 52px)!important;
	font-weight: 300!important;
}

h2 {
	font-size: clamp(36px, 8vmin, 52px)!important;
	font-weight: 300!important;
}

.single-post h2 {
	font-size: clamp(26px,5vmin,36px)!important;
}


h3 {
	font-size: clamp(26px, 6vmin, 32px)!important;
	font-weight: 300!important;
	line-height: 120%!important;
}

h4 {
	font-size: clamp(24px, 5vmin, 28px)!important;
	font-weight: 500!important;
	line-height: 120%!important;
}

h5 {
	font-size: clamp(20px, 5.5vmin, 24px)!important;
	font-weight: 300!important;
	line-height: 120%!important;
}

.is-large h5 {
	font-size: clamp(26px,5vmin,32px)!important;
}

.large-p {
	font-size: 21px;
	line-height: 100%;
}

.t-white {
	color: #fff!important;
}

.opacity-half {
	opacity: 0.52;
}

.white-text * {
	color: #fff!important;
}



/*************** Custom Fullscreen Slider (Vertical) ***************/
.cus-slider {
	min-width: 100vw;
	overflow-x: scroll;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	padding-bottom: 1.5rem;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	padding-left: calc((100vw - 1200px) / 2);
	padding-right: calc((100vw - 1200px) / 2);
}

.cus-slider::-webkit-scrollbar-track {
	margin-right: 40vw;
  	margin-left: 40vw;
}

.cus-slider::-webkit-scrollbar {
	height: 7px;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

#col2-slider.cus-slider::-webkit-scrollbar-track {
	margin-right: calc(100vw * 0.08);
	margin-left: calc(100vw * 0.08);
}

.cus-slider::-webkit-scrollbar-thumb {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	background-color: #485B6E;
	-webkit-transition: background 0.1s ease-in-out;
	transition: background 0.1s ease-in-out;
}
.cus-slider::-webkit-scrollbar-track-piece {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	background-color: rgba(170, 190, 191, 0.2);
	-webkit-transition: background 0.1s ease-in-out;
	transition: background 0.1s ease-in-out;
}

.cus-slider-item {
  	min-width: min(390px, 28vw);
  	height: calc(28vw * 1.75);
	max-height: calc(300px * 1.65);
  	position: relative;
}

.cus-slider-item > .col-inner {
	max-height: 100%;
	height: 100%;
}
.cus-slider-item .banner {
	height: 100%!important;
	max-height: 100%!important;
	min-height: 100%!important;
	overflow: hidden;
}

.cus-slider-item .banner div {
	border-radius: inherit;
}

.cus-slider-item-2 {
  	min-width: min(390px, 28vw);
  	position: relative;
}

.slider-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.slider-btn > p {
	font-size: clamp(14px, 6vmin, 20px);
}
.slider-btn img {
	margin-left: 12px;
}

@media screen and (max-width: 1200px) {
	.cus-slider-item-2 {
		width: 60vw;
		min-width: 60vw;
	}
}

@media screen and (max-width: 849px) {
	.cus-slider-item {
		width: 40vw;
		min-width: 40vw;
		height: calc(40vw * 1.5);
	}
	.cus-slider-item-2 {
		width: 70vw;
		min-width: 70vw;
	}

	.cus-slider::-webkit-scrollbar-track {
        margin-right: 10vw;
        margin-left: 10vw;
    }
}
@media screen and (max-width: 549px) {
	.cus-slider-item {
		width: 80vw;
		min-width: 80vw;
		height: calc(80vw * 1.5);
	}
	.cus-slider-item-2 {
		width: 85vw;
		min-width: 85vw;
	}
}


/*************** Custom Post Slider (horizontal) ***************/
.horizontal .cus-slider-item {
  	min-width: min(500px, 33vw);
	min-height: min(calc(500px * 0.75), calc(33vw * 0.75));
	height: initial;
	max-height: unset;
	background-color: #fff;
  	position: relative;
	margin: 0 0.75rem;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 8px;
}

.slider-item-bg {
	width: 100%;
	min-height: min(calc(33vw * 0.5), 230px);
    max-height: unset;
	min-width: inherit;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.slider-item-cont {
	padding: clamp(1rem, 5vw, 30px);
	display: flex;
	justify-content: space-between;
	flex: 1;
	box-sizing: border-box;
}

.cus-slider-link {
	padding-left: 10%;
	align-self: center;
}
.cus-slider-link > img {
	min-width: 25px;
	transition: transform 0.2s ease-in-out;
}
.cus-slider-link:hover img {
	transform: translatex(8px)
}

.slider-item-inner > p {
	margin-bottom: 0;
	line-height: 150%;
}

.slider-item-inner .cus-slider-title {
	color: #48636E;
	margin-bottom: 1.5rem;
	line-height: 120%;
}
.slider-item-inner .cus-slider-title:hover {
	color: #5093b3;
}

@media screen and (max-width: 1200px) {
	.horizontal .cus-slider-item {
		min-width: min(500px, 40vw);
		min-height: min(calc(500px * 0.75), calc(40vw * 0.75));
	}
	.horizontal .slider-item-bg {
		min-height: min(calc(40vw * 0.5), 200px);
	}
}
@media screen and (max-width: 849px) {
	.horizontal .cus-slider-item {
		min-width: min(500px, 58vw);
		min-height: min(calc(500px * 0.75), calc(58vw * 0.75));
	}
	.horizontal .slider-item-bg {
		min-height: min(calc(58vw * 0.5), 200px);
	}
	.slider-item-cont {
		flex-direction: column;
		padding: clamp(1rem, 5vw, 30px);
	}
	.cus-slider-link {
		padding-left: 0%;
		padding-top: 8px;
		align-self: flex-end;
	}
}

@media screen and (max-width: 849px) {
	.horizontal .cus-slider-item {
		min-width: min(500px, 65vw);
		min-height: min(calc(500px * 0.75), calc(65vw * 0.75));
	}
}


/*************** Global Padding ***************/
.row-collapse:not(.row-full-width)  .col { padding-left:15px !important; padding-right:15px !important; }
.row .row:not(.row-full-width)  { padding-left:0 !important; padding-right:0 !important; }

@media ( min-width:1280px ) {
    .row.row-collapse:not(.row-full-width)  { max-width:1280px !important; }
    .banner .container { max-width:1250px; }
    .post-header .overlay-content { padding-left:30px !important; padding-right:30px !important; }
}

@media ( min-width:850px ) and (max-width:1279.98px ) {
    .header-wrapper,
    .row:not(.row-full-width) { padding-left:15px !important; padding-right:15px !important; }
    .banner:not(.row-full-width) .banner-inner,
    .post-header .overlay-content {  padding-left:30px !important; padding-right:30px !important; }
}

@media ( min-width:480px ) and ( max-width:849.98px) {
    .header-wrapper,
    .row:not(.row-full-width) { padding-left:35px !important; padding-right:35px !important; }
    .banner:not(.row-full-width) .banner-inner {  padding-left:25px !important; padding-right:25px !important; }
    .post-header .overlay-content { padding-left:50px !important; padding-right:50px !important; }
}

@media ( max-width:479.98px ) {
    .header-wrapper,
    .row:not(.row-full-width) { padding-left:10px !important; padding-right:10px !important; }
    .banner:not(.row-full-width) .banner-inner,
    .post-header .overlay-content { padding-left:25px !important; padding-right:25px !important; }
}


/*************** Line Scroller ***************/
#indicator {
  	-webkit-animation: elasticus 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  	/* Safari 4+ */
  	-moz-animation: elasticus 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  	/* Fx 5+ */
  	-o-animation: elasticus 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  	/* Opera 12+ */
  	animation: elasticus 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  	/* IE 10+, Fx 29+ */
  	margin: 12px auto;
	display: block;
  	width: 1px;
  	height: 50%;
	max-height: 400px;
  	background: #fff;
    z-index: 99999;
    position: absolute;
    left: 50%;
}
@keyframes elasticus {
  0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
  }
  50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
  }
  50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
  }
  100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
  }
} 


/***** NAV SLIDER ******/ 



.cus-slides .nav-line-bottom{
	flex-flow:row;
	
}

.cus-slides .nav>li {

    flex: 1 0 max-content;
	text-align:center;

}

@media screen and (min-width: 1280px) {
	

	
	.cus-slides .nav>li {

   flex: unset; 

}
	
	.cus-slides .nav-left{
		justify-content: space-between
	
	}
	
	
}

@media screen and (max-width: 1080px){
	
	body{
		overflow-x: hiddden;
		overflow-y: hidden;
	}
	
	/* Bottom Header overscroll indicator */
	.cus-slider2::before {
		content: "";
		z-index: 1000;
		height: 20px;
		width: 20px;
		position: absolute;
		right: 10px!important;
		top: 50%!important;
		left: unset!important;
		bottom: unset!important;
		transform: translateY(-50%);
		-webkit-mask: url('/wp-content/uploads/2024/04/arrow-right.svg') no-repeat center / contain; 
		mask: url('/wp-content/uploads/2024/04/arrow-right.svg') no-repeat center / contain;
		background-image: unset!important;
		background-color: #b3302a;
		opacity: 1;
		animation: bounce 1s infinite alternate;
		display: none;
	}

	.cus-slider2.addmarker::before{
		display:block;
	}

	@keyframes bounce {
		0% {
			transform: translateY(-50%) translateX(0);
		}
		100% {
			transform: translateY(-50%) translateX(-10px);
		}
	}

	.cus-slider2.reached-end::before {
	  display:none!important;
	}

}


.cus-slider2 {
	min-width: 100vw;
	overflow-x: scroll;
	/* display: -webkit-box;
	display: -ms-flexbox; */
	/* display: flex; */
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	/*padding-bottom: 1.5rem; */
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	padding-left: calc((100vw - 1280px) / 2);
	padding-right: calc((100vw - 1280px) / 2);
}

/* -------------- */
/* Scroll Bar */
/* -------------- */
.cus-slider2.small-scoll::-webkit-scrollbar-track {
	/* margin-right: 20px;
	margin-left: 75vw; */
	margin-right: 25vw!important;
	margin-left: 25vw!important;
}

.cus-slider2::-webkit-scrollbar {
	
	display: none;
	height: 3px;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

.cus-slider2::-webkit-scrollbar-track {
	margin-right: max(20px, var(--containerPadding));
	margin-left: max(20px, var(--containerPadding));
}

#col2-slider.cus-slider2::-webkit-scrollbar-track {
	margin-right: calc(100vw * 0.08);
	margin-left: calc(100vw * 0.08);
}

.cus-slider2::-webkit-scrollbar-thumb {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	background-color: #ea5173;
	border-radius: 100px;
	-webkit-transition: background 0.1s ease-in-out;
	transition: background 0.1s ease-in-out;
}

.cus-slider2::-webkit-scrollbar-track-piece {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	background-color: rgba(200, 200, 200, 0.3);
	border-radius: 100px;
	-webkit-transition: background 0.1s ease-in-out;
	transition: background 0.1s ease-in-out;
}

.mfp-bg.off-canvas-center:not(.dark) {
    opacity: 1!important;
}

/*************** Accordion ***************/


.faq-icon .icon-angle-down:before{
	
    font-size: 40px;
    color: #fff;
    display: inline-block;
    width: 33px;
    height: 35px;
    position: relative;
    top: -14px;
    background-size: 36px;
    content: "+" !important;
    background-repeat: no-repeat;
}
	
	
.faq-icon .accordion-title {
	
/* 	font-family: "Ivy"!important; */
	color: #fff!important;
	font-size: clamp(20px, 3vmin, 26px)!important;
	font-weight: 300!important;
	padding-left: initial!important;

}

.toggle {
	opacity:1!important;
}

.active>.toggle {
    transform: rotate(45deg)!important;
}

/** SVG on-scroll **/
.draw-svg-logo-right.section {
    overflow: visible;	
}

.draw-svg-logo-r {
    position: absolute;
    height: 65vw;
	max-width: 1100px;
    top: 50%;
	right: 0;
    transform: translatey(-50%) translatex(20%);
}
@media screen and (max-width: 849px) {
    .draw-svg-logo-r {
        display: none;
    }
}


.bo-right-start a{
	color: #000!important;
	font-weight:800!important;
}

.bo-right{
	text-indent: 20px;
}

p {
    margin-bottom: 20px;
}

/* 2-column Form */
#left {
	width: 47%;
	float: left;
	margin-right: 5%;
}

#right {
	width: 47%;
	float: left;
}

.2col:after {
	content:"\0020";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hiddin;
	margin-bottom: 20px;
}

.2col:after {
	display:block;
}

.article-underline a {
    border-bottom: 2px solid #B3302A!important;
    text-decoration: none!important;
    font-weight: 600!important;
}
/* Two-column layout for key fields */
#rd-contact-form .rd-form-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

/* Make labels behave nicely in the grid */
#rd-contact-form .rd-form-grid .rd-field{
  display: block;
  margin: 0;
}

/* Ensure inputs fill the column width */
#rd-contact-form .rd-form-grid input,
#rd-contact-form select,
#rd-contact-form textarea{
  width: 100%;
  box-sizing: border-box;
}

/* Mobile: stack to one column */
@media (max-width: 768px){
  #rd-contact-form .rd-form-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Apply site font to all Gravity Forms */
.gform_wrapper,
.gform_wrapper input,
.gform_wrapper select,
.gform_wrapper textarea,
.gform_wrapper label,
.gform_wrapper legend {
  font-family: "Rubik", sans-serif !important;
}

/* Style all Gravity Forms submit buttons */
.gform_wrapper input.gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper button.gform_button,
.gform_wrapper button[type="submit"] {
  background-color: #b3302a !important;
  color: #fff !important;
  border: none !important;
  font-family: "Rubik", sans-serif !important;
}