:root {
	--container-max-width: 1263px;
	--pagination-dots-gap: 17.54px;
	--pagination-arrow-margin: 29.5px;
}

html,
body {
	margin: 0;
	padding: 0;
	font-family: "Nunito Sans";
}

* {
	box-sizing: border-box;
}

section {
	margin: 0;
	padding: 0;
}

.container {
	max-width: var(--container-max-width);
	margin: 0 auto;
}

.checkbox-label {
	cursor: pointer;
	margin: 0 auto;
	margin-top: 33.24px;
}

.checkbox {
	display: none;
}

.fake {
	display: inline-flex;
	width: 18px;
	height: 18px;
	background: #E3B873;
	color: #FFF;
	justify-content: center;
	margin-right: 8.62px;
	border-radius: 1px;
}

.fake::before {
	content: "\2714";
	opacity: 0;
	transition: .2s;
}

.checkbox:checked + .fake::before {
	opacity: 1;
}

.button {
	background-color: #E3B873;
	color: white;
	box-shadow: 0px 5px 15px 0px #E3B87333;
	outline: none;
	border: none;
	border-radius: 2px;
	padding: 13px 33px;
	text-transform: uppercase;
	font-style: italic;
	cursor: pointer;
}

.title {
	margin: 0;
	font-family: "Yeseva One", 'Times New Roman', Times, serif;
	text-transform: uppercase;
	font-style: normal;
	font-weight: normal;
	font-size: 40px;
	line-height: 53px;
	color: #E3B873;
}

.title.white-title {
	color: white;
}

.subtitle {
	color: #181818;
	font-size: 20px;
}

.dark .subtitle {
	color: white;
}

h2.title {
	font-size: 27px;
}

h3.title {
	font-size: 18px;
	/* Fix line-height when the context doesn't fit on the title */
	line-height: 25px;
}

hr.divider {
	border: none;
	height: 1.54px;
	width: 55px;
	background-color: #E3B873;
	border-radius: 1px;
	margin-top: 62.5px;
	margin-bottom: 34.46px;
}

.input-wrapper {
	text-align: left;
}

.input-wrapper label {
	color: rgba(54, 54, 54, 0.5);
	font-size: 13px;
}

.input {
	color: #363636;
	border: none;
	border-bottom: 1px solid rgba(54, 54, 54, 0.3);
	padding: 0;
	padding-bottom: 8px;
	border-radius: 0;
	font-size: 14px;
}

.input::placeholder,
.input::-moz-placeholder {
	color: #363636;
	opacity: 1;
}

.button-outlined {
	border: 1px solid white;
	background: transparent;
}

.section-icon {
	margin-bottom: 31px;
	margin-top: 13px;
}

.icon-line {
	display: inline-block;
	width: 32px;
	height: 1.54px;
	background-color: #E3B873;
	border-radius: 1px;
	margin-bottom: calc(29px / 2);
}

p {
	font-size: 18px;
}

.our-clients .container + .have-any-questions::before {
	border: 12px solid red;
}

/* header&footer */
.logo,
.link {
	text-transform: uppercase;
}

.logo,
.phone-link {
	color: #E3B873;
}

.phone-link {
	text-decoration: underline;
}

.header,
.footer {
	background: black;
}

.header .container,
.footer .container {
	padding: 38px 0;
}

.header ul,
.footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header ul .header-menu__item,
.footer ul .footer-menu__item {
	margin-right: 20px;
}

.header ul .header-menu__item a,
.footer ul .footer-menu__item a {
	text-decoration: none;
	color: white;
}

.header ul .header-menu__item a:hover,
.footer ul .footer-menu__item a:hover {
	color: #E3B873;
}

.link {
	transition:	0.2s;
}
/* /header&footer */

/* dark */
.dark {
	color: white;
	background-color: #131313;
}
/* /dark */

/* hero */
.hero {
	background-image: url(images/hero.jpg);
	background-size: cover;
	height: 707px;
	padding-top: 194px;
	position: relative;
}

.hero .hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.7);
}

.hero .container {
	position: relative;
	z-index: 1;
}

.hero .city-name {
	color: #E3B873;
}

.hero p {
	font-size: 22px;
	max-width: 502px;
}

.hero .button {
	margin: 41px 20px;
	margin-left: 20px;
}

.hero .button:first-of-type {
	margin-left: 0;
}

.hero .title {
	max-width: 521px;
}
/* /hero */

/* completed-projects */
.completed-projects .container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	height: 100%;
	/* to tweak the next section background */
	padding-bottom: 416px;
}

.completed-projects p {
	font-size: 14px;
}

