*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
}

a {
	text-decoration: none;
	color: #111;
}
a:hover {
	text-decoration: none;
}
a:visited {
  text-decoration: none;
}
ul, ol {
	list-style: none;
}
button {
	border: none;
	background-color: transparent;
	cursor: pointer;
	transition: 0.2s;
}

:root {
	--font-fam: "Roboto", sans-serif;
	--txt-color: #6B7280;
	--bg-color: #f7f7f7;;
	--title-color: #010d28;
	--primary-color: #3b66a5;
	--dark-blue-color: #3d5990
}

html {
	scroll-behavior: smooth;
}
body {
	font-family: var(--font-fam);
	width: 100%;
}
section {
	padding: 100px 0;
}
/* Главная */

/* секция1 и хедер */
.header-hero {
	min-height: 100svh;
	background:linear-gradient(0deg, rgb(0 0 0 / 74%) 27%, rgb(232 232 232 / 32%) 65%), url(../img/bg6.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
}
.container {
	max-width: 1200px;
	width: 100%;
	padding: 0px 10px;
	margin: 0 auto;
}

.header {
	width: 100%;
	background-color: #ffffffa1;
}

.header-wrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 15px 0px;
	width: 100%;

}
.logo-img { 
	max-width: 200px;
	width: 100%;
}
.menu {
	align-self: center;
}
.menu-list {
	display: flex;
	gap: 20px;
	justify-content: center;
}
.menu-item {
	align-self: center;
	text-transform: uppercase;
	transition: 0.2s all ease-out;
	    font-weight: 600;
    font-size: 18px;
}
.menu-item:hover {
	transform: translateY(-2px);
}
.menulink {
	transition: 0.3s all ease-in-out;
	color: #111;
}
.menulink:visited{
	color: #222222;
}
.menulink:hover {
	color: var(--primary-color);
}

/* burger */
.burger {
  display: none;
  flex-direction: column;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  align-self: center;
}

.burger span {
  width: 25px;
  height: 3px;
  background: rgb(0, 0, 0);
  transition: 0.3s;
}

/* секция 1 */
.hero {
 flex-grow: 1;
  align-content: center;
  padding: 50px 0;
}

.hero-wrapper {
	display: flex;
	flex-direction: column;
	gap: 30px;
	flex-wrap: wrap;
	height: 100%;
	
}

.hero-title {
	font-size: clamp(28px, 5vw, 38px);
	max-width: 750px;
	color: var(--title-color);
	text-shadow: var(--txt-color);
	margin-bottom: 20px;
}
.hero-text {
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 300;
	line-height: 125%;
	color: aliceblue;
	max-width: 700px;
	margin-bottom: 30px;
}

.btn-block {
	display: flex;
	/* justify-content: center; */
}
.hero-button {
	background-color: var(--primary-color);
	padding: 15px 15px;
	border-radius: 7px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	color: #ffffff;
	margin-bottom: 20px;
	transition: all 0.3s ease-in;
}
.hero-button:hover {
	background-color: #ffffff;
	color: var(--primary-color);
	
}

.wrap {
	display: flex;
	flex-direction: column;
}
main {
  flex: 1 0 auto;
}

/* секция о нас */
.about {
	background-color: var(--bg-color);
}
.about-wrap {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.about-info {
	text-align: center;
}

.slider {
  position: relative;
  max-width: 350px;
  overflow: hidden;
  align-self: center;
}

.slides {
  display: flex;
  transition: transform 0.6s ease-in-out;
}

.slide {
  min-width: 100%;
}

.dots {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(45, 31, 129, 0.356);
  cursor: pointer;
}

.dot.active {
  background: white;
}
.slider button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  cursor: pointer;
  padding: 10px;
}

.prev { left: 10px; }
.next { right: 10px; }
/*общий для секций title*/
.title {
	text-align: center;
	text-transform: uppercase;
	line-height: 140%;
	font-weight: 800;
	margin-bottom: 10px;
}
span.line{
	display: block;
	max-width: 50px;
	height: 4px;
	background-color: var(--primary-color);
	margin: 0 auto;
	margin-bottom: 50px;
}

.about-info > p{
	margin-bottom: 20px;
}
.about-img {
	max-width: 400px;
	width: 100%;
	object-fit: cover;
	flex-basis: auto;
	flex-shrink: 0;
	border-radius: 15px;
}



/* секция наши направления*/

