/* Reset */
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow-x: hidden;
}

/******************************************** Utility Components ***************************************/
:root {
	font-size: 62.5%;

	/************ Custom Properties ***********/

	/* Main Color */
	--primary-color: #014d4e;

	/* Secondary Color */
	--secondary-color: #5F7ECF;
	--secondary-color: #9C9CBF;

	/* Header Text Color */
	--main-text-color: black;
	--main-used-color: #9C9CBF;
}

html {
	overflow-y: scroll;
	scroll-behavior: smooth;
}

body {
	font-family: "Poppins", sans-serif;
	color: var(--main-text-color);
	line-height: 1.8;

	display: flex;
	flex-direction: column;
}

button {
	font-family: "Poppins", sans-serif;
	color: var(--main-text-color);
	line-height: 1.8;
}

body * {
	overflow: hidden;
}

/* List Items */
li {
	list-style: none;
}

/* Abchor Tags */
a:link,
a:visited {
	text-decoration: none;
	color: inherit;
	font-size: 1.5rem;
}
/******************************************** -Utility Components- ***************************************/







/******************************************** Navbar ********************************************/
main-container {
	width: 1320px;
	margin: 0 auto;
	padding: 0;

	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

navbar {
	overflow: visible;
	min-height: 6rem;
	background-color: white;
	font-size: 1.8rem;

	padding: 1rem 0;
	display: flex;
	flex-direction: row;
	align-items: center;
}
navbar div#nav-logo {
	width: 10%;
	display: flex;
	align-items: center;
}
navbar div#nav-logo a {
	font-weight: 700;
	color: transparent;
	background-image: linear-gradient(to top, #FFCA00, #FF5A00);
	background-clip: text;
	display: inline-block;
}
navbar div#nav-items {
	padding: 0;
	display: flex;
	align-items: center;
	flex-grow: 1;
}
navbar div#nav-right {
	width: 90%;
	display: flex;
	flex-direction: row;
}

navbar div#nav-items a {
	padding: 0 1rem;
	transition: color 300ms ease-in-out;
}
navbar div#nav-items a.highlighted {
	color: #FFCA00;
}
navbar div#nav-items a:hover,
navbar div#nav-items a.highlighted:hover {
	color: #FF5A00;
}

navbar div#nav-items a:last-child {
	font-weight: 700;
}
navbar div#nav-buttons {
	overflow: visible;
	display: flex;
	flex-direction: row;
	gap: 1rem;
}
navbar div#nav-buttons form {
	margin: 0;
	padding: 0;
	width: auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
form button.nav-button {
	/* margin-right: 1rem; */
	background-color: transparent;
	border: none;
	cursor: pointer;

	display: flex;
}
navbar * {
	overflow: visible;
}
navbar div#nav-buttons a img {
	overflow: auto;
}
form button.nav-button,
navbar div#nav-buttons a:last-child {
	min-height: 3.3rem;
}
navbar div#nav-buttons a {
	display: flex;
}
navbar div#nav-buttons a:last-child {
	position: relative;
}
navbar div#nav-buttons a:last-child::after {
	content: var(--cart-count);
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFCA00;
	border-radius: 50%;
	border: none;
	width: 1.1rem;
	height: 1.1rem;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	font-size: .6rem;
	font-weight: bold;
	z-index: 999;

	display: flex;
	align-items: center;
	justify-content: center;
}
/******************************************** -Navbar- ********************************************/








/******************************************** Main Section ********************************************/
div#main-section {
	background-color: #F3F3F3;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
div#main-section div#main-block {
	/* background: #ECECEC; */
	/* background: linear-gradient(130deg, rgba(242,209,76,0.2) 3%, rgba(240,241,246,0.2) 69%, rgba(0,0,0,0.02) 100%); */
	border-radius: 30px;
	width: 1320px;
	margin: 0 auto;
	min-height: 56rem;
	position: relative;

	padding: 5rem;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
