/** GLOBAL CSS **/
:root {
    --color-primary: #298C87;
    --color-secondary: #0D4240;
    --color-tertiary: #FBF0D9;
	--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 {
	overflow-x: hidden !important;
}
html {
    scroll-behavior: smooth;
}

a:hover, a:focus {
    outline: none;
}

/* //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;
}
.full-link, .full-link a {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    opacity: 0;
}
.ry-btn-wrap {
    margin-top: 1.5rem;
    display: flex;
	gap: 10px;
}
.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(1.875rem, 1.3971rem + 1.9608vw, 3.75rem);
	letter-spacing: -1px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--color-secondary);
	font-family: "Jost";
}
body .ry-headline span {
	font-size: clamp(1.25rem, 1.1863rem + 0.2614vw, 1.5rem);
    letter-spacing: 10px;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--color-primary);
    font-weight: 400;
    display: block;
}
.ry-headline {
    margin-bottom: 1.5vw;
}
.ry-section-padding {
	padding: 6rem 0;	
}
.slick-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    gap: 7px;
    margin-top: 2vw;
}
.slick-dots li,
.slick-dots button {
    opacity: 0.400;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background-color: var(--color-secondary);
    color: transparent;
}
.slick-dots li.slick-active,
.slick-dots li.slick-active button {
    background-color: var(--color-secondary);
    opacity: 1;
}
@media (max-width: 1080px) {
	.ry-btn-wrap {
		justify-content: center;
	}
}
/** END GLOBAL CSS **/

/** HP HERO SECTION **/
.module-66 .bnr-textbox .ry-section-title {
    font-size: clamp(1.875rem, 0.7598rem + 4.5752vw, 6.25rem);
    line-height: 1.1;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 300 !important;
}
.module-66 .bnr-textbox .ry-section-title span {
    color: var(--color-tertiary);
}
@media (min-width: 1081px) {
	.module-66, .module-66 img {
		height: 100dvh;
		object-fit: cover;
		object-position: top;
	}
}
/** END HP HERO SECTION **/

	/** HP WELCOME **/
.ry-vs-ads {
    position: absolute;
    left: 0;
    bottom: 80px;
    max-width: 280px;
	z-index: 9;
}
	
/** HP SERVICES SECTION **/
.ry-group-bg {
    position: relative;
    min-height: 1675px;
    height: 100%;
	margin-top: -7rem;
}
.ry-group-bg .ry-section-background {
    z-index: 9;
}
div#section-services, #section-team {
    position: relative;
    z-index: 9;
}
.ry-hp-services-custom .ry-container {
    width: min(1280px, 90%);
}
.ry-hp-services-custom {
    padding: 6rem 0;
}
.ry-hp-services-custom .ry-headline * {
    color: var(--color-tertiary);
}
.ry-hp-services-custom .ry-services-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    margin-top: 2rem;
}
.ry-hp-services-custom .ry-services-flex .ry-each {
    width: min(218px, 100%);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}
.ry-hp-services-custom .ry-services-flex .ry-each .ry-services-icon-circle {
    width: 100%;
    height: 218px;
    background: var(--color-tertiary);
    border-radius: 50%;
    display: grid;
    place-content: center;
    position: relative;
}
.ry-hp-services-custom .ry-services-flex .ry-each .ry-services-name p {
    font-size: 20px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-tertiary);
    text-align: center;
}
.ry-hp-services-custom .ry-services-flex .ry-each .ry-services-icon-circle:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
}
.ry-hp-services-custom .ry-services-flex .ry-each:hover .ry-services-icon-circle {
    background: var(--color-primary);
}
.ry-hp-services-custom .ry-services-flex .ry-each:hover .ry-services-icon-circle:before {
    border: 1px solid var(--color-tertiary);
}
.ry-hp-services-custom .ry-services-flex .ry-each:hover .ry-services-icon-circle img {
    filter: brightness(0) saturate(100%) invert(92%) sepia(8%) saturate(543%) hue-rotate(351deg) brightness(104%) contrast(97%);
}
.ry-hp-services-custom .ry-services-flex .ry-each:hover .ry-services-name p {
    font-weight: bold !important;
}