.card-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 1fr;
	gap: 25px;
}
.card-link {
display: flex;
flex: 1;

}
.card {
	display: flex;
	flex-direction: row-reverse;
	flex: 1;
	gap: 25px;
	padding: 20px;
	border: 2px solid var(--primary-color);
	border-radius: 18px;
	box-shadow: 14px 17px 31px 1px rgba(17, 48, 73, 0.132);
	transition: 0.2s all ease-in-out;
	position: relative;
	color: var(--title-color);
	
}
.card:hover{
	background-color: var(--primary-color);
	color: #ffff;
	box-shadow: 14px 17px 31px 1px rgba(17, 48, 73, 0.69);
	transform: translateY(-2px);
}

.card::before {
	content: '';
	background-image: url(../img/icons/whale1.png);
	width: 60px;
	height:60px;
	background-repeat: no-repeat;
	background-position: center;
	background-size:contain;
	position: absolute;
	top: 80%;
	right: 0;
	opacity: 0;
	transition: 0.5s all ease-in-out ;
	
}
.card:hover::before {
 opacity: 1;
transform: translate(-50%, -60%);
}
.card-img {
	max-width: 60px;
	
	width: 100%;
	filter: invert(0.8) sepia(1) saturate(5) hue-rotate(175deg);
	transition: 0.15s all ease-in-out;
	align-self: flex-end;
}

.card:hover .card-img {
	filter: invert(0)
}
.card-info {
	display: flex;
	flex-direction: column;
}
.card-title {
	margin-bottom: 10px;
	font-size: 24px;
}
.card-text {
	flex-grow: 1;
	flex-shrink: 1;
	margin-bottom: 30px;
}

/* секция Why */
.why {
	box-shadow: 0px 0px 50px 12px rgba(172, 172, 172, 0.26);
}

.box-wrap {
	display: flex;
	
}
.why-box:nth-child(2) {
	border-right: 2px solid #4f8ff0;
	border-left: 2px solid #4f8ff0;
}
.why-box {
	padding: 10px;
	background-color: inherit;
 	flex-grow: 1;
	flex-basis: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.why-box h3 {
	font-size: 18px;
	font-weight: 600;
	line-height: 150%;
	text-align: center;

}
.why-img {
	width: 60px;
	margin-bottom: 10px;
	height:60px;
}





/* секция контакт */

.contact-wrapper {
	display: flex;
	justify-content: space-between;
	gap: 15px;
}

.contact-list-flex{
	display: flex;
	gap: 15px;
}
.contact-list li{
	margin-bottom: 10px;
}
.cont-link {
	color: var(--primary-color);
}
.cont-link:hover {
	color: #3b6bb3;
}
.contact-form {
	max-width: 500px;
}
.contact-form form{
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 20px;
}

fieldset {
	display: flex;
	width: 100%;
	padding: 30px 15px;
	flex-wrap: wrap;
	gap: 20px;
}
textarea{
	width: 100%;
	min-height: 80px;
	resize: none;
}
input, fieldset, textarea {
	width: 100%;
	border: 1px solid var(--primary-color);
	border-radius: 4px;
	padding: 14px 15px;
}
input, fieldset, textarea, label, legend, input::placeholder, textarea::placeholder, .btn-form {
	font-weight: 400;
	font-size: 16px;
	line-height: 140%;
	color: #95a1bb;
	font-family: inherit;
}
legend {
	text-transform: capitalize;
}
.checkbox-input {
	appearance: none;
	width: 15px;
	height: 15px;
	border: 1px solid var(--primary-color);
	border-radius: 2px;
	background-color: #fff;
	cursor: pointer;
	transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out, border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out; 
	margin: 0;
	padding: 0;
}
.checkbox-input:checked {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDExIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zLjI2MDgzIDYuMTcxNjdMMC44MjgzMzMgMy43MzkxN0wwIDQuNTYxNjdMMy4yNjA4MyA3LjgyMjVMMTAuMjYwOCAwLjgyMjVMOS40MzgzMyAwTDMuMjYwODMgNi4xNzE2N1oiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
	background-repeat: no-repeat;
	background-position: center;
}
/* Эффект нажатия */
.checkbox-input:active{
	filter: brightness(90%);
}

/* Смена цвета границы при наведении */
.checkbox-input:hover:not(:disabled) {
	background-color: #e3e3e3;
}


.btn-form {
	width: 100%;
	background-color: var(--primary-color);
	color: #fff;
	text-transform: uppercase;
	padding: 10px 10px;
	transition: all 0.2s ease-in-out;
	border-radius: 4px;
}
.btn-form:hover {
	background-color: var(--txt-color);
}

/* секция полезные материалы */
.useful-materials {
	background-color: var(--bg-color);
	box-shadow: 0px 0px 50px 12px rgba(172, 172, 172, 0.26);
}

.useful-text {
	margin-bottom: 20px;
}

.news-wrapper {
	display: flex;
	flex-direction: column;
	gap: 50px;
}
.news-card-wrapper {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;

}
.news-card {
	padding: 10px 10px;
	flex: 1;
	display: flex;
	flex-direction: column;
	border-radius: 10px;
}
.new-info {
flex-shrink: 1;
flex-grow: 1;
display: flex;
flex-direction: column;
margin-bottom: 10px;
}
.news-img {
	height: 200px;
	width: 100%;
	object-fit: cover;
	border-radius: 6px;
	margin-bottom: 10px;
}

.news-title {
	margin-bottom: 10px;
	font-size: 22px;
	flex-grow: 1;
}
.news-text {
	display: -webkit-box;
  -webkit-line-clamp: 3; /* Количество строк */
  -webkit-box-orient: vertical;
  overflow: hidden; /* Скрывает лишний текст */
  
}
.news-link {
	flex-shrink: 0;
	color: #010101;

}
.news-link:hover {
	color: var(--primary-color);
}

.news-button {
	background-color: var(--primary-color);
	color: #ffff;
	font-size: 18px;
	padding: 10px 30px;
	align-self: center;
	border-radius: 5px;
	transition: all 0.2s ease-in-out;
}
.news-button:hover {
	background-color: var(--txt-color);
	transform: translateY(-3px);
}

#scrollTopBtn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 1000;
  display: none; 
  width: 30px;
  height: 30px;
	background: url(../img/icons/Arrow-down.svg);
	transform: rotate(180deg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	filter: invert(0.8) sepia(0.1) saturate(5) hue-rotate(170deg);
  font-size: 20px;
  cursor: pointer;
  transition: all 0.1s ease;
}


#scrollTopBtn:hover {
 	filter: invert(0.6) sepia(0.1) saturate(5) hue-rotate(175deg);
}

