/* ------------------ FOOTER ------------------ */
#footer {
	background: #3F0051;
	padding: 64px 0;
}
.footer-main {
	display: grid;
	grid-template-columns: 2.7fr 1fr 1fr 1fr;
	color: #fff;
	gap: 20px;
	font-size: 18px;
}
.footer-main .logo {
	margin-bottom: 25px;
}
.footer-main h3 {
	font-size: 20px;
	margin-bottom: 16px;
}
.footer-main li {padding: 8px 0;}
.footer-main a,
.footer-main li {
	font-size: 18px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff;
}
.footer-main a:hover {color: var(--c-linkhover);}
.footer-main a svg + span {font-weight: normal;}

.form-subscribe {position: relative;}
.form-subscribe,
.form-subscribe form > p  {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px 0 16px 0;
}
.form-subscribe input {
	min-height: 47px;
    border-radius: 99px;
    border: 1px solid #fff;
    padding: 0 24px;
    color: #fff;
    font-size: 18px;
    min-width: 324px;
    max-width: 324px;
}
.form-subscribe input::placeholder {color: #fff;}
.form-subscribe button {
	width: 147px;
    padding: 0 5px;
    font-weight: bold;
    font-size: 16px;
    font-family: var(--RedHatText);
}

.form-subscribe + p {font-size: 16px;}

.wpcf7-not-valid-tip {
	font-size: 14px;
	position: absolute;
	top: 100%;
	left: 0;
}
.wpcf7 form .wpcf7-response-output {
	margin: 0;
	border: none;
	padding: 0;
	position: absolute;
	bottom: 100%;
	left: 0;
	margin-bottom: -45px;
	font-size: 14px;
	font-weight: bold;
}

.footer-bottom {
	margin-top: 112px;
	color: #fff;
	font-size: 16px;
}
.footer-bottom .top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}
.footer-bottom .top a {
	color: #fff;
	position: relative;
}
.footer-bottom .top a:after {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    transition: all 0.1s;
    margin-top: -2.5px;
}
.footer-bottom .top a:hover:after {
    height: 2px;
    width: 100%;
}

.footer-bottom .text {
	color: rgba(255, 255, 255, 0.5);
	font-size: 20px;
    font-style: italic;
}

@media (max-width: 1350px) {
	.footer-main {font-size: 14px;}
	.footer-main h3 {font-size: 17px;}
	.footer-main a, 
	.footer-main li {
		font-size: 14px;
	}
	.form-subscribe input {
	    min-height: 43px;
	    padding: 0 24px;
	    font-size: 14px;
	    min-width: 305px;
	    max-width: 305px;
	}
	.footer-bottom {margin-top: 90px;}
}

@media (max-width: 1250px) {
	#footer {padding: 50px 0;}
	.footer-main {
		grid-template-columns: 2.8fr 1fr 1fr 1fr;
		gap: 15px;
	}
	.footer-main p br {display: none;}
	.form-subscribe input {
		min-width: 240px;
		max-width: 240px;
	}
}

@media (max-width: 991px) {
	.footer-main {
	    grid-template-columns: 1fr 1fr 1fr;
	    gap: 25px;
	}
	.footer-main .footer-col:nth-child(1) {
		grid-column: 1 / 5;
		text-align: center;
		display: flex;
		justify-content: center;
		flex-direction: column;
		padding-bottom: 25px;
	}
	.footer-main .logo {
	    margin-left: auto;
	    margin-right: auto;
	}
	.form-subscribe {
	    justify-content: center;
	    gap: 16px;
	    padding: 30px 0 30px 0;
	}

	.wpcf7 form .wpcf7-response-output {
		right: 0;
		text-align: center;
	}
}

@media (max-width: 767px) {
	#footer {padding: 24px 0 24px 0;}
	.footer-main .logo {
		width: 264px;
		height: 24px;
	}

	.form-subscribe {
	    padding: 24px 0 16px 0;
	}

	.footer-main .footer-col:nth-child(1) {
		grid-column: inherit;
		padding-bottom: 0;
		margin-bottom: -10px;
	}
	.footer-main {
	    grid-template-columns: 1fr;
	    gap: 40px;
	    text-align: center;
	    font-size: 16px;
	}
	.footer-main a, 
	.footer-main li {
		font-size: 16px;
		justify-content: center;
	}
	.footer-main p br {display: block;}
	.footer-main h3 {font-size: 20px;}


	.footer-main .footer-col:last-child {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.footer-main ul.social {max-width: 190px;}
	.footer-main ul.social li {
		justify-content: start;
	}
	.footer-main ul.social li:nth-child(1) {justify-content: center;}

	.footer-bottom {margin-top: 32px;}
	.footer-bottom .top {
		flex-direction: column;
		text-align: center;
	}
	.footer-bottom .top p {margin-bottom: 24px;}
}

@media (max-width: 550px) {
	.form-subscribe input {
	    min-width: initial;
	    max-width: 188px;
	    width: 100%;
	    min-height: 38px;
	    font-size: 18px;
		text-align: center;
	}
	.form-subscribe button {
		font-size: 14px;
		min-height: 38px;
		width: 130px;
	}

	.footer-main .footer-col:nth-child(1) br {display: none;}
}

/* ------------------ POPUP ------------------ */
.popup-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9991;
    background: rgba(0,0,0,.8);
}

.popup {
    position: absolute;
    left: 50%;
    z-index: 9992;
    transform: translateX(-50%);
}

.popup-overlay,
.popup {
    display: none;
    opacity: 0;
}

.popup-overlay.active,
.popup.active {
    display: block;
    animation: opacity 0.5s linear forwards;
}

.popup-close svg {
	stroke: #fff;
	transition: all 0.3s;
}
.popup-close:hover svg {stroke: var(--c-text);}

.popup-source {
	position: fixed;
	top: 100%;
	border-radius: 10px;
	padding: 32px;
	background: var(--color);
	max-width: 500px;
	width: 100%;
	color: #fff;
	transition: all 0.3s;
	transform: translate(-50%, -50%);
}
.popup-source.active {
	animation: popup-source 0.3s linear forwards;
}

@keyframes popup-source {
	100% {
		top: 50%;
		opacity: 1;
	}
}

.popup-source .title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.popup-source .title h3 {
	font-size: 22px;
	line-height: 1.3;
}
.popup-source .text {font-size: 18px;}
.popup-source .text p + p {
	margin-top: 25px;
}

/* ANIMATION
-------------------------------------- */
.animated {
    opacity: 0;
    transition: opacity 500ms;
}

.animated.show {
    animation: fade-bottom 0.6s ease-in-out both;
}

@keyframes fade-bottom {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.animated.fade-right.show {
    animation: fade-right 0.6s ease-in-out both;
}


@keyframes fade-right {
    0% {
        transform: translateX(50px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@media (max-width: 550px) {
	.popup-source {max-width: 350px;}
}