/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

* {
	margin: 0;
	padding: 0;
	outline: none;
	border: none;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-family: "Figtree", serif;
	-webkit-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
	/* Firefox */
	scrollbar-width: auto;
	scrollbar-color: #a9a9a9 #ffffff;
  }

  /* Chrome, Edge, and Safari */
  *::-webkit-scrollbar {
    width: 8px;
  }

  *::-webkit-scrollbar-track {
    background: #ffffff;
  }

  *::-webkit-scrollbar-thumb {
    background-color: #a9a9a9;
    border-radius: 4px;
    border: 3px solid #ffffff;
  }

  :root {
	--black: #1D1D1B;
	--white: #FFFFFF;
	--green: #B4D57C;
	--gray: '#F3F3F3';
	--gray-dark: '#989898';
  }

  html,
  body {
	  height: 100%;
	  margin: 0;
  }

  button:hover {
	cursor: pointer;
	opacity: .9;
  }

  input,
  select  {
	width: 100%;
	height: 69px;
	border-radius: 15px;
	padding: 14px 14px 0 20px;
	font-size: 24px;
	line-height: 29px;
	font-weight: 400;
  }

  label {
	font-size: 24px;
  }

  .input {
	width: 100%;
	position: relative;
	font-size: 18px;
  }

  input::-webkit-input-placeholder {
	font-size: inherit;
  }

  input::-moz-placeholder {
	font-size: inherit;
  }

  input:-ms-input-placeholder {
	font-size: inherit;
  }

  input::-ms-input-placeholder {
	font-size: inherit;
  }

  input::placeholder {
	font-size: inherit;
  }

  .input label {
	  position: absolute;
	  top: 18px;
	  left: 20px;
	  font-size: 24px;
	  color: #989898;
	  pointer-events: none;
	  -webkit-transition: 0.2s ease all;
	  -o-transition: 0.2s ease all;
	  transition: 0.2s ease all;
  }

  input {
	border: 1px solid var(--white);
	padding-top: 17px;
  }

  input::-webkit-input-placeholder {
	color: #989898;
  }

  input::-moz-placeholder {
	color: #989898;
  }

  input:-ms-input-placeholder {
	color: #989898;
  }

  input::-ms-input-placeholder {
	color: #989898;
  }

  input::placeholder {
	color: #989898;
  }

  input:hover {
	border-color: #C6C6C6;
  }

  input:focus {
	border-color: #B4D57C;
  }

  input.error {
	border-color: red;
  }

  /* Стили для активного состояния (когда в фокусе или заполнено) */
  .input input:not(:-moz-placeholder-shown) ~ label {
	  top: 5px;
	  left: 20px;
	  font-size: 18px; 
  }
  .input input:not(:-ms-input-placeholder) ~ label {
	  top: 5px;
	  left: 20px;
	  font-size: 18px; 
  }
  .input input:focus ~ label,
  .input input:not(:placeholder-shown) ~ label {
	  top: 5px;
	  left: 20px;
	  font-size: 18px; 
  }
  
  .font-light {
	font-family: "Figtree", serif;
	font-weight: 300;
	font-style: normal;
  }
  
  .font-regular {
	font-family: "Figtree", serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .font-medium {
	font-family: "Figtree", serif;
	font-weight: 500;
	font-style: normal;
  }

  .font-semibold {
	font-family: "Figtree", serif;
	font-weight: 600;
	font-style: normal;
  }
  
  .font-bold {
	font-family: "Figtree", serif;
	font-weight: 700;
	font-style: normal;
  }

  .font-black {
	font-family: "Figtree", serif;
	font-weight: 800;
	font-style: normal;
  }
  
  .main-wrapper {
	max-width: 1606px;
	width: 100%;
	min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
	position: relative;
	margin: 0 auto;
	padding-bottom: 63px;
  }

  .main-page {
	width: 100%;
	height: 100%;
	background-image: url('./img/bg_lg.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right;
  }

  .main-logo--lg,
  .main-logo--xs {
	display: none;
  }

  header {
	margin-bottom: 42px;
	padding-top: 18px;
  }

  .hero {
	max-width: 1075px;
	width: 100%;
  }
	
  .hero h1 {
	color: var(--black);
	font-size: 120px;
	line-height: 120px;
	margin-top: 14px;
  }

  .hero h2 {
	  color: var(--black);
	  font-size: 51px;
	  line-height: 45px;
	  margin-top: 44px;
  }


  .button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 69px;
	background-color: var(--green);
	color: var(--white);
	font-size: 24px;
	line-height: 29px;
	border-radius: 15px;
}

.hero .button {
	width: 381px;
	margin-top: 72px;
}

.button:hover {
	background-color: #A8C96F;
}
  
footer {
	width: 100%;
	margin-top: auto;
	padding-top: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

footer a,
footer span {
	font-size: 24px;
	color: var(--black);
}

.contact-form.content-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.contact-form .hero {
	max-width: 768px;
}

.contact-form .hero h1 {
	margin-top: 0;
}

.contact-form .hero h2 {
	line-height: 63px;
	margin-top: 34px;
}

.contact-form__content {
	max-width: 705px;
	width: 100%;
	height: 759px;
	position: relative;
	background-color: #F3F3F3;
	border-radius: 42px;
	padding: 30px;
}

.contact-form__content .form {
	width: 100%;
}

.contact-form .form .if {
	display: block;
	padding-top: 6px;
}

.contact-form__success {
	padding-top: 319px;
	display: none;
}

.contact-form__success img {
	width: 420px;
	position: absolute;
	top: -90px;
    left: 214px;
}

.contact-form__success h3 {
	font-size: 51px;
	line-height: 59px;
	color: var(--black);
	text-align: center;
}

.contact-form__success .button {
	width: 100%;
	margin-top: 64px;
}

.contact-form .form-container {
	width: 100%;
	display: -ms-grid;
	display: grid;
	gap: 15px;
}

.contact-form .if {
	font-size: 18px;
	color: #8F8F8F;
}

.contact-form .form .button {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-top: 26px;
}

.dropdown {
	position: relative;
}

.dropdown input {
	border: none !important;
	border-radius: 0;
	padding-top: 0 !important;
}

.dropdown label {
	position: absolute;
	top: 18px;
    left: 20px;
	font-size: 24px;
	color: #989898;
	pointer-events: none;
	-webkit-transition: 0.2s ease all;
	-o-transition: 0.2s ease all;
	transition: 0.2s ease all;
	z-index: 1;
}

.dropdown label.active {
	font-size: 18px;
	top: 6px;
    left: 20px;
}

.dropdown__button {
	width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-family: "Figtree", serif;
  font-size: 24px;
  line-height: 29px;
  color: #444444;
  text-align: left;
  background: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 4px;
  height: 69px;
  padding: 10px 40px 8px 20px;
  border-radius: 15px;
  margin: 0;
  cursor: pointer;
}

.dropdown__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url('./img/arrow_lg.svg') 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  -webkit-transition: 200ms ease;
  -o-transition: 200ms ease;
  transition: 200ms ease;
}

.dropdown__button:hover {
	border-color: #C6C6C6;
}

.dropdown__button_active {
	border-color: #B4D57C;
}

.dropdown__button_active::after {
  -webkit-transform: translateY(-50%) rotate(-180deg);
      -ms-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}

.dropdown__list {
	width: 100%;
	position: absolute;
  margin: 0;
  padding: 0;
  list-style-type: none;
  top: 73px;
  left: 0;
  -webkit-box-shadow: 0px 10px 20px 0px #88919d4d;
          box-shadow: 0px 10px 20px 0px #88919d4d;
  border: 1px solid #e6eaed;
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 200ms ease;
  -o-transition: 200ms ease;
  transition: 200ms ease;
  border-radius: 15px;
  z-index: 2;
}

.dropdown__list-content {
	max-height: 300px;
	overflow-y: auto;
	padding: 10px;
}

.dropdown__search input {
	padding: 10px 10px 0px 13px;
}

.dropdown__list-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 0;
	padding: 0;
	padding: 25px 15px;
	cursor: pointer;
	font-size: 24px;
	line-height: 18px;
	border-radius: 8px;
	gap: 10px;
	color: #444444;
	-webkit-transition: 200ms ease;
	-o-transition: 200ms ease;
	transition: 200ms ease;
}