footer {
	background-color: #222;
	flex: 0 0 auto;
	padding: 10px 0px;
	
}
.footer-wrapper {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
	align-items: center;
	padding: 10px 0;
	flex-wrap: wrap;
}
.logo-wrap {
	display: flex;
	flex-direction: column;
}

.footer-logo {
	max-width: 120px;
	filter: invert(1) sepia(1) saturate(1) hue-rotate(175deg);
	transition: all ease-in-out 0.3s;
}
.footer-logo:hover {
	filter: invert(0.3) sepia(0.6) saturate(5) hue-rotate(170deg);
}
.footer-contact {
	display: flex;
	gap: 30px;
}
.footer-tel {
	display: flex;
	align-self: center;
	color: #ffff;
	text-decoration: none;
	font-size: clamp(16px, 1vw, 20px);
	transition: all ease-in-out 0.3s;
}
.footer-tel:hover {
	color: var(--primary-color);
	transform: translateY(-3px);
}
.sotial {
	display: flex;
	gap: 15px;
}
.sotial a {
	transition: all 0.3s ease-in-out;
}
.sotial a:hover {
	transform: translateY(-3px);
}
.sotial-img {
	width: 30px;

}
.policy-privacy {
	padding: 15px 0;
	display: block;
	text-align: center;
	color: #acacac;
	font-size: 12px;
	transition: all 0.3s ease-in;
}
.policy-privacy:hover{
	color: #ffffff;
}

/* ___главная */

/* политика приватности */
.privacy-wrapper h1{
	margin: 25px 0;

}
.privacy-wrapper p{
	text-indent: 20px;
	margin-bottom: 20px;
}
.privacy-wrapper h2{
	text-align: center;
	margin-bottom: 20px;
}
.privacy-wrapper ul{
list-style: circle;
margin-left: 50px;
margin-bottom: 20px;
}
.aftor-box{
display: flex;
}
.aftor {
	font-size: 8px;
}
/* _____политика приватности */




