/** GLOBAL CSS **/
:root {
    --color-primary: #253c5e;
    --color-secondary: #e21d1e;
    --color-tertiary: ;
	--background-transparent: transparent;
    --filter-color-primary: brightness(0) invert(20%) sepia(4%) saturate(3511%) hue-rotate(181deg) brightness(89%) contrast(79%);
    --filter-color-secondary: brightness(0) invert(77%) sepia(52%) saturate(282%) hue-rotate(162deg) brightness(96%) contrast(90%);
	
	--color-text-white: #fff;
	--color-text-dark: #000;
}

*:not(.carousel *):not(.ry-accordion *):not(#accordion *):not([data-aos-duration]):not(.slick-track):not(#ry-section-header *):not(.fancybox-slide *),
::before,
::after {
    transition: 0.3s ease-in-out all;
}
html, body {
	overscroll-behavior: none;
	overflow-x: hidden !important;
}
html {
    scroll-behavior: smooth;
}

/* //Removed excess margin on bottom on forms alert */
.alert li:last-child {
    margin-bottom: 0 !important;
}

/* //Add Underline on all hyperlink */
body.default #ry-pg-body a:not(.ry-btn):not(.fa):hover {
    text-decoration: underline !important;
}
.ry-each-link, .ry-each-link a {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    opacity: 0;
}
.ry-btn-wrap {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
}
.ry-section-background, .ry-section-background img {
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
	object-fit: cover;
}
body .ry-headline h2 {
    font-size: clamp(2.5rem, 1.8627rem + 2.6144vw, 5rem);
    letter-spacing: 6px;
    text-transform: uppercase;
    color: #253c5e;
    font-family: "Clash Display";
}
body .ry-headline h4 {
    opacity: 0.600;
    font-size: clamp(1.375rem, 1.3272rem + 0.1961vw, 1.5625rem);
    letter-spacing: 6px;
    text-transform: uppercase;
    color: #000000;
    font-family: "Clash Display";
}
.ry-headline {
    margin-bottom: 1.5vw;
}
.ry-section-padding {
	padding: 6vw 0;	
}
.ry-services-custom .ry-container, .ry-team-custom .ry-container, .ry-location-custom .ry-container, .ry-testimonial-custom .ry-container  {
    max-width: 1280px;
    width: 90%;
}
/** END GLOBAL CSS **/
	
	
/** HOMEPAGE SERVICES CUSTOM **/
.ry-services-custom {
    position: relative;
    padding: 6em 0 10em;
}
.ry-services-custom .ry-services-float-img, .ry-services-custom .ry-services-float-img img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 534px;
    z-index: 2;
}
.ry-services-custom .ry-headline h2 {
    color: #fff;
}
.ry-services-custom .ry-headline {
    margin-bottom: 3vw;
}
.ry-services-custom .ry-headline h4 {
    color: #fff;
    opacity: 0.4;
}
.ry-services-custom .ry-flex {
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}
.ry-services-custom .ry-flex .ry-each {
    width: calc(50% - 30px);
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.5vw;
    border-radius: 21px;
    background: #fff;
    padding: 30px;
	background: linear-gradient(to left, #253c5e 50%, #fff 50%);
	background-size: 200% 100%;
	background-position: left bottom;
	transition: all .6s ease-out !important;
}
.ry-services-custom .ry-flex .ry-each .ry-srvc-icon-wrap, .ry-services-custom .ry-flex .ry-each .ry-srvc-icon-wrap img {
    width: max-content;
}
.ry-services-custom .ry-flex .ry-each:nth-child(even) {
    justify-content: flex-start;
    flex-direction: row-reverse;
}
.ry-services-custom .ry-srvc-title {
    font-size: clamp(1.5rem, 1.4044rem + 0.3922vw, 1.875rem);
    letter-spacing: -1px;
    color: #253c5e;
    font-weight: 700 !important;
    font-family: "Inter";
}
.ry-services-custom .ry-flex .ry-each:nth-child(even) .ry-srvc-title {
    text-align: right;
}
.ry-services-custom .ry-flex .ry-each:hover {
    background-position: right bottom;
}
.ry-services-custom .ry-flex .ry-each:nth-child(odd):hover {
    background-position: left bottom;
}
.ry-services-custom .ry-flex .ry-each:nth-child(odd) {
    background: linear-gradient(to left, #fff 50%, #253c5e 50%);
    background-size: 200% 100%;
    background-position: right bottom;
}
.ry-services-custom .ry-flex .ry-each:hover .ry-srvc-title {
    color: #fff;
}
/** END HOMEPAGE SERVICES CUSTOM **/	
	
/** HOMEPAGE TEAM CUSTOM **/
.ry-team-custom {
    position: relative;
    padding: 6em 0
}
.ry-team-custom .ry-headline h2,
.ry-team-custom .ry-headline h4 {
    color: #fff;
}
.ry-team-custom .ry-flex {
    margin-top: 4vw;
    gap: 4em;
}
.ry-team-custom .ry-flex .ry-team-details {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    padding: 0 0 20px 20px;
    border-bottom: 1px solid #534f4d;
	cursor: pointer;
}
.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks .ry-doc-icon {
    max-width: 59px;
}
.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks .ry-doc-title p {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0;
}
.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks .ry-doc-title p strong {
    color: #fff;
    font-size: 18px;
}
.ry-team-custom .ry-container .ry-text p {
    padding: 0 2em;
}
.ry-team-custom .ry-center-doc-details {
    padding: 2em;
    background: #253b5d;
    border-radius: 0 0 30px 30px;
}
.ry-team-custom .ry-center-doc-details * {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0;
    color: #c8c8c8
}
.ry-team-custom .ry-center-doc-details strong {
    font-size: 18px;
    color: #fff
}
.ry-team-custom .ry-center-doc-details .ry-doc-btn {
    display: flex;
    justify-content: center;
    margin-top: 1vw;
}
.ry-team-custom .ry-center-doc-details .ry-doc-btn a {
    height: 50px;
}
.ry-team-custom .ry-center-doc-details .ry-doc-btn a:hover {
    border: 1px solid #fff;
}
.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks:hover .ry-doc-title p strong,
.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks.active .ry-doc-title p strong {
    color: #e21d1e;
}
.ry-team-custom .ry-flex .ry-team-img-wrap .ry-team-center:not(.active) {
    display: none;
}
/** END HOMEPAGE TEAM CUSTOM **/

/** HOMEPAGE TESTIMONIALS CUSTOM **/
.ry-testimonial-custom {
    padding: 6em 0;
    position: relative;
    margin-top: -2px;
}
.ry-testimonial-custom .ry-card-wrap {
    display: flex;
    flex-direction: column;
    gap: 15px;
    border-radius: 38px;
    border: 2px solid #fff;
    padding: 4em 2.5em;
    background: rgb(255 255 255 / 30%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    position: relative;
    overflow: hidden;
}
.ry-testimonial-custom .ry-card-wrap .ry-testi-name {
    margin-top: 2vw;
}
.ry-testimonial-custom .ry-card-wrap .star-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}
.ry-testimonial-custom .ry-card-wrap .star-wrapper svg {
    width: 22px;
    fill: #e5b353;
}
.ry-testimonial-custom .ry-card-wrap * {
    text-align: center;
}
.ry-testimonial-custom .ry-card-wrap .ry-text p {
    color: #333;
    font-size: 18px;
    line-height: 1.4;
}
.ry-testimonial-custom .ry-testi-name p {
    font-size: 18px;
    letter-spacing: 0px;
    line-height: 26px;
    color: #333333;
    font-weight: 600 !important;
}
.ry-testimonial-custom-slider .slick-track .swiper-slide {
    margin: 0 20px;
}
.ry-testimonial-custom .slick-dots {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding-left: 0;
    width: 15px;
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
}
.ry-testimonial-custom .slick-dots li {
    list-style-type: none;
}
.ry-testimonial-custom .slick-dots li, 
.ry-testimonial-custom .slick-dots li button {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background-color: #99a2ae;
    border: none;
    color: transparent;
}
.ry-testimonial-custom .slick-dots li.slick-active, 
.ry-testimonial-custom .slick-dots li.slick-active button {
    width: 13px;
    height: 13px;
    background-color: #253c5e !important;
}
/** END HOMEPAGE TESTIMONIALS CUSTOM **/
	
/** HOMEPAGE OUR LOCATION **/
.ry-location-custom {
    padding: 6em 0;
    position: relative;
}
.ry-location-custom .ry-headline h2 {
    font-size: clamp(1.75rem, 1.5588rem + 0.7843vw, 2.5rem);
    letter-spacing: 3px;
}
.ry-location-custom .ry-content .ry-location-wrap {
    display: flex;
    justify-content: flex-start;
    gap: 3em 2em;
    flex-wrap: wrap;
}
.ry-location-custom .ry-content .ry-location-wrap .ry-each {
    width: calc(660px - 2em);
    display: flex;
    gap: 1.5em;
    align-items: center;
}
.ry-location-custom .ry-content .ry-location-wrap .ry-each .ry-loc-img-wrap, .ry-location-custom .ry-content .ry-location-wrap .ry-each .ry-loc-img-wrap img {
    max-width: 179px;
}
.ry-location-custom .ry-location-wrap .ry-each .ry-loc-details .ry-loc-title h4 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
}
.ry-location-custom .ry-location-wrap .ry-each .ry-loc-details .ry-loc-title p {
    font-size: 16px !important;
    line-height: 1.4;
    color: #333;
}
.ry-location-custom .ry-location-wrap .ry-each .ry-loc-details .ry-loc-title p .span-1 a {
    font-weight: 700;
}
.ry-location-custom .ry-location-wrap .ry-each .ry-loc-details .ry-loc-title p a:hover {
    color: #e21d1e;
}
	
/** END HOMEPAGE OUR LOCATION **/	

/** HOMEPAGE MAP **/
.module-map.custom .map-wrapper {
	max-width: 1280px;
	width: 90%;
    margin: 0 auto;
	border-radius: 41px;
	filter: drop-shadow(0 0 42px rgba(0, 0, 0, 0.11));
	border: 10px solid #ffffff66;
}
.module-map.custom {
    position: relative;
    padding: 0 0 2em;
}
.module-map.custom:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: #253b5d;
}
.module-map.custom .map-wrapper #mapCustom {
	height: 667px;
	border-radius: 30px;
}
/** END HOMEPAGE MAP **/
	