/** END HP SERVICES SECTION **/

/** HP TEAM SECTION **/
.ry-hp-team-custom {
    padding: 6rem 0;
}
.ry-hp-team-custom .ry-container {
    width: min(1280px, 90%);
}
.ry-hp-team-custom .ry-flex {
    gap: 6rem;
    align-items: center;
}
.ry-hp-team-custom .ry-flex .ry-headline * {
    color: var(--color-tertiary);
}
.ry-hp-team-custom .ry-text p {
    color: #fff;
}
.ry-hp-team-custom .ry-flex .ry-each.ry-img-wrap {
    width: min(575px, 100%);
}
.ry-hp-team-custom .ry-flex .ry-btn-wrap a:hover {
    border: 1px solid #fff;
}
/** END HP TEAM SECTION **/

/** HP BRANDS **/
.module-brand .ry-brands-logo-circle {
    position: absolute;
    top: -6rem;
    z-index: 9;
    display: grid;
    place-content: center;
}
.module-brand .ry-brands-logo-circle .ry-circle-wrap {
    width: 169px;
    -webkit-animation: rotate-center 10s linear infinite;
    animation: rotate-center 10s linear infinite;
}
@-webkit-keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/** END HP BRANDS **/

/** FOOTER SECTION **/
.ry-footer-custom {
    position: relative;
    padding: 8rem 0 0;
    min-height: 1261px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-top: -12rem;
}
.ry-footer-custom .ry-section-background, .ry-footer-custom .ry-section-background img {
    object-position: top;
}
.ry-footer-custom .ry-container {
    width: min(1280px, 90%);
}
.ry-footer-bottom {
    padding: 30px 0;
    background: #fff;
}
.ry-footer-bottom .ry-flex * {
    font-size: 17px;
}
.ry-footer-bottom .ry-flex {
    align-items: center;
}
.ry-footer-bottom .ry-flex .ry-each.ry-each-right {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    align-items: center;
}
.ry-footer-bottom .ry-flex .ry-each.ry-each-right img {
    max-width: 120px;
    object-fit: contain;
}
.ry-footer-custom .ry-content {
    margin-bottom: 6rem;
}
.ry-footer-custom .ry-content .ry-flex {
    gap: 6rem;
    align-items: center;
}
.ry-footer-title h4 {
    font-size: clamp(1.625rem, 1.2745rem + 1.4379vw, 3rem);
    line-height: 1.1;
    text-transform: uppercase;
    color: #ffffff;
}
.ry-footer-custom  .ry-footer-contact-details * {
    color: #fff;
}
.ry-footer-custom .ry-footer-contact-details .ry-hours .span-3 {
    font-size: 15px;
}
.ry-footer-contact-details {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-left: 60px;
}
.ry-footer-contact-details > div {
    position: relative;
    display: flex;
    align-items: center;
}
.ry-footer-contact-details > div:before {
    content: '';
    font-family: 'FontAwesome';
    font-size: 22px;
    color: var(--color-secondary);
    display: grid;
    place-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--color-tertiary);
    position: absolute;
    left: -60px;
}
.ry-footer-contact-details > div.ry-hours {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
}
.ry-footer-contact-details > div.ry-hours ul {
    padding-left: 0;
    list-style: none;
}
.ry-footer-contact-details .ry-address:before {
    content: '\f3c5';
}
.ry-footer-contact-details .ry-phone:before {
    content: '\f095';
}
.ry-footer-contact-details .ry-fax:before {
    content: '\f1ac';
}
.ry-footer-contact-details .ry-email:before {
    content: '\f0e0';
}
.ry-footer-contact-details .ry-hours:before {
    content: '\f017';
}
.ry-footer-contact-details .ry-email a {
    text-decoration: underline !important;
    text-underline-offset: 5px;
}
.ry-footer-contact-details .ry-email a:hover {
    text-decoration: none !important;
} 
.ry-map-wrapper {
    border-radius: 40px;
    box-shadow: inset -2.598px 1.5px 27px rgba(45,45,45,0.35);
    overflow: hidden;
    border: 3px solid #fbf0d9;
    padding: 12px;
}
.ry-map-wrapper .ry-map-iframe {
    border-radius: 30px;
    overflow: hidden;
}
/** PLACE YOUR MOBILE AND UP CSS HERE **/
@media (max-width: 1280px) {
	.ry-hp-services-custom .ry-services-flex {
		width: min(900px, 100%);
		margin: 2rem auto 0;
		float: none;
	}	
}
@media (max-width: 1080px) {
	.ry-group-bg {
		margin-top: 0;
	}
	
	.module-66 .bnr-textbox {
		position: relative;
		inset: unset;
		margin-bottom: 0 !important;
		padding: 2rem;
		background: var(--color-primary);
	}

	.ry-hp-services-custom .ry-services-flex {
		gap: 3rem;
	}

	.ry-hp-team-custom .ry-flex {
		flex-direction: column;
	}
	.ry-hp-team-custom .ry-flex .ry-each.ry-text-wrap * {
		text-align: center;
	}

	.ry-footer-custom .ry-content .ry-flex {
		flex-direction: column;
	}
	.ry-footer-title h4 {
		text-align: center;
	}
	.ry-footer-contact-details {
		padding-left: 0;
		justify-content: center;
		align-items: center;
	}
	.ry-footer-contact-details > div {
		flex-direction: column !important;
		gap: 10px;
		align-items: center !important;
	}
	.ry-footer-contact-details > div:before {
		position: relative;
		left: unset;
	}
	.ry-footer-bottom .ry-flex {
		flex-direction: column;
		justify-content: center;
	}
	.ry-footer-bottom .ry-flex .ry-each.ry-each-right {
		justify-content: center;
		flex-direction: column;
	}
	.ry-footer-bottom .ry-flex * {
		text-align: center;
	}
	.ry-footer-custom .ry-footer-contact-details * {
		color: #fff;
		text-align: center;
	}
	.ry-footer-custom .ry-footer-contact-details .ry-hours ul li {
		display: flex;
		flex-direction: column;
	}
}

