
.page-home {
	overflow: hidden;
}

/* ---- swiper-pagination ---- */
.swiper-pagination {
	position: relative;
	display: flex;
	justify-content: start;
}

.swiper-pagination.swiper-pagination-home {
	bottom: 0 !important;
	z-index: 2;
	align-items: end;
}

.swiper-pagination-bullet {
	width: 6px;
	height: 6px;
	margin: 0 2px !important;
	transition: width 0.3s;
	opacity: 1 !important;
	border-radius: 4px !important;
}

.swiper-pagination-home .swiper-pagination-bullet {
	background-color: var(--white-color);
}

.swiper-pagination-archive {
	margin-top: 16px;
}

.swiper-pagination-archive .swiper-pagination-bullet {
	background-color: var(--grey-color);
}

.swiper-pagination-bullet-active {
	width: 24px;
}

.swiper-button-prev,
.swiper-button-next {
	min-width: 44px;
	width: 44px;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	display: none !important;
}

/* ---- media-slider ---- */
.media-slider {
	overflow: hidden;
	padding-bottom: var(--block-padding-bottom);
}

.media-slider.js-show {
    opacity: 1;
}

.media-slider__slide {
	border-radius: 22px;
	overflow: hidden;
	position: relative;
	height: 675px;
}

.media-slider__video, .media-slider__img {
	width: 100%;
	display: block;
}

.media-slider__video {
	display: none;
}

.media-slider__swiper {
	position: relative;
	overflow: hidden;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
}

.media-slider .swiper-wrapper {
	transform: translate3d(0,0,0); 
}

.media-slider__content {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 68px;
	padding: 0 40px 24px 40px;
	gap: 8px;
}

.media-slider__title {
	color: var(--white-color);
	font-size: 56px;
	font-weight: 600;
	line-height: 68px;
	letter-spacing: 2.24px;
	text-transform: uppercase;
}

.media-slider__subtitle {
	color: #DBDDDE;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	margin-bottom: 16px;
}

.media-slider__link {
	display: block;
    width: max-content;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0.28px;
	text-transform: uppercase;
	padding: 14px 24px;
}

