:root {
    --accent-blue: #0A4860;
    --text-black: #292929;
    --text-gray: #535353;
    --light-gray: #BCBCBC;
    --light-blue: #0e698c;
    --text-white: #ffffff;
}

.sect-hero .swiper {
    width: 100%;
    height: 100vh;
}

.sect-hero .swiper-slide {
    display: flex;
    align-items: center;
    text-align: center;
}

.hero-title {
    font-weight: 600;
    font-size: 6.25rem;
    color: var(--text-white);
    line-height: 82px;
    font-style: italic;
    margin-bottom: 41px;
}

.hero-subtitle {
    font-weight: 500;
    font-size: 1.75rem;
    line-height: 33px;
    color: var(--light-gray);
}   

.swiper-pagination-bullet {
    font-size: 1.125rem;
    line-height: 27px;
    color: #ffffff;
    font-weight: 300;
    font-style: italic;
    width: fit-content;
    height: fit-content;
    border-radius: 0;
    text-align: center;
    background: transparent;
}

.swiper-pagination-bullet svg {
	display: block;
	margin: 0 auto;
}

.swiper-pagination-bullet a {
	font-size: 1.125rem;
    line-height: 27px;
    color: #ffffff;
    font-weight: 300;
    font-style: italic;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 3em;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    top: 70%;
}

.hidden {
	display: none;
}

/* About */

.sect-about .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.about-image {
	width: 40%;
}


.about-descr {
    width: 54%;
}

.about-text {
    font-weight: 400;
    font-size: 1.0625rem;
    line-height: 28px;
    color: var(--text-gray);
    margin-bottom: 30px;
}

.about-button {
    display: inline-block;
    padding: 23px 53px;
    background: transparent;
    border: 1px solid var(--accent-blue);
    color: var(--accent-blue);
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 18px;
    transition: all .2s ease-in;
}

.about-button:focus {
	outline: 1px solid var(--accent-blue);
}

.about-button svg path {
	transition: all .2s ease-in;
}

.about-button svg {
    margin-left: 15px;
}

.about-button:hover {
	background: var(--accent-blue);
	color: white;
}

.about-button:hover svg path {
	fill: white;
}

.about-button:active {
	background: var(--text-black);
}
	

/* News */

.news-cards {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.news-cards-card {
    width: 31%;
    margin-bottom: 50px;
}

.news-cards-card-img {
    width: 100%;
    margin-bottom: 20px;
}

.news-cards-card-date {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 21px;
    color: var(--text-gray);
    margin-bottom: 7px;
}

.news-cards-card-title {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 31px;
    color: var(--text-black);
    margin-bottom: 10px;
}

.news-cards-card-descr {
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 24px;
    color: var(--text-gray);
    margin-bottom: 17px;
}

.news-cards-card-link {
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 18px;
    color: var(--accent-blue);
    transition: all .2s ease-in;
}

.news-cards-card-link svg path {
	transition: all .2s ease-in;
}

.news-cards-card-link:hover svg path {
	fill: var(--text-black);
}

.news-cards-card-link:hover {
	color: var(--text-black);
}

.news-cards-card-link:hover span {
	text-decoration: 1.5px underline dotted var(--text-black);
}

.news-cards-card-link span {
    margin-right: 10px;
    text-decoration: 1.5px underline dotted var(--accent-blue);
}

/* Partners */

.sect-partners .swiper-slide {
    width: 13%;
    height: 100px;
    border: 1px solid #CFCFCF80;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-partners .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	user-select: none;
}

.swiper-partners {
    padding: 20px 50px;
}

.swiper-button-prev {
    left: 0;
    color: var(--accent-blue);
}

.swiper-button-next {
    right: 0;
    color: var(--accent-blue);
}

/* Contacts */

.contacts-cards {
    display: flex;
    justify-content: space-between;
    margin-bottom: 34px;
}

.contacts-cards-card {
    width: 20%;
    padding: 23px 2%;
    border: 1px solid #cfcfcf;
}

.contacts-cards-card-title {
    font-weight: 400;
    font-size: 1rem;
    line-height: 20px;
    color: #868686;
    margin-bottom: 17px;
    overflow-wrap: anywhere;
}

.contacts-cards-card-link {
    display: inline-block;
    font-weight: 400;
    font-size: 1.125rem;
    color: var(--text-black);
    overflow-wrap: break-word;
    text-decoration: 1px underline solid transparent;
    transition: all .2s ease-in;
}

.contacts-cards-card-link:hover {
	text-decoration-color: var(--accent-blue);
}

.contacts-cards-card-link:active {
	color: var(--accent-blue);
}

.contacts-cards-card-link:nth-child(2) {
	overflow-wrap: anywhere;
}

.contacts-cards-button {
	cursor: pointer;
	width: 25%;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 20px;
    color: var(--text-white);
    background: var(--accent-blue);
    transition: all .2s ease-in;
}

.contacts-cards-button:focus {
	outline: 1px solid var(--accent-blue);
}

.contacts-cards-button:hover {
	background: var(--text-black);
}

#map {
    width: 100%;
    height: 65vh;
}

@media (max-width: 1050px) {
	.contacts-cards {
		flex-wrap: wrap;
	}
	
	.contacts-cards-card {
		width: 28%;
		margin-bottom: 25px;
	}
	
	.contacts-cards-button {
		width: 100%;
	}
}

@media (max-width: 950px) {
	.sect-about .container {
		flex-direction: column-reverse;
	}
	
	.about-descr {
		width: 100%;
		margin-bottom: 20px;
	}
	
	.about-image {
		width: 100%;
		height: 75vh;
		object-fit: cover;
	}
	
	.hero-title {
		font-size: 4rem;
		margin-bottom: 20px;
	}
	
	.hero-subtitle {
		font-size: 1.25rem;
	}
	
	.swiper-pagination-bullet {
		font-size: 0.75rem;
	}
	
	.swiper-pagination-bullet svg {
		width: 65px !important;
		height: 65px !important;
	}
}

@media (max-width: 650px) {
	.news-cards-card {
		width: 45%;
	}
}

@media (max-width: 500px) {
	.sect-hero .swiper {
		height: 85vh;
	}
	
	.hero-title {
		font-size: 3rem;
		margin-bottom: 10px;
		line-height: 40px;
	}
	
	.hero-subtitle {
		font-size: 1rem;
	}
	
	.swiper-pagination-bullets {
		top: 65% !important;
	}
	
	.swiper-pagination-bullet {
		max-width: 10%;
		margin: 0 2.5em !important;
	}
}
@media (max-width: 400px) {
	
	.news-cards {
		justify-content: center;
	}
	
	.news-cards-card {
		width: 100%;
	}
}