@media (max-width: 768px) {

    /** PLACE YOUR LAPTOP AND UP CSS HERE **/
    
}

@media (max-width: 560px) {
	.module-welcome.style-3 {
		padding: 4rem 0;
	}
	.ry-vs-ads {
		position: relative;
		bottom: 0;
	}
	.module-welcome.style-3 .ry-each {
		flex-direction: column;
		gap: 2rem;
	}
	.module-welcome.style-3 .ry-flex {
		gap: 2rem;
	}
	
	.ry-hp-services-custom .slick-dots {
		padding-left: 0;
	}
	.ry-hp-services-custom .slick-dots li,
	.ry-hp-services-custom .slick-dots button {
		background-color: var(--color-primary);
			}
	.ry-hp-services-custom .slick-dots li.slick-active,
	.ry-hp-services-custom .slick-dots li.slick-active button {
		background-color: var(--color-primary);
			opacity: 1;
			}
	.ry-hp-services-custom .ry-services-flex .ry-each .ry-services-icon-circle {
		width: 218px;
	}
	.ry-hp-services-custom {
		padding-bottom: 2rem;
	}


	.module-promo {
		margin-left: 0;
		width: 100%;
	}
	.module-promo .promo-block {
		margin-left: 0 !important;
	}
	.module-promo .ry-flex .text-wrapper .ry-text * {
		text-align: center;
	}
	.module-promo .ry-flex .text-wrapper .span-1 {
		margin: 15px auto;
	}
	body.default .module-promo .ry-btn {
		max-width: max-content;
	}
}