.media-slider__ref {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.media-slider__controls {
	position: absolute;
	bottom: 40px;
	left: 0;
	width: 100%;
	padding: 0 40px;
}

.media-slider__button {
	position: relative;
	bottom: unset !important;
	left: unset !important;
	top: unset !important;
	right: unset !important;
	margin: 0;
	padding: 0;
	background-color: transparent;
}

.media-slider__button--prev {
    border-left: 1px solid var(--white-color);
    border-top: 1px solid var(--white-color);
    border-bottom: 1px solid var(--white-color);
	border-right: transparent;
    border-radius: 6px 0 0 6px;
}

.media-slider__button:hover {
	background: var(--color-olive-dark);
	border-color: var(--color-olive-dark);
}

.media-slider__button:hover svg path {
	fill: var(--inactive-olive-light);
}

.media-slider__button--next {
    border-right: 1px solid var(--white-color);
    border-top: 1px solid var(--white-color);
    border-bottom: 1px solid var(--white-color);
	border-left: transparent;
    border-radius: 0 6px 6px 0;
}

@media(max-width: 1279px) {
	.page-home {
		padding-top: 1px;
	}

	.media-slider .wrapper {
		max-width: 100%;
		padding: 0;
	}

	.media-slider__slide {
		border-radius: 16px;
		height: 425px;
	}

	.media-slider__content {
		padding: 0 30px 28px 30px;
	}

	.media-slider__controls {
		bottom: 64px;
		padding: 0 30px;
	}

	.media-slider__navigation {
		display: none;
	}

	.media-slider__title {
		font-size: 40px;
		line-height: 46px;
		letter-spacing: 0.8px;
	}
}

@media(max-width: 767px) {
	.media-slider__slide {
		height: 620px;
		height: unset;
	}

	.media-slider__controls {
        bottom: 40px;
        padding: 0 20px;
    }

	.media-slider__img {
		height: 100%;
		object-fit: cover;
	}

	.swiper-pagination.swiper-pagination-home {
		justify-content: end;
	}

	.media-slider__content {
        padding: 0 20px;
    }

	.media-slider__title {
		font-size: 30px;
		line-height: 38px; 
		letter-spacing: 0.6px;
	}
}
/*
@media(max-width: 410px) {
	.media-slider__slide {
		height: 563px;
	}
}
*/
@media(max-width: 374px) {
	/*
	.media-slider__slide {
		height: 537px;
	}
	*/
	.media-slider__controls {
		bottom: 30px;
	}
}
/*
@media(max-width: 320px) {
	.media-slider__slide {
		height: 480px;
	}
}
*/

/* ---- feature-card ---- */
.feature-card {
	padding-bottom: var(--block-padding-bottom);
}

.feature-card .wrapper {
	border-radius: 22px;
}

.feature-card__box {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0 40px 56px 40px;
	gap: 24px;
}

.feature-card__title {
	color: var(--white-color);	
}

.feature-card__subtitle {
	color: var(--inactive-olive-light);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.feature-card__button {
	cursor: pointer;
	display: flex;
	width: max-content;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0.28px;
	text-transform: uppercase;
	padding: 14px 24px;
}

.feature-card__bg {
	width: 100%;
	max-width: 100%;
    vertical-align: middle;
    object-fit: cover;
}

.feature-card__bg, .feature-card__content {
	overflow: hidden;
    border-radius: 22px;
}

.feature-card__content {
	position: relative;
	background: #334D4E;
}

.feature-card--shop .feature-card__box {
	position: relative;
	padding-top: 146px;
	z-index: 1;
}

.feature-card__phone {
	z-index: 1;
	opacity: 0;
	display: block;
	object-fit: cover;
	position: absolute;
	bottom: 0;
	right: 19%;
	width: 100%;
	max-width: 234px;
}

.feature-card__phone.visible {
	opacity: 1;
}

.feature-card__mount {
	opacity: 0;
	position: absolute;
	z-index: 0;
	right: -9%;
	bottom: 0;
	width: 100%;
	display: block;
}

.feature-card__mount--tablet {
	display: none;
}

.footer__menu-link {
	color: var(--white-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.feature-card--shop .feature-card__title br {
	display: none;
}

.svg_animate path {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    animation: slideReveal 1.5s ease-out forwards;
    animation-delay: calc(var(--index) * 0.2s);
}

@keyframes slideReveal {
    0% {
        clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
        opacity: 0;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        opacity: 1;
    }
}

.svg_animate path {
    --index: 0;
}
.svg_animate path:nth-child(1) { 
	--index: 1; 
}
.svg_animate path:nth-child(2) { 
	--index: 2; 
}
.svg_animate path:nth-child(3) { 
	--index: 3; 
}

@keyframes gentleGlow {
    0%, 100% { filter: drop-shadow(0 0 5px rgba(90, 121, 117, 0.1)); }
    50% { filter: drop-shadow(0 0 15px rgba(90, 121, 117, 0.2)); }
}

.svg_animate {
    animation: gentleGlow 4s ease-in-out 0s infinite;
}

@media(max-width: 1279px) {
	.footer__menu {
		gap: 16px 20px;
	}

	.footer__menu {
		grid-template-columns: 200px 240px auto;
		gap: 16px 20px;
	}

	.feature-card__box {
		left: 30px;
		width: calc(100% - 60px);
		padding: 0 20px 24px 20px;
	}

	.feature-card--shop .feature-card__box {
		left: 0;
		width: 100%;
		padding-top: 186px;
	}

	.feature-card__mount--dv{
		display: none;
	}

	.feature-card__mount--tablet {
		display: block;
		width: auto;
        right: 0;
	}

	.feature-card__phone {
		right: 3.5%;
	}
}

@media(max-width: 767px) {
	.feature-card .wrapper {
		padding: 0;
	}

	.feature-card__box {
		left: 0;
        width: 100%;
        padding: 0 16px 24px 16px;
    }

	.feature-card__subtitle {
		margin-top: -8px;
	}

	.feature-card__bg, .feature-card__content {
		border-radius: 16px;
	}

	.feature-card--shop .feature-card__title br {
		display: block;
	}
}

@media(max-width: 450px) {
	.feature-card:not(.feature-card--shop) .feature-card__button {
		padding: 14px;
		width: 100%;	
		justify-content: center;
	}

	.feature-card--shop .feature-card__box {
		padding-top: 128px;
	}

	.feature-card__phone {
        right: 0;
		max-width: 36%;
        min-width: 130px;
    }
}

/* ---- family-business ---- */
.family-business {
	padding-bottom: var(--block-padding-bottom);
}

.family-business .wrapper {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	background: #334D4E;
	padding-top: 118px;
	padding-bottom: 20px;
}

.family-business__mount {
	width: 100%;
	opacity: 0;
}

.family-business__mount.active {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    opacity: 1;
	animation: slideRevealImage 2.5s ease-out forwards;
}

@keyframes slideRevealImage {
    0% {
        clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    }
    100% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

.family-business__logo {
	display: block;
	margin: 0 auto;
	position: absolute;
	top: 80px;
    left: 50%;
    transform: translate(-50%, 0);
}

/* Animation Logo */
.family-business__logo path {
    stroke: white;
    stroke-width: 1;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    fill: transparent;    
}

.family-business__logo.active path {
	animation: draw 1.8s ease forwards;
}

.family-business__logo path:nth-child(1) {
    animation-delay: 0.4s;
}

.family-business__logo path:nth-child(2) {
    animation-delay: 0.6s;
}

.family-business__logo path:nth-child(3) {
    animation-delay: 0.8s;
}

.family-business__logo path:nth-child(4) {
    animation-delay: 1s;
}

.family-business__logo path:nth-child(5) {
    animation-delay: 1.2s;
}

.family-business__logo path:nth-child(6) {
    animation-delay: 1.4s;
}

.family-business__logo path:nth-child(7) {
    animation-delay: 1.6s;
}

.family-business__logo path:nth-child(8) {
    animation-delay: 1.8s;
}

.family-business__logo path:nth-child(9) {
    animation-delay: 1.85s;
}

.family-business__logo path:nth-child(10) {
    animation-delay: 1.9s;
}

.family-business__box {
	position: relative;
	margin-top: 22px;
}

.feature-card__img {
	width: 100%;
	display: block;
}

.family-business__box picture:nth-child(1) {
	display: block;
	width: 19%;
}

.family-business__box picture:nth-child(2) {
	display: block;
    position: relative;
    width: 21%;
    margin-top: 110px;
    left: -7%;
}

.family-business__box picture:nth-child(3) {
	display: block;
    position: relative;
    width: 26%;
    top: 0;
    left: -12%;
}

@keyframes draw {
    to {
        stroke-dashoffset: 0;
        fill: white;
    }
}
/* Animation Logo */

/* Family business */
.family-business__info {
	gap: 16px;
	padding-top: 60px;
	padding-left: 112px;
	width: 100%;
	max-width: 922px;
}

.family-business__text {
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: 0%;
	color: var(--white-color);
}

.family-business__link {
	display: block;
	width: max-content;
	padding: 14px 24px;
}

.family-business__legal {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
	color: var(--white-color);
	padding-left: 20px;
	width: 53%;
}

.family-business__legal br {
	display: none;
}

.family-business__gerard {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 594px;
}

.family-business__mount--tablet {
	display: none;
}

@media(max-width: 1279px) {
	.family-business {
		padding: 0 30px var(--block-padding-bottom) 30px;
	}

	.family-business .wrapper {
		padding-left: 0;
		padding-right: 0;
	}

	.family-business__logo {
		width: 100%;
		max-width: 408px;
	}

	.family-business__info {
		max-width: 100%;
		padding: 40px 40px 0 40px;
	}

	.family-business__text {
		font-size: 16px;
		line-height: 24px;
	}

	.family-business__gerard {
		max-width: 460px;
	}

	.family-business__box picture:nth-child(1) {
		min-width: 192px;
	}

	.family-business__box picture:nth-child(2) {
		min-width: 210px;
		margin-top: 102px;
    	left: -9%;	
	}

	.family-business__box picture:nth-child(3) {
		min-width: 262px;
		left: -15%;
	}

	.family-business__legal {
		padding-left: 16px;
		margin-top: 113px;
		font-size: 12px;
		line-height: 16px;
		width: 39%;
	}
}

@media(max-width: 767px) {
	.family-business {
        padding: 0 0 var(--block-padding-bottom) 0;
    }

	.family-business__logo {
		max-width: 67%;
        top: 40px;
        z-index: -1;
	}

	.family-business .wrapper {
		padding-top: 90px;
	}

	.family-business__mount--dv {
		display: none;
	}

	.family-business__mount--tablet {
		display: block;
	}

	.family-business__info {
		padding: 40px 16px 0 16px;
	}

	.family-business__box picture:nth-child(1) {
        min-width: 36%;
    }

	.family-business__box picture:nth-child(2) {
        min-width: unset;
		margin-top: 60px;
        left: -12%;
        width: 40%;
    }

	.family-business__box picture:nth-child(3) {
		position: absolute;
        min-width: unset;
        left: unset;
        width: 49%;
		right: -9%;
        top: 2%;
    }

	.family-business__legal {
        margin-top: 23%;
        margin-bottom: 60%;
		width: 90%;
    }

	.family-business__legal br {
		display: block;
	}

	.family-business__gerard {
        max-width: 92%;
    }

	.family-business__mount.active {
		animation: slideRevealImage 1.7s ease-out forwards;
	}
}