div#main-section div#main-block h2 {
	max-width: 55%;
	font-size: 5.5rem;
	line-height: 6.5rem;
	z-index: 2;
}
div#main-section div#main-block p {
	max-width: 55%;
	font-size: 3rem;
	line-height: 4rem;
	z-index: 2;
}
div#main-section div#main-block div#main-btns {
	margin-top: 2rem;
	
	display: flex;
	flex-direction: row;
}
div#main-section div#main-block div#main-btns button.main-block__btn:first-child {
	margin-right: 1rem;
}
div#main-section button.main-block__btn {
	background-color: black;
	color: white;
	padding: .5rem 1rem;
	border-radius: 15px;
	border: none;
	cursor: pointer;

	transition: all 300ms;
}
div#main-section button.main-block__btn:hover {
	background-color: #FFCA00;
	color: black;
}
div#main-section div#main-block div#main-btns button.main-block__btn:last-child {
	background-color: #FFCA00;
	color: black;
}
div#main-section div#main-block div#main-btns button.main-block__btn:last-child:hover {
	background-color: black;
	color: white;
}

div#main-section div#main-block img {
	width: 55%;
	position: absolute;
	right: 3rem;
	bottom: 3rem;
	z-index: 1;
}
/******************************************** Main Cards ********************************************/
div#main-section div#main-cards {
	width: 1320px;
	margin: 3rem auto;

	display: flex;
	flex-direction: row;
}
div#main-section div#main-cards a {
	width: calc(1320px / 4);
	height: 27.8rem;
	margin-right: 1rem;
	background-color: white;
	border-radius: 30px;
	border: none;

	display: flex;
	justify-content: center;
	align-items: center;

	transition: all 300ms;
}
div#main-section div#main-cards a:hover {
	border: 8px solid #FFCA00;
}
div#main-section div#main-cards a div.card  {
	display: flex;
	justify-content: center;
	align-items: center;
}
div#main-section div#main-cards a div.card img {
	width: 40%;
}
div#main-section div#main-cards a:nth-child(3) div.card img {
	width: 60%;
}
div#main-section div#main-cards a:last-child {
	margin-right: 0;
}
div#main-section div#main-cards a div.card:last-child {
	width: 100%;
}
/******************************************** -Main Cards- ********************************************/
/******************************************** Main Computers ********************************************/


div#main-section div#main-computers {
	width: 1320px;
	margin: 3rem auto;

	display: flex;
	flex-direction: column;
	align-items: center;
}
div#main-section div#main-computers h2 {
	font-weight: 500;
	font-size: 5.5rem;
	line-height: 6.8rem;
}
div#main-section div#main-computers p {
	font-size: 3rem;
	line-height: 4.3rem;
}
div#main-section div#main-computers button {
	margin: 1rem 0 3rem;
	font-size: 1.4rem;
	line-height: 1.7rem;
}

div#main-section div#main-computers div#main-computers_cards {
	width: 100%;

	display: flex;
	flex-direction: row;
	gap: 2rem;
}
div#main-section div#main-computers div#main-computers_cards a {
	width: 25%;
	/* margin-right: 2rem; */
	background-color: white;
	border-radius: 30px;
}
div#main-section div#main-computers div#main-computers_cards div.main-computers_card {
	padding: 2rem;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
div#main-section div#main-computers div#main-computers_cards a {
	transition: transform 300ms;
}
div#main-section div#main-computers div#main-computers_cards a:hover {
	transform: scale(0.95);
}
div#main-section div#main-computers div#main-computers_cards div.main-computers_card:last-child {
	margin-right: 0;
}
div#main-section div#main-computers div#main-computers_cards div.main-computers_card h2 {
	text-align: center;
	font-size: 2.5rem;
	line-height: 3.1rem;;
}
div#main-section div#main-computers div#main-computers_cards div.main-computers_card p,
div#main-section div#main-computers div#main-computers_cards div.main-computers_card b {
	font-size: 1.6rem;
	line-height: 2.5rem;
}
/* div#main-section div#main-computers div#main-computers_cards div.main-computers_card:first-child {
	width: 50%;
} */
div#main-section div#main-computers div#main-computers_cards div.main-computers_card button {
	background-color: #FFCA00;
	color: black;

	transition: all 300ms;
}
div#main-section div#main-computers div#main-computers_cards div.main-computers_card button:hover {
	background-color: black;
	color: white;
}
div#main-section div#main-computers div#main-computers_cards div.main-computers_card img {
	width: 22rem;
	height: 17rem;
	object-fit: contain;
}
/******************************************** -Main Computers- ********************************************/
/******************************************** -Main Section- ********************************************/