.dropdown__search {
	width: 100%;
	position: relative;
	border-bottom: 1px solid #E1E1E1;
}

.dropdown__search img {
	position: absolute;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	top: 50%;
	right: 10px;
}

.dropdown__list_visible {
  opacity: 1;
  visibility: visible;
}

.dropdown__list-item_active {
	background: #F0F9E2;
}

.dropdown__list-item:hover {
	background: #f5f8fa;
}

.dropdown__input_hidden {
  display: none;
}

.phone-input-container {
	width: 100%;
	height: 69px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #ffffff;
	border: 1px solid #ffffff;
	border-radius: 15px;
	padding: 5px 10px 5px 20px;
}

.country-code {
	width: 90px;
	border: none;
	font-size: 24px;
	background: none;
	margin-right: 5px;
	padding: 0;
	cursor: pointer;
}

.phone-number {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	border: none;
	outline: none;
	font-size: 24px;
	padding: 0;
	background: none;
}

.optional-text {
	font-size: 12px;
	color: #aaa;
	margin-top: 5px;
}

.flag {
	width: 38px;
	height: 23px;
	background-image: url('https://flagcdn.com/w20/al.png');
	background-size: cover;
	margin-right: 8px;
}

.flag-img {
	border: 1px solid #E3E3E3;
}