.completed-projects span {
	font-size: 13px;
}

.completed-projects__repair-details-wrapper {
	padding: 45px 27px;
	padding-bottom: 0;
	display: flex;
	flex-direction: column;
}

.repair-details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 0;
	max-width: 365px;
}

.completed-projects__pagination {
	display: flex;
	flex-direction: column-reverse;
	/* align-items: center; */
	height: 100%;
}

.pagination__dots {
	display: inline-block;
}

.pagination__dots .pagination__dot {
	display: inline-block;
	cursor: pointer;
	margin: 2.5px calc(var(--pagination-dots-gap) / 2);
	background: rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	width: 9.57px;
	height: 9.57px;
}

.pagination__dots .pagination__dot.active {
	background: white;
}

.pagination__arrow-left,
.pagination__arrow-right {
	display: inline-block;
	cursor: pointer;
}

.pagination__arrow-left {
	margin-right: calc(var(--pagination-arrow-margin) - calc(var(--pagination-dots-gap) / 2))
}

.pagination__arrow-right {
	margin-left: calc(var(--pagination-arrow-margin) - calc(var(--pagination-dots-gap) / 2))
}

.completed-projects__tabs {
	list-style: none;
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	padding-left: 0;
}

.completed-projects__tabs a {
	font-family: "Yeseva One";
	text-decoration: none;
	color: rgba(255, 255, 255, 0.3);
}

.completed-projects__tabs a:hover {
	color: rgba(255, 255, 255, 0.6);
}

.completed-projects__tabs a.active {
	color: #E3B873;
	border-bottom: 1px solid #E3B873;
}

.completed-projects__image {
	display: none;
}

.completed-projects__image.active {
	display: block;
}
/* /completed-projects */

/* online-control */
.online-control .container {
	/* to tweak the section background */
	margin-top: calc(-416px + 90.72px);
	text-align: center;
}

.online-control__video-image {
	display: flex;
	justify-content: center;
	position: relative;
	max-width: fit-content;
	margin-top: 31.21px !important;
	box-shadow: 0px 20px 50px 0px rgba(0, 0, 0, 0.15);
}

.play-button {
	width: 85px;
	height: 85px;
	border-radius: 50%;
	background-color: #E3B873;
	cursor: pointer;
}

.play-button::before {
	content: '';
	display: block;
	background: url(images/play-button.svg) no-repeat;
	margin: calc(calc(85px - 26px) / 2) calc(calc(85px - 21px) / 2);
	width: 21px;
	height: 26px;
}

.online-control__video-image .overlay {
	position: absolute;
	background: rgba(0, 0, 0, 0.8);
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.online-control .container div:not(.icon-line, .section-icon, .input-wrapper),
.online-control .container p {
	margin: 0 auto;
}

.online-control p {
	max-width: 681px;
	line-height: 204.6%;
}

.submit-button {
	min-width: 200px;
	min-height: 51px;
	font-style: normal;
}

.online-control form {
	max-width: 679px;
	margin: 0 auto;
	margin-top: 91.5px;
}

.online-control form .row {
	display: flex;
	justify-content: space-between;
}

.online-control form .checkbox-label:not(.mobile-checkbox-label) {
	position: relative;
	top: 33.24px;
}

.online-control form .mobile-checkbox-label {
	display: none;
}
/* /online-control */

/* types-of-repair */
.types-of-repair .container {
	margin-top: 75.85px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/* max-width: 100%; */
}

.types-of-repair {
	position: relative;
}

.types-of-repair .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-image: url(images/request-background.png);
	/* background-size: cover; */
	background-size: 803px 598px;
	background-position: 0 90%;
	background-repeat: no-repeat;
	/* opacity: 0.2; */
}

.example-title {
	font-size: 18px;
	color: #363636;
	text-transform: none;
	line-height: 138.6%;
}

.types-of-repair__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.types-of-repair__item {
	display: flex;
	flex-direction: column;
}

.types-of-repair__description {
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.03);
	/* top, right, bottom, left */
	padding: 25px 32px 36px 31px;
	max-width: 330px;
	margin: 0 auto;
	margin-top: calc(-392px + 294px);
	background: #FFF;
	min-width: 330px;
}

.types-of-repair__example-characteristics {
	margin: 0;
	margin-top: 13px;
	list-style-position: inside;
	padding: 0;
	color: #959595;
}

.types-of-repair .button {
	padding: 17px 21.44px;
	box-shadow: 5px 5px 10px 0px rgba(227, 184, 115, 0.3);
	font-style: normal;
}