/******************************************** About Section ********************************************/

div.container {
	width: 1320px;
	margin: 0 auto;
	padding: 0;
}

div#about-section {
	width: 100%;
	height: auto;
	padding: 6rem 0;
	background-color: white;
}

div#about-section div.container {
	display: flex;
	flex-direction: column;
}

div#about-section div.container h2 {
	font-size: 5.5rem;
	line-height: 9.8rem;
	font-weight: 600;
	margin-bottom: 2rem;
	position: relative;
}

div#about-section div.container h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28.7rem;
	height: .1rem;
	background-color: #5ED9D9;
	z-index: 100;
}

div#about-section div.container div#about-block {
	display: flex;
	flex-direction: row;
}

div#about-section div.container div#about-block div#about-block__text {
	width: 55%;
	margin-right: 3rem;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

div#about-section div.container div#about-block div#about-block__text p {
	font-size: 1.7rem;
	line-height: 2.5rem;
	font-weight: 200;
	text-align: justify;
	margin-bottom: 2rem;
}

div#about-section div.container div#about-block div#about-block__text button {
	background-color: #64BFBF;
	color: white;

	margin: 1rem 0 3rem;
	padding: 1.3rem 1rem;
	border-radius: 15px;
	border: none;

	font-size: 1.4rem;
	line-height: 1.7rem;
	text-transform: uppercase;
	cursor: pointer;

	transition: all 300ms;
}

div#about-section div.container div#about-block div#about-block__text button:hover {
	background-color: #FFCA00;
	color: black;
}

div#about-section div.container div#about-block div#about-block__img {
	width: 45%;
	margin-left: 3rem;
}

div#about-section div.container div#about-block div#about-block__img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
/******************************************** -About Section- ********************************************/








/******************************************** Advantages Section ********************************************/
div#advantages-section {
	width: 100%;
	height: auto;
	padding: 6rem 0;
	background-color: #F3F3F3;
}

div#advantages-section div.container {
	display: flex;
	flex-direction: column;
}

div#advantages-section div.container h2,
div#advantages-section div.container h2 b {
	color: black;
	font-size: 5.5rem;
	line-height: 9.8rem;
	font-weight: 600;
	margin-bottom: 8rem;
	position: relative;
}

div#advantages-section div.container h2 b {
	color: #64BFBF;
}

div#advantages-section div.container h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28.7rem;
	height: .1rem;
	background-color: #5ED9D9;
	z-index: 100;
}

div#advantages-section div.container div#advantages-section__cards {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

div#advantages-section div.container div#advantages-section__cards div.advantage-card {
	flex: 1 1 calc(33.333% - 8rem); /* Три карточки в ряд, учитывая отступы */
	box-sizing: border-box; /* Включает отступы в расчет ширины */
	padding-right: 4rem;
	display: flex;
	flex-direction: column;
}
div#advantages-section div.container div#advantages-section__cards div.advantage-card:nth-child(3n) {
	margin-bottom: 8rem;
}
div#advantages-section div.container div#advantages-section__cards div.advantage-card:nth-child(3n):last-child {
	margin-bottom: 0;
}

div#advantages-section div.container div#advantages-section__cards div.advantage-card h1 {
	font-size: 8rem;
	line-height: 9rem;
	font-weight: 800;
	color: #64BFBF;
}

div#advantages-section div.container div#advantages-section__cards div.advantage-card h4 {
	font-size: 3rem;
	line-height: 4rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

div#advantages-section div.container div#advantages-section__cards div.advantage-card p {
	font-size: 1.7rem;
	line-height: 2.3rem;
	font-weight: 200;
	text-align: justify;
}
/******************************************** -Advantages Section- ********************************************/








/******************************************** Contact Section ********************************************/
div#contact-section {
	width: 100%;
	height: auto;
	padding: 6rem 0 18rem;
	background-color: white;
}

div#contact-section div.container {
	display: flex;
	flex-direction: column;
}