@media (max-width: 1606px) {
.main-wrapper {
	max-width: 1071px;	
	padding-bottom: 40px;
}

.main-logo--xl {
	display: none;
}

.main-logo--lg {
	display: block;
}

input,
select  {
	width: 100%;
	height: 46px;
	border-radius: 10px;
	padding: 14px 14px 0 13px;
	font-size: 16px;
	line-height: 19.2px;
	font-weight: 400;
}

label {
  font-size: 16px;
}

.input {
  font-size: 16px;
}

input::-webkit-input-placeholder {
  font-size: inherit;
}

input::-moz-placeholder {
  font-size: inherit;
}

input:-ms-input-placeholder {
  font-size: inherit;
}

input::-ms-input-placeholder {
  font-size: inherit;
}

input::placeholder {
  font-size: inherit;
}

.input label {
	top: 13px;
	left: 13px;
	font-size: 16px;
}

input {
  padding-top: 17px;
}

/* Стили для активного состояния (когда в фокусе или заполнено) */
.input input:not(:-moz-placeholder-shown) ~ label {
	top: 5px;
	left: 14px;
	font-size: 12px; 
}
.input input:not(:-ms-input-placeholder) ~ label {
	top: 5px;
	left: 14px;
	font-size: 12px; 
}
.input input:focus ~ label,
.input input:not(:placeholder-shown) ~ label {
	top: 5px;
	left: 14px;
	font-size: 12px; 
}

header {
	margin-bottom: 31px;
	padding-top: 12px;
}

.hero {
	max-width: 717px;
}

.hero h1 {
	font-size: 80px;
	line-height: 80px;
	margin-top: 14px;
}

.hero h2 {
	font-size: 34px;
	line-height: 42px;
	margin-top: 24px;
}

.button {
	height: 46px;
	font-size: 16px;
	border-radius: 10px;
}

.hero .button {
	width: 254px;
	margin-top: 42px;
}

footer a,
footer span {
	font-size: 16px;
}

.contact-form .hero {
	max-width: 524px;
}

.contact-form__content {
	max-width: 470px;
	height: 506px;
	border-radius: 28px;
	padding: 20px;
}

.contact-form__success {
	padding-top: 212px;
}

.contact-form__success img {
	width: auto;
	top: -60px;
    left: 140px;
}

.contact-form .hero h2 {
	font-size: 34px;
	line-height: 42px;
	margin-top: 24px;
}

.contact-form__success h3 {
	font-size: 34px;
	line-height: 38.8px;
}

.contact-form__success .button {
	width: 100%;
	margin-top: 45px;
}

.contact-form .form-container {
	gap: 10px;
}

.contact-form .if {
	font-size: 12px;
	padding-top: 6px;
}

.contact-form .form .button {
	margin-top: 18px;
}

.dropdown label {
	top: 14px;
    left: 12px;
	font-size: 16px;
}

.dropdown label.active {
	font-size: 12px;
	top: 6px;
    left: 14px;
}

.dropdown__button {
  font-size: 16px;
  line-height: 19.2px;
  color: #444444;
  border-radius: 4px;
  height: 46px;
  padding: 10px 40px 4px 13px;
  border-radius: 10px;
}

.dropdown__button::after {
	width: 15px;
	height: 15px;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url('./img/arrow.svg') 100% 100%;
}

.dropdown__list {
  left: 0;
  top: 50px;
  border-radius: 4px;
  border-radius: 10px;
}

.dropdown__list-content {
	max-height: 200px;
	padding: 6px;
}

.dropdown__search input {
	padding: 10px 10px 0px 13px;
}

.dropdown__list-item {
	padding: 15px;
	font-size: 16px;
	line-height: 18px;
	border-radius: 8px;
	gap: 10px;
}

.dropdown__search {
	width: 100%;
	position: relative;
	border-bottom: 1px solid #E1E1E1;
}

.dropdown__search img {
	position: absolute;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	top: 50%;
	right: 10px;
}

.dropdown__list_visible {
  opacity: 1;
  visibility: visible;
}

.dropdown__list-item_active {
	background: #F0F9E2;
}

.dropdown__list-item:hover {
	background: #f5f8fa;
}

.dropdown__input_hidden {
  display: none;
}

.phone-input-container {
	height: 46px;
	border-radius: 10px;
	padding: 5px 10px 5px 13px;
}

.country-code {
	width: 70px;
	font-size: 16px;
	margin-right: 5px;
}

.phone-number {
	font-size: 16px;
}

.optional-text {
	font-size: 12px;
	margin-top: 5px;
}

.flag {
	width: 26px;
	height: 18px;
	margin-right: 8px;
}
}

