* {
	margin:0;
	padding:0;
}

html, body {
	color:#000;
	font-family:'Open Sans', sans-serif;
	height:100%;
}

img {
	opacity:1;
	transition:opacity .3s;
}

img[data-src] {
	opacity:0;
}

/* ----- Обертка ----- */
.wrapper {
	display:flex;
	flex-direction:column;
	min-height:100%;
}

/* ----- Топ-бар ----- */
.top-bar .brand a img {
	width:40%;
}

.top-bar .contacts a {
	color:#000;
	text-decoration:none;
}

.top-bar .contacts a:hover {
	color:#939597;
}

.top-bar .description p {
	font-size:19px;
	font-weight:bold;
}

.top-bar .consultation .btn-consultation {
    background-color: #F5DF4D;
    border-color: #F5DF4D;
	border-radius:0.313rem;
	padding:.187rem .75rem;
}

.top-bar .consultation .btn-consultation:hover {
	color:#fff;
    background-color: #939597;
    border-color: #939597
}

/* ----- Меню ----- */
.navbar {
	background-color:#F5DF4D;
}

.navbar-brand {
	color:#000;
	font-weight:bold;
}

.navbar .navbar-toggler:focus {
	box-shadow:none !important;
}

.navbar .navbar-toggler-icon {
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 100%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-nav .nav-link {
	color:#000;
	font-weight:600;
	text-align:center;
}

.navbar-nav .nav-link.active {
	color:#939597;
}

.navbar-nav .nav-link:hover {
	color:#939597;
}

/* ----- Контент страницы ----- */
.content {
	flex:1 0 auto;
}

/* ----- Интро ----- */
#intro {
	background:url(../img/helmet-in-hand.jpg)center center no-repeat;
	background-blend-mode:multiply;
	background-attachment:fixed;
	background-color:#939597;
	background-size:cover;
	-o-background-size:cover;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	padding-top:100px;
	padding-bottom:100px;
}

#intro .title,
#intro .subtitle {
	font-weight:bold;
	margin-bottom:16px;
}

#intro .callback {
	background-color:rgb(248 249 250 / 90%);
	border-radius:5px;
}

#intro .callback .caption {
	font-weight:bold;
	margin-bottom:16px;
}

#intro .callback .btn-submit {
    background-color: #F5DF4D;
    border-color: #F5DF4D;
	border-radius:0.313rem;
}

#intro .callback .btn-submit:hover {
	color:#fff;
    background-color: #939597;
    border-color: #939597
}

/* ----- Преимущества ----- */
#benefits {
	padding-top:50px;
	padding-bottom:50px;
}

#benefits .title {
	font-weight:bold;
	margin-bottom:25px;
}

#benefits .desc {
	margin-bottom:50px;
}

#benefits .list-group-item:before {
	font-family:"Font Awesome 5 Free";
	font-size:20px;
    content:"\f058";
    line-height:1;
	color:#F5DF4D;
	margin-right:1rem;
}

#benefits .block-btn-consultation {
	margin-top:50px;
}

#benefits .block-btn-consultation .btn-consultation {
    background-color: #F5DF4D;
    border-color: #F5DF4D;
	border-radius:0.313rem;
	padding:.187rem .75rem;
}

#benefits .block-btn-consultation .btn-consultation:hover {
	color:#fff;
    background-color: #939597;
    border-color: #939597
}

/* ----- Разрешения ----- */
#permissions {
	background-color:#f8f9fa;
	padding-top:50px;
	padding-bottom:50px;
}

#permissions .title {
	font-weight:bold;
	margin-bottom:50px;
}

#permissions .permission-img img {
	border-radius:5px;
	transition:all .25s ease-out;
}
	
#permissions .permission-img img:hover {
	transform:scale(1.025);
}

/* ----- Опыт ----- */
#experience {
	padding-top:50px;
	padding-bottom:50px;
}

#experience .title {
	font-weight:bold;
	margin-bottom:16px;
}

#experience .desc {
	margin-bottom:50px;
}

#experience .list-group-item:before {
	font-family:"Font Awesome 5 Free";
	font-size:20px;
    content:"\f192";
    line-height:1;
	color:#F5DF4D;
	margin-right:1rem;
}

/* ----- Работы ----- */
#work {
	background:url(../img/construction-site-minsk.jpg)center center no-repeat;
	background-blend-mode:multiply;
	background-attachment:fixed;
	background-color:#6e7373;
	background-size:cover;
	-o-background-size:cover;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	padding-top:50px;
	padding-bottom:50px;
}

#work .title {
	font-weight:bold;
	margin-bottom:50px;
}

#work .desc {
	background-color:rgb(255 255 255 / 85%);
	border-radius:5px;
}

#work .desc i {
	font-size:25px;
	margin-bottom:16px;
}

/* ----- Стоимость ----- */
#cost {
	padding-top:50px;
	padding-bottom:50px;
}

#cost .title {
	font-weight:bold;
	margin-bottom:16px;
}

#cost .callback {
	background-color:#f8f9fa;
	border-radius:5px;
}

#cost .callback p a {
	color:#000;
	text-decoration:none;
}

#cost .callback p a:hover {
	color:#939597;
}

