/** GLOBAL CSS **/
:root {
    --color-primary: #403F1E;
    --color-secondary: #A89E5D;
    --color-tertiary: #B08A39;
	--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;
}
	
body, body p, body div{font-family: 'Source Sans 3' !important;font-weight: 300;font-size: 20px;}
	
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;
    justify-content: center;
	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.2059rem + 2.7451vw, 4.5rem);
	line-height: 1.1;
	text-transform: capitalize;
	color: #333333;
	font-weight: 400;
	font-family: "Poiret One"; /* Poiret One */
}
body .ry-headline span {
	font-size: clamp(1.375rem, 1.3272rem + 0.1961vw, 1.5625rem);
	letter-spacing: 10px;
	line-height: 1.1;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--color-tertiary);
	font-family: "Poiret One"; /* Poiret One */
}
.ry-headline {
    margin-bottom: 1.5vw;
}
.ry-section-padding {
	padding: 6rem 0;	
}
body[data-page-name="index"] .ry-btn {
    min-width: unset;
    margin: unset;
    font-size: clamp(1.25rem, 1.1703rem + 0.3268vw, 1.5625rem);
    font-weight: 300;
    color: #fff;
    padding: 16px 25px;
    line-height: 1.1;
}
body[data-page-name="index"] .ry-text p {
    font-size: clamp(1.25rem, 1.1703rem + 0.3268vw, 1.5625rem);
    color: #333333;
    font-weight: 300;
}

body#ry-pg-body #navigation img {
    max-width: 140px;
}
.ry-btn.ry-btn-primary, .ry-btn.ry-btn-secondary {
    text-decoration: none;
}

/** END GLOBAL CSS **/

/** HEADER **/
.ry-header-btn {
	position: relative;
    padding: 10px 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--color-primary);
	color: #fff;
}
.ry-header-btn a {
    font-size: clamp(1.375rem, 1.3272rem + 0.1961vw, 1.5625rem);
    text-transform: uppercase;
    line-height: 1.1;
	font-weight: 300;
}
.ry-header-btn:hover {
	background: var(--color-secondary);
}
.ry-header-btn .cta-icon-wrap span.cta-icon {
    width: 44px;
    height: 44px;
}
body[data-page-name="index"] div#navigation {
    position: absolute;
    top: 0;
    z-index: 99;
}
.ry-menu .ry-nav li.primary {
    margin-top: 0;
}
.footer-social-wrapper a {
	color: var(--color-primary);
}
.ry-menu .ry-nav li.primary a {
    font-size: clamp(1.375rem, 1.3272rem + 0.1961vw, 1.5625rem);
    font-weight: 300
}
.footer-social-wrapper {
    margin: unset
}
.ry-menu .ry-nav .dropdown-menu.hover a {
    display: block;
    padding: 10px 25px;
}
.ry-menu .ry-nav li.primary > a {
    color: var(--color-primary);
}
.ry-menu .ry-nav li.primary > a .caret {
    border-color: var(--color-primary);
}
	
/** HP WELCOME **/
.ry-hp-welcome-custom {
    position: relative;
}
.ry-hp-welcome-custom .ry-container {
    max-width: 1440px;
    width: 90%;
}
.ry-hp-welcome-custom .ry-flex {
    gap: 4rem;
}
.ry-hp-welcome-custom .ry-flex .ry-each {
    width: max-content;
}
.ry-hp-welcome-custom .ry-flex .ry-each.ry-img-wrap {
    max-width: 568px;
    width: 100%;
}
.ry-hp-welcome-custom .ry-flex .ry-each.ry-img-wrap img {
    width: 100%;
}
.ry-hp-welcome-custom .ry-flex .ry-text {
    width: min(544px, 100%);
    margin: 0 auto;
    
}
.ry-hp-welcome-custom .ry-flex .ry-text p {
    font-size: clamp(1.25rem, 1.1703rem + 0.3268vw, 1.5625rem);
}
.ry-hp-welcome-custom .ry-btn-wrap {
    flex-direction: column;
    align-items: center;
	margin-top: 3rem;
}
.ry-hp-welcome-custom .ry-btn-wrap .ry-btn {
    width: 100%;
    max-width: 300px;
}
	