@media (max-width: 1080px) {
	.main-wrapper {
		padding: 0 20px;
	}
}

@media (max-width: 840px) {
	.main-page {
		background-image: url('./img/bg_sm.png');
		background-position: 0px 80px;
	}

	.main-logo--lg {
		display: none;
	}

	.main-logo--xs {
		display: block;
		width: 182px;
		height: 34px;
	}

	.main-wrapper {
		padding: 16px;
		padding-top: 20px;
		padding-bottom: 15px;
	}

	header {
		padding-top: 0;
		margin-bottom: 34px;
	}

	.hero {
		margin-bottom: 28px;
		padding-top: 6px;
	}

	.hero h1 {
		margin-top: 0;
		font-size: 56px;
		line-height: 56px;
	}

	.hero h1 br {
		display: none;
	}

	.hero h2 {
        max-width: 350px;
		font-size: 36px;
		line-height: 44px;
		margin-top: 25px;
	}

	.hero .button {
		width: 100%;
		margin-top: 45px;
	}
	
	.contact-form__success {
		padding-top: 209px;
	}
	
	.contact-form.content-wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	
	.contact-form .hero {
		padding-top: 0;
		max-width: 100%;
		margin-bottom: 46px;
	}

	.contact-form .hero h2 {   
		font-size: 36px;     
		line-height: 44px;
		margin-top: 24px;
        padding-left: 5px;
		padding-right: 12px;
	}

	.contact-form__content {
		height: 494px;
		padding: 14px;
		border-radius: 20px;
		margin: 0 auto;
	}

	.contact-form__success img {
		width: 174px;
		top: 56px;
		left: 121px;
	}

	.contact-form__success h3 {
		font-size: 26px;
		line-height: 30px;
		margin-top: 25px;
		padding: 0 20px;
	}

	.contact-form__success h3 br {
		display: none;
	}

	.contact-form__success .button {
		margin-top: 36px;
	}

	footer {
		position: relative;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 6px;
		padding-right: 15px;
	}

	footer a,
	footer span {
		font-size: 16px;
		line-height: 22px;
	}

	.input label,
	.dropdown label {
		left: 14px;
	}
}

@media (max-width: 390px) {
	.main-page {
		background-image: url('./img/bg_sm.png');
	}

	header {
		margin-bottom: 27px;
	}

	.main-logo--xs {
		width: 150px;
        height: 28px;
	}

	.main-wrapper {
		padding: 16px;
	}

	.hero {
		margin-bottom: 28px;
		padding-top: 0;
	}

	.hero h1 {
		font-size: 40px;
		line-height: 40px;
	}

	.hero h2 {
		font-size: 20px;
		line-height: 24px;
		margin-top: 16px;
	}

	.hero .button {
		width: 100%;
		margin-top: 27px;
	}

	.contact-form__success {
		padding-top: 209px;
	}

	.contact-form.content-wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.contact-form .hero {
		max-width: 100%;
		margin-bottom: 28px;
	}

	.contact-form .hero h2 {
		font-size: 20px;
		line-height: 24px;
		margin-top: 16px;
		padding: 0;
	}

	.contact-form__content {
		height: 494px;
		padding: 14px;
		border-radius: 20px;
	}

	.contact-form__success img {
		width: 174px;
		top: 56px;
    	-webkit-transform: translateX(-50%);
    	    -ms-transform: translateX(-50%);
    	        transform: translateX(-50%);
		left: 50%;
	}

	.contact-form__success h3 {
		font-size: 20px;
		line-height: 24px;
		margin-top: 25px;
		padding: 0 40px;
	}

	.contact-form__success .button {
		margin-top: 36px;
	}

	footer {
		position: relative;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 6px;
		padding-right: 15px;
	}

	footer a,
	footer span {
		font-size: 14px;
		line-height: 18px;
	}

	.input label,
	.dropdown label {
		left: 14px;
	}
}

@media (max-width: 320px) {
	.main-page {
		background-position: 1px 65px;
	}

	.contact-form__success img {
		-webkit-transform: translate(0);
		    -ms-transform: translate(0);
		        transform: translate(0);
		left: 84px;
	}
}