/* Cтраница с новостями_________ */
.stoty-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-bottom: 50px;
}
.story-box:first-child {
	grid-column: span  2; 
  /* grid-row: span 1; */
}
.stoty-wrap:nth-child(2) {
	grid-column: span  1; 
  grid-row: span 2;
}
.story-box{
	display: flex;
	flex-direction: column;
	gap: 20px;
	justify-content: space-between;
}
.story-box:nth-child(2) .story-img{
	flex-grow: 1;
}
.story-img {
	width: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.story-title {
	font-size: 22px;
	margin-bottom: 20px;
}
.story-text {
	display: -webkit-box;
	line-clamp: 5;
  -webkit-line-clamp: 5; /* Количество строк */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.story-btn {
	width: 100%;
	background-color: var(--primary-color);
	color: #ffffff;
	font-size: 18px;
	border-radius: 5px;
	padding: 10px 30px;
	transition: all 0.2s ease-in-out;
	text-align: center;
}
.story-btn:hover {
	background-color: var(--txt-color);
	transform: translateY(-3px);
}

/* _______________Cтраница с новостями */



/* cookie ____*/
.cookie-banner {
	position: fixed;
	bottom: 20px;
	left: 20px;
	right: 20px;
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 20px;

	padding: 15px 20px;

	background: #1f1f1f;
	color: #fff;

	border-radius: 12px;

	z-index: 1000;
}

.cookie-banner a {
	color: #fff;
	text-decoration: underline;
}

.cookie-btn {
	padding: 8px 16px;
	border: none;
	cursor: pointer;
	border-radius: 6px;
	color: #ffffff;
}
/* _____ cookie*/

/* адаптив для планшетов */
@media screen and (max-width: 768px ) {
	.burger {
    display: flex;
  }
  .menu {
    position: absolute;
    top: 80px;
	 left: 0;
	backdrop-filter: blur(10px);
	height: calc(100vh - 10px);
	width: 100%;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
	align-content: center;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	z-index: 100;
  }
   .link-main{
	 color: #ffffff;
  }
  .link-main:visited {
	color: #ffffff;
  }
  .menulink {
	color: #000000;
  }
  .menu-list {
    flex-direction: column;
    padding: 20px;
	color: #ebebeb;
  }
  .menulink:visited {
	color: #000000;
  }
  .menu.active {
    transform: translateY(0);
	 opacity: 1;
	 visibility: visible;
  }
  .no-scroll {
	 overflow: hidden;
  height: 100%; 
  }
  /* Анимация бургера */
  .burger.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 5px);
  }

  .burger.active span:nth-child(2) {
    opacity: 0;
  }

  .burger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -5px);
  }
	.header-hero {
	background-attachment: unset;
	}
	.about-wrapper {
		flex-direction: column;
	}
	.about-img {
		align-self: center;
	}
	.news-card-wrapper {
		flex-direction: column;
	}
	.contact-wrapper {
		flex-direction: column;
	}
	.contact-form {
		align-self: center;
	}
	
	.sotial {
	align-self: center;
}
/* страница новостей	 */
.article__title {
	font-size: 28px;
}
.article .img-box{
	align-self: center;
	flex-direction: column;
	gap: 24px;
}
.article-img {
	align-self: center;
	width: 100%;
}
.article__button {
	align-self: center;
}
.stoty-wrap {
 grid-template-columns: repeat(2, 1fr);

}

/* cookie */
 .cookie-banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .cookie-btn {
    width: 100%;
  }
}
/* адаптив телефон */
@media screen and (max-width: 576px){

	.box-wrap {
		flex-direction: column;
		
	}
	.why-box:nth-child(2) {
	border-right: none;
	border-left: none;
	border-bottom: 2px solid #4f8ff0;
	border-top: 2px solid #4f8ff0;
}
.card-wrapper {

	grid-template-columns:  1fr;
}

.card::before {
	display: none;
}
.about-wrap {
	flex-direction: column;
	gap: 20px;
}
.footer-contact {
		flex-direction: column;
		gap: 10px;
	}
	.stoty-wrap {
 grid-template-columns: repeat(1, 1fr);
}
.story-box:first-child {
	grid-column: auto; 

}
.stoty-wrap:nth-child(2) {
	grid-column: auto; 
  grid-row: auto;
}
.article__header {
	text-align: center;
}
}
@media screen and (max-width: 370px) {
	.footer-wrapper {
		flex-direction: column;
}

}