div#contact-section div.container h2 {
	color: black;
	font-size: 5.5rem;
	line-height: 5rem;
	font-weight: 600;
	text-align: center;
}
div#contact-section div.container p {
	font-size: 1.7rem;
	color: rgba(57,62,70,0.45);
	line-height: 2.3rem;
	padding: 1rem 0 2rem;
	font-weight: 400;
	text-align: center;
	margin-bottom: 10rem;
	position: relative;
}

div#contact-section div.container p::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 28.7rem;
	height: .1rem;
	background-color: #5ED9D9;
	z-index: 100;
}

div#contact-section div.container div#contact-block {
	display: flex;
	flex-direction: row;
}

div#contact-section div.container div#contact-block div#contact-block__img,
div#contact-section div.container div#contact-block div#contact-block__form {
	flex: 1 1 40%;
	box-sizing: border-box;
}
div#contact-section div.container div#contact-block div#contact-block__form {
	margin-left: 15rem;
	flex: 1 1 60%
}
div#contact-section div.container div#contact-block div#contact-block__form form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
div#contact-section div.container div#contact-block div#contact-block__form button {
	background-color: #64BFBF;
	color: white;
	/* width: 20%; */

	margin: 1rem 0 3rem;
	padding: 1.3rem 1rem;
	border-radius: 15px;
	border: none;

	font-size: 1.4rem;
	line-height: 1.7rem;
	text-transform: uppercase;
	cursor: pointer;

	transition: all 300ms;
}
div#contact-section div.container div#contact-block div#contact-block__form button:hover {
	background-color: #FFCA00;
	color: black;
}
div#contact-section div.container div#contact-block div#contact-block__form form div.form-group {
	width: 48%;
	font-family: "Poppins", sans-serif;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
div#contact-section div.container div#contact-block div#contact-block__form form div.form-group label {
	font-size: 1.7rem;
	line-height: 2.3rem;
	color: #088989;
	margin-bottom: 1rem;
}
div#contact-section div.container div#contact-block div#contact-block__form form div.form-group input {
	width: 100%;
	margin-bottom: 3rem;
	padding: 1rem;

	font-size: 1.7rem;
	line-height: 2.3rem;
}
div#contact-section div.container div#contact-block div#contact-block__form form div.full-width,
div#contact-section div.container div#contact-block div#contact-block__form form div.full-width textarea {
	width: 100%;
	max-width: 100%;
}
div#contact-section div.container div#contact-block div#contact-block__form form div.full-width textarea {
	min-height: 20rem;
	padding: 1rem;

	font-size: 1.7rem;
	line-height: 2.3rem;
}
div#contact-section div.container div#contact-block div#contact-block__img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	object-fit: cover;
}
/******************************************** -Contact Section- ********************************************/








/******************************************** Footer ********************************************/
div#mobile-footer {
	font-size: 1.4rem;
	margin: 1rem 0;

	display: none;
	flex-direction: row;
	justify-content: center;
	gap: 2rem;
}
div#mobile-footer div {
	display: flex;
	flex-direction: column;
	align-items: center;
}
div#mobile-footer div img {
	width: 4rem;
	height: 4rem;
}


footer {
	position: relative;
	width: 100%;
	height: auto;
	padding: 6rem 0 2rem;
	background-color: #FFCA00;
	overflow: visible;
}

footer div.container {
	position: relative;
	overflow: visible;

	display: flex;
	flex-direction: column;
}

footer div.container p {
	font-size: 1.7rem;
	font-weight: 300;
	line-height: 2.2rem;
	text-align: center;
}
footer div.container p a {
	font-family: inherit;
	color: inherit;
	text-decoration: none;
	font-size: inherit;
	font-weight: 500;
	line-height: inherit;
	transition: color 300ms ease;
}
footer div.container p a:hover {
	color: var(--primary-color);
}

footer div.container div#footer-cards {
	/* position: absolute; */
	width: 100%;
	overflow: visible;
	position: absolute;
	left:0;
	top: -10rem;

	display: flex;
	flex-direction: row;
	transform: translateY(-4rem);
}

