html, div, p, ul, li, a, span, ol, h1, h2, h3, h4, h5, h6 {
	font-family: 'Poppins', sans-serif !important;
}

:root {
	--red: #de222d;
	--dark: #1a1919;
}

.header {
	background-color: var(--dark);
}

.navbar .dropdown-menu {
	border-radius: 0px;
    border: 1px solid var(--red);
    background-color: var(--dark);
    right: 0px;
    left: auto;
    padding: 0px;
}

.navbar button.navbar-toggler {
	border-radius: 0px;
    border: 1px solid var(--red);
}

.navbar button.navbar-toggler:focus {
	box-shadow: none;
}

.navbar .dropdown-menu li a {
	color: white;
    text-transform: uppercase;
    padding: 10px 20px 10px 48px;
    text-align: right;
    font-weight: 500;
    font-size: 0.9rem;
}

.dropdown-toggle::after {
	color: var(--red);
	margin-left: 10px;
}

.navbar .dropdown-item:focus, .dropdown-item:hover {
	background-color: var(--red);
}

.navbar-nav .nav-item {
	padding: 0px 15px;
}

.link-phone {
	border-left: 1px solid var(--red);
}

.navbar-nav .nav-item .nav-link {
	color: white;
    font-weight: 500;
    font-size: 1rem;
    text-transform: uppercase;
    line-height: 1rem;
    padding: 2px 10px;
}

/* HOME */
.slider {
	border-bottom: 12px solid var(--dark);
}

.title-services-home {
	font-size: 2.3rem;
    font-weight: 800;
    line-height: 2.3rem;
}

.title-services-home span {
	color: var(--red);
}

.about-us-home p {
	color: black;
	font-size: 1.2rem;
	line-height: 1.5rem;
	text-align: justify;
	font-weight: 400;
}

.about-us-home p span {
	text-transform: uppercase;
	color: var(--red);
	font-weight: 700;
}

.title-about-us-home {
	font-size: 2.2rem !important;
    font-weight: 800 !important;
    line-height: 2.2rem !important;
    margin: 5vw 0vw;
}

/* FOOTER */
.footer {
	background-color: var(--dark);
	color: white;
	padding: 5vw 0vw 2vw 0vw;
}

.powered-by {
	background-color: var(--dark);
}

.powered-by p {
	color: white;
}

.powered-by p a {
	color: white;
	text-decoration: none;
}

.info-footer p {
	margin-bottom: 4px;
	font-weight: 500;
}

.links-footer {
	border-left: 3px solid var(--red);
}

.links-footer a {
	color: white;
	text-decoration: none;
}

.links-footer ul li {
	list-style: none;
    margin-bottom: 5px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 2rem;
}

/* PAGE CONTENT */
.content-page p {
	color: black;
	font-size: 1.2rem;
	line-height: 1.5rem;
	text-align: justify;
	font-weight: 400;
}

.content-page p span {
	text-transform: uppercase;
	color: var(--red);
	font-weight: 700;
}

.title-page {
	font-size: 2.3rem !important;
    font-weight: 800 !important;
    line-height: 2.3rem !important;
    margin: 5vw 0vw 3vw 0vw;
}

.block-specific-services {
	background-image: url("../img/background-specific-services.png");
	background-repeat: no-repeat;
	background-position: center;
	padding: 5vw 0vw;
	margin-top: 5vw;
	background-size: cover;
}

.block-specific-services p {
	margin: 40px 10px;
}

.block-specific-services p a {
	color: white;
    font-weight: 700;
    font-size: 1.7rem;
    line-height: 2rem;
    text-decoration: none;
}

.block-service-white {
	padding: 5vw 0vw 4vw 0vw;
}

.block-service-color {
	padding: 4vw 0vw;
	background-image: url("../img/background-block-service-color.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.block-service-color .title-service-page, .block-service-color .description-service-page {
	color: white;
}

.footer-page {
	margin-bottom: 8vw;
}

.title-service-page {
	font-weight: 800;
    font-size: 2.4rem;
    line-height: 2.8rem;
    color: black;
    margin-bottom: 35px;
}

.description-service-page {
	font-size: 1.2rem;
    line-height: 1.5rem;
    text-align: justify;
}

/* CONTACT PAGE */
.contact-info {
	border-bottom: 12px solid var(--dark);
	padding: 3vw 0vw;
}

.info-footer-contact {
	border-right: 3px solid var(--red);
}

.title-contact p {
	font-weight: 800;
    font-size: 2.2rem;
    color: black;
}

.contact-form {
	margin: 5vw 0vw;
}

.contact-form p {
	margin-bottom: 10px;
	font-weight: 400;
    font-size: 1.1rem;
}

.contact-form input {
	margin-bottom: 18px;
    width: 100%;
    font-size: 1rem;
    padding: 5px;
    border-radius: 0px;
    border: 1px solid var(--red);
}

.contact-form textarea.form-control {
	margin-bottom: 18px;
    width: 100%;
    font-size: 1rem;
    padding: 5px;
    border-radius: 0px;
    border: 1px solid var(--red);
    height: 80%;
}

.contact-form button {
	background-color: var(--red);
    color: white;
    border: 0px;
    padding: 3px 30px;
    font-weight: 500;
}

.map-contact {
    display: contents;
}

@media (max-width: 576px) {
	.link-phone {
	    border-left: 0px solid var(--red);
	}
	
	.navbar-nav .nav-item {
	    padding: 5px 15px;;
	}

	.title-services-home {
	    font-size: 1.6rem;
	    line-height: 2rem;
	}

	.about-us-home p {
	    font-size: 1rem;
	    line-height: 1.3rem;
	}

	.links-footer {
		margin-top: 10px;
		border-left: 0px;
		border-top: 4px solid var(--red);
	}

	.block-specific-services {
		padding: 10vw 0vw;
	}

	.block-specific-services p a {
	    font-size: 1.4rem;
	}

	.description-service-page {
		font-size: 1rem;
		text-align: center;
	}

	.title-service-page {
		font-size: 2rem;
		text-align: center;
	}

	.info-footer-contact {
		border-right: 0px;
	}
}