#cost .callback .btn-consultation {
    background-color: #F5DF4D;
    border-color: #F5DF4D;
	border-radius:0.313rem;
}

#cost .callback .btn-consultation:hover {
	color:#fff;
    background-color: #939597;
    border-color: #939597
}

/* ----- Отзывы ----- */ 
#testimonials {
	background-color:#f8f9fa;
	padding-top:50px;
	padding-bottom:50px;
}

#testimonials .title {
	font-weight:bold;
	margin-bottom:16px;
}

/* ----- Контакты ----- */ 
#contacts {
	padding-top:50px;
	padding-bottom:50px;
}

#contacts .title {
	font-weight:bold;
	margin-bottom:24px;
}

#contacts .list-group .list-group-item i {
	color:#F5DF4D;
}

#contacts .list-group .list-group-item a {
	color:#000;
	text-decoration:none;
}

#contacts .list-group .list-group-item a:hover {
	color:#939597;
}

#contacts .callback {
	background-color:#f8f9fa;
	border-radius:5px;
}

#contacts .callback .caption {
	font-weight:bold;
	margin-bottom:16px;
}

#contacts .callback .btn-submit {
    background-color: #F5DF4D;
    border-color: #F5DF4D;
	border-radius:0.313rem;
}

#contacts .callback .btn-submit:hover {
	color:#fff;
    background-color: #939597;
    border-color: #939597
}

/* ----- Подвал ----- */
footer {
	background-color:#000;
	flex:0 0 auto;
	padding-top:1rem;
	padding-bottom:1rem;
}

/* ----- Кнопка "Вверх" ----- */
.scrollup {
	position:fixed;
	color:#000;
	background-color:#F5DF4D;
	right:20px;
	bottom:10px;
	padding:4px 9px;
    font-size:19px;
    border-radius:25px;
	cursor:pointer;
	display:none;
	text-align:center;
	z-index:1;
}

/* ----- Модальное окно ----- */
.modal-callback .modal-header {
	border-bottom:0;
}

.modal-callback .modal-title {
	font-weight:bold;
	margin-left:auto;
}

.modal-callback .modal-body .btn-submit {
    background-color: #F5DF4D;
    border-color: #F5DF4D;
	border-radius:0.313rem;
}

.modal-callback .modal-body .btn-submit:hover {
	color:#fff;
    background-color: #939597;
    border-color: #939597
}

/* ----- TosRus ----- */
.tos-close span:before, 
.tos-close span:after {
	height:9px !important;
	width:9px !important;
}
	
.tos-wrapper .tos-caption {
	font-size:13px !important;
}

/* ----- Страница "Ошибка 404" ----- */
#error_404 {
	padding-top:125px;
	height:64vh;
}

#error_404 img {
	width:150px;
	margin-bottom:16px;
}

#error_404 .btn-go-to-home {
	background-color:#F5DF4D;
	border-color: #F5DF4D;
	border-radius:0.313rem;
}

#error_404 .btn-go-to-home:hover {
	background-color: #939597;
    border-color: #939597;
}

#error_404 .btn-go-to-home .fa-undo {
	transition:transform 350ms ease;
}

#error_404 .btn-go-to-home:hover .fa-undo {
	transform:rotate(-180deg);
	transition:transform 350ms ease;
}

@media (max-width:1366px) {
	.top-bar .brand a img {
		width:100%;
	}	
	.top-bar .description p {
		font-size:16px;
	}
}

@media (max-width:1024px) {
	.top-bar .brand a img {
		width:60%;
	}
	.top-bar .description p {
		font-size:19px;
	}
	#contacts .col-lg-12 {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#error_404 {
		padding-top:375px;
		height:79vh;
	}
}

@media (max-width:768px) {
	.top-bar .brand a img {
		width:85%;
	}
	.top-bar .description p {
		font-size:14px;
	}
	.navbar-collapse {
		border-top:1px solid #000;
	}
	.navbar-nav .nav-link {
		text-align:left;
	}
	#work .col-md-12 {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#cost .col-md-12:last-child {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#contacts .col-md-12:nth-last-child(-n+2) {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#error_404 {
		padding-top:235px;
		height:71vh;
	}
}

@media (max-width:414px) {
	.top-bar .col-12 {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	.top-bar .brand a img {
		width:50%;
	}
	.top-bar .description p {
		font-size:16px;
	}
	#intro .col-12:nth-last-child(-n+2) {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#permissions .col-6:nth-last-child(-n+2) {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#experience .col-12:first-child .list-group-flush>.list-group-item:last-child {
		border-bottom:1px solid rgba(0,0,0,.125);
	}
	footer .col-12:nth-last-child(-n+2) {
		padding-top:calc(var(--bs-gutter-x)/ 2);
	}
	#error_404 {
		padding-top:150px;
		height:75vh;
	}
}

@media (max-width:320px) {
	.top-bar .brand a img {
		width:60%;
	}
	.top-bar .description p {
		font-size:13px;
	}
	.navbar-brand {
		font-size:1rem;
	}
	#contacts .callback .agreement {
		font-size:13px;
	}
	.modal-callback .agreement {
		font-size:13px;
	}
	#error_404 {
    	padding-top:65px;
		height:65vh;
	}
}