/** HOMEPAGE RESPONSIVENESS **/
@media (max-width: 1366px) {
	.ry-services-custom .ry-services-float-img, .ry-services-custom .ry-services-float-img img {
		max-width: 400px;
	}
	.ry-location-custom .ry-content .ry-location-wrap .ry-each {
		width: calc(550px - 2em);
		display: flex;
		gap: 1.5em;
		align-items: center;
	}
}
@media (max-width: 1080px) {
	body .ry-headline h2, body .ry-headline h4 {
		text-align: center;
	}
	.module-66 .carousel .carousel-inner .item,
	.module-66 .carousel .carousel-inner .item img {
		height: auto;
	}
	.module-66 .carousel {
		margin-top: 70px;
	}
	.module-66 .bnr-textbox {
		position: relative;
		padding: 2em;
		margin-bottom: 0  !important;
		background: #253c5e;
	}
	.ry-services-custom .ry-services-float-img, .ry-services-custom .ry-services-float-img img {
		max-width: 330px;
	}
	.ry-team-custom .ry-flex,
	.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks {
		flex-direction: column;
	}
	.ry-team-custom .ry-flex .ry-team-details .ry-team-blocks .ry-doc-title p {
		text-align: center;
	}
	.ry-location-custom .ry-content .ry-location-wrap .ry-each {
		width: calc(450px - 2em);
	}
	.module-16 #footer-row1 .card-wrap {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
	.module-16 #footer-row1 .card-wrap * {
		text-align: center;
	}
	.module-16 #footer-row1 .card .card-body .office-hours .day-and-time-wrap .day-and-time span.span-1 {
		width: 100%;
	}
	.social-lists {
		justify-content: center;
	}
}
@media (max-width: 768px) {
	.ry-services-custom .ry-services-float-img, .ry-services-custom .ry-services-float-img img {
        display: none;
    }	
	.ry-location-custom .ry-content .ry-location-wrap .ry-each {
		width: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.ry-location-custom .ry-content .ry-location-wrap .ry-each .ry-loc-details * {
		text-align: center;
	}
	.ry-services-custom .ry-flex .ry-each {
		width: 100%;
		justify-content: center !important;
	}
	.ry-services-custom {
		padding: 6em 0;
	}
	.ry-testimonial-custom .slick-dots {
		right: unset;
		transform: unset;
		flex-direction: row;
		left: 50%;
		bottom: -70%;
		height: auto;
	}
	.ry-testimonial-custom .slick-dots li, .ry-testimonial-custom .slick-dots li button {
		background: #fff;
	}
}
@media (max-width: 500px) {
	.module-66 .bnr-textbox .ry-section-sub-title {
		width: 100%;
		margin-top: 10px;
	}
	.module-66 .bnr-textbox .ry-section-sub-title:before, .module-66 .bnr-textbox .ry-section-sub-title:after {
		display: none;
	}
	.module-66 .bnr-textbox {
		padding: 2em 1em;
	}
	.ry-testimonial-custom .ry-card-wrap {
		padding: 2em;
	}
	.ry-testimonial-custom .ry-headline {
		margin-bottom: 2em;
	}
}
	