.types-of-repair .button-card {
	max-width: fit-content;
	margin-left: 33px;
	margin-top: calc(-50px / 2);
}

/* .types-of-repair__request-steps-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
} */

.types-of-repair__request {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 219.19px;
	margin-top: 124px;
	max-width: 100%;
	max-height: 725.44px;
	position: relative;
	width: 100%;
}

.types-of-repair__request-steps {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	height: 100%;
	max-height: 473.62px;
	width: 100%;
}


.types-of-repair__request-step {
	display: flex;
	align-items: center;
}

.types-of-repair__request-step .step-number {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #E3B873;
	width: 41.76px;
	height: 41.76px;
	border-radius: 50%;
	color: #FFF;
	font-size: 18px;
	font-family: "Yeseva One", 'Times New Roman', Times, serif;
	font-style: normal;
	line-height: 138.6%;
	border: 8px solid #FFF;
	box-shadow: 0px 5px 15px 0px rgba(227,184,115, 0.15);
	/* fixing the padding */
	padding: calc(13px + 6px) calc(14px + 5px);
}

.types-of-repair__request-step .step-text {
	display: inline-block;
	margin-left: 17.05px;
	font-size: 14px;
}

.save-the-cost {
	margin-top: 38.44px;
	margin-left: 33.5px;
}

.save-the-cost-icon {
	display: inline-flex;
	background: #E3B873;
	height: 72px;
	width: 72px;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	box-shadow: 0px 10px 20px 0px rgba(237, 192, 120, 0.2);
}

.save-the-cost-text {
	display: inline-block;
	color: #E3B873;
	font-size: 18px;
	max-width: 210px;
	text-shadow: 0px 3px 10px rgba(237, 192, 120, 0.15);
	margin-left: 25px;
}

.types-of-repair__request-form form {
	background: #000;
	padding-left: 49px;
	padding-right: 49px;
	padding-top: 28px;
	padding: 28px 49px 27px 49px;
	display: flex;
	flex-direction: column;
	text-align: right;
}

.types-of-repair__request-form form .checkbox-label {
	margin: 16px 0 0 0;
	align-self: start;
}

.types-of-repair__request-form form .button {
	align-self: flex-end;
	margin-top: 39px;
}

.types-of-repair__request-form form .subtitle {
	text-transform: none;
	max-width: 211px;
	align-self: center;
	text-align: center;
	font-family: "Nunito Sans", 'Times New Roman', Times, serif;
}

.types-of-repair__request-form form .input-wrapper {
	margin-top: 39px;
}

.types-of-repair__request-form form .input-wrapper hr {
	color: rgba(255, 255, 255, 0.15);
	margin-top: 3px;
}

.types-of-repair__request-form form .input {
	background: transparent;
	color: #FFF;
}

.types-of-repair__request-form form .input::placeholder {
	color: #FFF;
}

.types-of-repair__request-form form label {
	color: rgba(255, 255, 255, 0.5);
}

.types-of-repair__request-form form .checkbox-label {
	color: #FFF;
}
/* /types-of-repair */

/* we-realize */
.we-realize {
	margin-top: 242.09px;
	position: relative;
	background: unset;
}

.we-realize .overlay {
	background-image: linear-gradient(110deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.90) 100%), url(images/we-realize/we-realize_bg.png);
	background-size: cover;
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	right: 0;
	z-index: -1;
}

.we-realize .container,
.we-realize .we-realize__images {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.we-realize .container {
	gap: 77px;
}

.we-realize .title {
	margin-top: 137.47px;
}

.we-realize .we-realize__tabs {
	list-style: none;
	margin: 0;
	padding: 0;
}

.we-realize .we-realize__tabs li {
	margin-top: 25px;
}

.we-realize .we-realize__tabs li a {
	text-transform: none;
	color: #FFF;
	font-size: 20px;
	text-decoration: none;
}

.we-realize .we-realize__tabs li a.active {
	color: #E3B873;
	border-bottom: 0.66px solid #E3B873;
}

.we-realize .we-realize__images {
	gap: 43.19px;
}

.we-realize .we-realize__images .column {
	display: grid;
	gap: 36.77px;
}

.we-realize .we-realize__images .column:nth-child(even) {
	margin-top: -113px;
}

.we-realize .we-realize__images .column:nth-child(odd) {
	margin-top: -41px;
	gap: 39.12px;
	margin-bottom: -41px;
}

.we-realize .we-realize__mobile-slider-controls {
	display: none;
}
/* /we-realize */

/* our-clients */
.our-clients .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-top: 71.43px;
}

.our-clients p {
	max-width: 380px;
}