/** HP SERVICES **/
.ry-hp-services-custom {
    position: relative;
    padding: 8rem 0 18rem;
}
.ry-hp-services-custom .ry-container {
    width: min(1280px, 90%);
}
.ry-hp-services-custom .ry-flex {
    gap: 30px;
    justify-content: center;
    margin-top: 9rem
}
.ry-hp-services-custom .ry-flex .ry-each {
    width: 100%;
    position: relative;
    padding: 7rem 2rem 2rem;
    background: #ecebe5;
    border: 6px solid #996c41;
}
.ry-hp-services-custom .ry-headline h2 {
    color: #fff;
}
.ry-services-icon-blocks {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -83.5px;
    left: 50%;
    transform: translateX(-50%);
}
.ry-services-icon-blocks .ry-services-icon-wrap {
    background-color: var(--color-secondary);
    width: 167px;
    height: 167px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.ry-services-icon-blocks .ry-services-icon-wrap:before {
    content: '';
    border: 2px solid var(--color-tertiary);
    width: 180px;
    height: 180px;
    border-radius: 50%;
    position: absolute;
}
.ry-hp-services-custom .ry-each .ry-services-content h4 {
    font-size: clamp(1.625rem, 1.3701rem + 1.0458vw, 2.625rem);
    color: #333333;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}
.ry-hp-services-custom .ry-each .ry-services-content p {
    font-size: clamp(1.25rem, 1.1703rem + 0.3268vw, 1.5625rem);
    color: #333333;
    font-weight: 300;
    line-height: 1.2;
    font-family: ;
}
.ry-hp-services-custom .ry-btn-wrap {
    margin-top: 4rem;
}
.ry-hp-services-custom .ry-each:hover {
    background: var(--color-secondary);
    border: 6px solid #ecebe5;
}
.ry-hp-services-custom .ry-each:hover .ry-services-content * {
    color: #fff;
}
.ry-hp-services-custom .ry-each:hover .ry-services-icon-blocks .ry-services-icon-wrap {
    background-color: #ecebe5;
}
.ry-hp-services-custom .ry-each:hover .ry-services-icon-blocks .ry-services-icon-wrap img {
    filter: brightness(0) saturate(100%) invert(61%) sepia(49%) saturate(329%) hue-rotate(15deg) brightness(92%) contrast(88%);
}
.ry-services-icon-wrap {
	-webkit-animation: pulsate-bck 0.8s ease-in-out infinite both;
	animation: pulsate-bck 0.8s ease-in-out infinite both;
}
@-webkit-keyframes pulsate-bck {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes pulsate-bck {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
	
/** HP TEAM **/
.ry-hp-team-custom {
    position: relative;
	background-color: #ecebe5;
}
.ry-hp-team-custom .ry-container {
    width: min(1520px, 90%);
}
.ry-hp-team-custom  .ry-flex {
    gap: 6rem;
    justify-content: center;
    align-items: center;
}
.ry-hp-team-custom .ry-flex .ry-each {
    width: 100%;
}
.ry-hp-team-custom .ry-flex .ry-each.ry-img-wrap {
    max-width: 504px;
    width: 100%;
}

/** HP TESTIMONIAL **/
.ry-hp-testimonial-custom {
    position: relative;
    display: flex;
    align-items: flex-end;
    padding-bottom: 0;
	background-color: #ecebe5;
}
.ry-hp-testimonial-custom .ry-section-background, .ry-hp-testimonial-custom .ry-section-background img {
    z-index: 1;
}
.ry-hp-testimonial-custom .ry-content {
    position: relative;
    z-index: 2;
}
.ry-hp-testimonial-custom .ry-flex {
    gap: 6rem;
    justify-content: center;
    align-items: center;
}
.ry-hp-testimonial-custom .ry-flex .ry-each {
    width: 100%;
}
.ry-hp-testimonial-custom .ry-flex .ry-each.ry-img-wrap {
    max-width: 503px;
    width: 100%;
}
.ry-hp-testimonial-custom .ry-headline h2,
.ry-hp-testimonial-custom .ry-text p {
    color: #fff !important;
}
.ry-hp-testimonial-custom .ry-btn-wrap {
    margin-top: 4rem;
}
.ry-hp-testimonial-custom .ry-btn-wrap .ry-btn.ry-btn-secondary:hover {
    background: #fff !important;
    color: var(--color-primary) !important;
}
div#ry-footer-top-box {
    position: relative;
    z-index: 999
}
.ry-testi-quote-wrap {
    width: 65px;
    height: 65px;
    border-radius: 33px;
    background-color: #a89e5d;
    display: grid;
    place-content: center;
    margin: 0 auto 1.5rem;
}
.ry-testi-quote-wrap h4 {
    color: #fff;
    font-size: 85px;
    font-family: 'Playfair Display';
	position: relative;
	top: 15px;
}
@media (min-width: 1081px) {
    .ry-hp-testimonial-custom {
        min-height: 936px;
    }
}
	
	
/** FOOTER **/
div#ry-hp-map img {
    min-height: 400px;
    object-fit: cover;
}
@media (min-width: 1081px) {
    div#ry-hp-map img {
        min-height: 750px;
    }
}
div#ry-footer-top-box {
    position: relative;
    z-index: 999
}
div#ry-footer-top-box *:not(.bi) {
    color: #333
}
div#ry-footer-top-box .bi {
    color: #fff
}

/** HP RESPONSIVENESS **/
@media (max-width: 1280px) {
	#navigation-style-4 img {
		max-width: 180px;
	}
}
@media (max-width: 1080px) {
	div#navigation {
		padding: 0
	}
	#navigation-style-4 img {
		max-width: 180px;
	}
	div#navigation-style-4 {
		display: none;
	}
	div#navigation .snap-mobile-menu {
		display: flex !important;
		background: #fff;
	}
	div#navigation .snap-mobile-menu mm-burger {
		color: var(--color-secondary);
			}

	div#mm-0.mm-navbar__searchfield {
		display: none
	}
	#menu-style-4 * {
		color: #fff;
		border-color: #ffffff26
	}
	.mm-btn--next:after, .mm-btn--prev:before {
		border-color: #ffffff
	}
	.mobile-menu-icon {
		color: #fff
	}
	
	.homepage-swiper {
		padding-top: 80px;
	}
	.homepage-swiper, .homepage-swiper .swiper-wrapper, .homepage-swiper .swiper-slide img {
		height: auto !important;
	}
	.ry-hp-welcome-custom .ry-flex, 
	.ry-hp-team-custom  .ry-flex, 
	.ry-hp-testimonial-custom .ry-flex {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.ry-hp-welcome-custom .ry-flex .ry-each {
		width: 100%;
	}
	.ry-hp-services-custom .ry-flex {
		flex-direction: column;
		gap: 8rem;
	}
}

@media (max-width: 560px) {
	div#ry-footer-top-box * {
		text-align: center;
	}
}