footer div.container div#footer-cards div.footer-cards__card {
	margin-right: 2%;
	padding: 2rem;
	border-radius: 30px;
	background-color: #F3F3F3;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
	position: relative;
	

	display: flex;
	align-items: center;
	flex-direction: column;
	flex: 1 1 25%;
	
	z-index: 999;
}
footer div.container div#footer-cards div.footer-cards__card:last-child {
	margin-right: 0;
}
footer div.container div#footer-cards div.footer-cards__card img {
	width: 4rem;
	height: 4rem;
}
footer div.container div#footer-cards div.footer-cards__card h4 {
	font-size: 2.1rem;
	line-height: 2.7rem;
	font-weight: 500;
}
footer div.container div#footer-cards div.footer-cards__card p {
	font-size: 1.6rem;
	line-height: 2.2rem;
	font-weight: 300;
}









div.breadcrumbs {
	/* margin: 0 0 3rem 0; */
	font-size: 1.2rem;
	line-height: 1.5rem;
	color: #90989f;
	user-select: none;

	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
}

div.breadcrumbs a {
	font-size: 1.2rem;
	line-height: 1.5rem;

	transition: color 300ms;
}
div.breadcrumbs a:hover {
	color: #333333;
}






.cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(51, 51, 51, 0.95);
	color: #fff;
	padding: 1.5rem 4rem;
	text-align: center;
	font-size: 1.4rem;
	z-index: 1000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}
.cookie-banner a {
	color: #00a5a5;
	text-decoration: underline;
}
.cookie-banner button {
	background-color: #64BFBF;
	color: #fff;
	border: none;
	padding: 1rem 2rem;
	border-radius: .5rem;
	cursor: pointer;
}
.cookie-banner button:hover {
	background-color: #64b6b6;
}







.hidden {
	display: none !important;
}


/* Бургер-иконка */
.burger {
	margin-right: 3rem;
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 23px;
	height: 23px;
	cursor: pointer;
	position: relative;
	z-index: 1001;
}

.burger span {
	position: absolute; /* Абсолютное позиционирование для полосок */
	width: 100%;
	height: 3px;
	background-color: #000; /* Цвет полосок */
	top: 50%; /* Центрируем полоски по вертикали */
	left: 0;
	transform-origin: center;
	transition: 0.3s;
}

/* Полоски в обычном состоянии */
.burger span:nth-child(1) {
	transform: translateY(-8px); /* Первая полоска наверху */
}
.burger span:nth-child(2) {
	transform: translateY(0); /* Средняя полоска */
}
.burger span:nth-child(3) {
	transform: translateY(8px); /* Нижняя полоска */
}
/* Анимация для крестика */
.burger.active span {
	background-color: black;
}
.burger.active span:nth-child(1) {
	/* transform: rotate(45deg) translate(5px, 5px); */
	transform: rotate(45deg) translateY(3px);
}

.burger.active span:nth-child(2) {
	opacity: 0;
}

.burger.active span:nth-child(3) {
	/* transform: rotate(-45deg) translate(6px, -6px); */
	transform: rotate(-45deg) translate(-2px, 0px);
}

.no-scroll {
	overflow-y: hidden !important;
}

/* Полноэкранное меню */
.fullscreen-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #F3F3F3;
	z-index: 1000;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.fullscreen-menu.active {
	display: flex;
}

.fullscreen-menu a {
	color: black;
	font-size: 24px;
	text-decoration: none;
	padding: 15px 0;
}

.fullscreen-menu a:hover {
	text-decoration: underline;
}
/*------------------*/




.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown * {
	overflow: visible;
}
.dropdown-menu {
	overflow: visible;
  display: none;
  position: absolute;
  background-color: white;
  min-width: 100px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  z-index: 10000;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.dropdown-menu li {
  padding: 8px 16px;
}
.dropdown-menu li a {
  text-decoration: none;
  color: black;
  display: block;
}
.dropdown-menu li:hover {
  background-color: #f1f1f1;
}
.dropdown:hover .dropdown-menu {
  display: block;
}





.run-animation-ot {
	animation: fadeInOt 1s both;
}
@keyframes fadeInOt {
	0% { opacity:0;
	display:none; }
	100% { opacity:1;
	display:block; }
}