.our-clients .testimonials {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 54px;
	margin-top: 39px;
}

.our-clients .testimonial__user-feedback-wrapper {
	box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.04);
	padding: 24px 20px 0 31.92px;
}

.our-clients .testimonial__user {
	display: flex;
	align-items: center;
}

.our-clients .testimonial__user-image img {
	width: 76px;
	height: 76px;
	border-radius: 50%;
}

.our-clients .testimonial__user-name {
	font-family: "Yeseva One", 'Times New Roman', Times, serif;
	font-size: 18px;
	text-align: left;
	margin-left: 23px;
}

.our-clients .testimonial__feedback {
	color: #959595;
	text-align: left;
	font-size: 13px;
	line-height: calc(15px + 18px);
	padding-bottom: 88.88px;
}

.our-clients .testimonial__feedback p {
	margin-top: 23.12px;
}

.our-clients .testimonial__properties {
	display: flex;
	margin-top: calc(-54px + calc(54px / 2));
}

.our-clients .testimonial__property {
	display: flex;
	align-items: center;
	padding: 11px 17.36px;
	background: #E3B873;
	color: #FFF;
	margin-left: 0.88px;
	text-transform: uppercase;
	box-shadow: 5px 5px 20px rgba(227, 184, 115, 0.5);
}

.our-clients .testimonial__property--icon {
	margin-right: 15px;
	max-width: 32px;
	max-height: 32px;
}
/* /our-clients */

/* have-any-questions */
.have-any-questions {
	position: relative;
	background: unset;
	z-index: 1;
	background: black;
}

.have-any-questions > .top-overlay {
	display: block;
	position: absolute;
	top: calc(-263px + 13px);
	width: 100%;
	height: 100%;
	max-height: 263px;
	overflow: hidden;
	z-index: -3;
  }

.have-any-questions > .top-overlay .cityflow-background {
	position: relative;
	width: 100%;
	height: 100%;
}

.have-any-questions > .top-overlay .cityflow-background div {
	width: 100%;
	height: 100%;
	background: url(images/cityflow_background.png);
	background-position: center bottom;
}

.have-any-questions > .overlay {
	background: linear-gradient(180deg, rgba(24, 24, 24, 0.90) 3.47%, rgba(24, 24, 24, 0.72) 100%), url(images/have-any-questions-bg.png);
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 100%;
	z-index: -1;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.have-any-questions .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-top: 372.1px;
}


.have-any-questions__request-form-wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
}

.have-any-questions__request-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 883px;
	width: 100%;
	background: #000;
	margin-top: calc(-428px / 2);
	margin-bottom: 52.01px;
}

.have-any-questions__request-form form {
	padding-left: 49px;
	padding-right: 49px;
	padding-top: 28px;
	padding: 28px 49px 27px 49px;
	display: flex;
	flex-direction: column;
	text-align: center;
	max-width: 520px;
}

.have-any-questions__request-form form .checkbox-label {
	margin: 16px 0 0 0;
	align-self: start;
	color: #FFF;
}

.have-any-questions__request-form form .button {
	align-self: flex-end;
	margin-top: 39px;
}

.have-any-questions__request-form form .input-wrapper {
	margin-top: 45.84px;
	width: 100%;
}

.have-any-questions__request-form form .input-wrapper hr {
	color: rgba(255, 255, 255, 0.15);
	margin-top: 3px;
	width: 100%;
	max-width: 523px;
}

.have-any-questions__request-form form .input {
	background: transparent;
	color: #FFF;
}

.have-any-questions__request-form form .input::placeholder {
	color: #FFF;
}

.have-any-questions__request-form form label {
	color: rgba(255, 255, 255, 0.5)
}

.have-any-questions__request-form form .row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 58px;
	max-width: 100%;
	overflow: hidden;
}

.have-any-questions__request-form form .row-one-column {
	grid-template-columns: 1fr;
}

.have-any-questions__request-form form .button {
	align-self: center;
	font-style: normal;
	margin-top: 50.45px;
	border-radius: 0;
	min-width: 200px;
}

.have-any-questions address {
	font-style: normal;
	font-family: "Yeseva One", 'Times New Roman', Times, serif;
	font-size: 20px;
	text-transform: uppercase;
	color: #E3B873;
}

.have-any-questions__social-icons {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 26px;
}

.have-any-questions__social-icons .have-any-questions__icon {
	display: inline-flex;
	background: #E3B873;
	min-width: 28px;
	min-height: 28px;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

.have-any-questions .have-any-questions__map {
	margin-top: 42px;
	margin-bottom: 64px;
}
/* /have-any-questions */