/* ---------- GLOBAL CLASSES ---------- */
:root {
	--light-orange: #ff9833;
	--orange: #ff6600;
	--red: #de3024;
	--dark-green: #336666;
	--light-green: #669898;
	--black: #1d1d1b;
}

html, body, div, p, a, span, ul, li, ol, h1, h2, h3, h4, h5, h6, header, footer, button {
	font-family: 'Poppins', sans-serif;
}

a {
	text-decoration: none;
}

/* COOKIE CONSENT */
#cconsent-modal {
	border: none !important;
}

#cconsent-modal .line-separator {
	width: 40%;
    color: var(--dark-green);
    opacity: 1;
    height: 2px;

}

#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__choose .ccm__switch__slider:before {
    height: 16px !important;
    width: 16px !important;
    background-color: lightgrey !important;
}

#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__choose .ccm__switch-group[aria-checked="true"] .ccm__switch__slider:before {
	background-color: var(--dark-green) !important;
}

#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__choose .ccm__switch-group {
    width: 50px !important;
    height: 28px !important;
}

#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__choose .ccm__switch__slider {
	border: 2px solid var(--dark-green);
    background-color: white !important;
    border-radius: 50px !important;
}

#cconsent-modal .ccm__content > .ccm__content__heading, #cconsent-modal .ccm__footer {
	background-color: white !important;
}

#cconsent-modal .ccm__content > .ccm__content__heading h2 {
	color: var(--orange) !important;
	font-weight: 700 !important;
}

#cconsent-modal .ccm__content {
	border: 4px solid var(--dark-green);
    border-radius: 20px;
}

#cconsent-modal .ccm__footer button.consent-give {
	background-color: var(--orange);
	border: 2px solid var(--orange);
}

#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit {
    background-color: white;
    border: 2px solid var(--light-green);
    color: var(--light-green);
}

#cconsent-modal .ccm__footer {
    padding: 20px 50px 40px 0px !important;
}

#cconsent-modal .ccm__content {
    max-width: 800px !important;
    min-height: inherit !important;
    max-height: inherit !important;
    overflow-Y: auto;
    background-color: white !important;
}

#cconsent-bar {
	padding: 8px !important;
}

#cconsent-bar .ccb__wrapper .cc-text {
	font-size: 0.8rem;
    font-weight: 400;
}

#cconsent-bar button, #cconsent-modal .ccm__footer button.consent-give, #cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit {
	font-size: 0.85rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 6px 30px !important;
}

#cconsent-modal .ccm__footer button.consent-give, #cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit {
	padding: 5px 25px !important;
}

#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__choose .ccm__switch-component {
	margin-right: 0px !important;
}

/* ---------- HEADER ---------- */
.header-menu-desktop {
	background-color: var(--black);
}

.header-menu-desktop .navbar .navbar-nav .nav-item {
	padding: 0px 20px;
}

.header-menu-desktop .navbar .navbar-nav .nav-item .nav-link {
	font-weight: 500;
	color: white;
	font-size: 1.5rem;
}
/* ---------- FOOTER ---------- */
footer {
	border-top: 10px solid var(--light-orange);
}

.first-footer {
	margin: 2.5rem 0rem;
}

.second-footer {
	padding: 3rem 0rem;
	background-color: var(--black);
}

.second-footer p {
	font-weight: 200;
	color: white;
	font-size: 1.5rem;
}

.second-footer a {
	color: white;
}

.second-footer .address {
	border-right: 4px solid var(--orange);
}

/* ---------- HOME ---------- */
.carousel-control-next-icon, .carousel-control-prev-icon {
	width: 4rem;
	height: 4rem;
}

.carousel-control-next, .carousel-control-prev {
	width: 8%;
}

.block-our-services {
	margin: 8rem 0rem 10rem 0rem;
}

.block-title {
	color: var(--orange);
	font-weight: 700;
	font-size: 2.8rem;
}

.block-title span, .block-title-servicies span {
	border-bottom: 2px solid var(--dark-green);
}

.name-service {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.6rem;
}

.block-about-us {
	margin: 8rem 0rem;
}

.text-about-us, .list-about-us li {
	text-align: justify;
	font-size: 1.5rem;
	font-weight: 300;
}

.text-about-us span {
	color: var(--orange);
	font-weight: 400;
}

.list-about-us li {
	list-style-image: url('../images/list-point.png');
}

.block-with-background {
	background-color: var(--dark-green);
	padding: 6rem 0rem;
}

.block-with-background p {
	color: white;
	font-size: 2rem;
	line-height: 2.5rem;
	font-weight: 500;
}

.block-integral-cycle {
	margin: 8rem 0rem 6rem 0rem;
}

.block-integral-cycle p {
	color: var(--dark-green);
	font-size: 2.2rem;
	line-height: 2.7rem;
	font-weight: 500;
}

/* ---------- SERVICES PAGE ---------- */
.block-analyze-contract, .block-execute-installation, .block-maintain-installations, .block-provide-monitoring {
	background-position: right;
	background-repeat: no-repeat;
}

.block-analyze-contract {
	background-image: url('../images/analyze-contract-background.png');
	padding: 7rem 0rem;
}

.block-execute-installation {
	background-image: url('../images/execute-installation-background.png');
	padding: 12rem 0rem;
}

.block-provide-monitoring {
	background-image: url('../images/provide-monitoring-background.png');
	padding: 5rem 0rem;
}

.block-maintain-installations {
	background-image: url('../images/maintain-installations-background.png');
	padding: 9rem 0rem;
}

.block-manage-advise {
	background-color: var(--light-green);
	background-image: url('../images/manage-advise-background.png');
	background-position: left;
	background-repeat: no-repeat;
	padding: 4rem 0rem;
	margin-bottom: 10rem;
}

.text-servicies {
	text-align: justify;
	font-size: 1.4rem;
	font-weight: 300;
	width: 90%;
}

.block-title-servicies {
	color: var(--orange);
	font-weight: 700 !important;
	font-size: 2.6rem !important;
	margin-bottom: 2rem;
}

.block-title-servicies-white {
	color: white;
	font-weight: 700;
	font-size: 2.6rem;
	margin-bottom: 3rem;
}

.block-title-servicies-white span {
	border-bottom: 2px solid var(--orange);
}

.text-servicies-white {
	color: white;
	font-size: 1.4rem;
	font-weight: 200;
}

.manage-projects {
	top: 12%;
	left: 22%;
}

.legalize-installation {
	top: 35%;
	left: 15%;
}

.technical-assistance {
	top: 15%;
	left: 15%;
}

.manage-projects .block-title-servicies, .legalize-installation .block-title-servicies, .block-technical-assistance {
	color: white;
}

.manage-projects .block-title-servicies span, .legalize-installation .block-title-servicies span, .technical-assistance .block-title-servicies span {
	border-bottom: 2px solid var(--orange);
}

.manage-projects p, .legalize-installation p, .technical-assistance p {
	text-align: right;
	width: 100%;
	color: white;
	font-weight: 200;
	font-size: 1.5rem;
}

/* ---------- CONTACT PAGE ---------- */
.contact-map iframe {
	border-bottom: 12px solid var(--dark-green);
}

.content-contact-page {
	margin: 8rem 0rem 6rem 0rem;
}

.content-contact-page .block-title {
	font-size: 3rem;
}

.block-contact-form {
	margin-bottom: 10rem;
}

.block-contact-form form .label-form {
	font-size: 1.4rem;
    font-weight: 400;
}

.block-contact-form form input, .block-contact-form form textarea {
	width: 100% !important;
    font-size: 1.4rem;
    font-weight: 300;
    padding: 5px 10px;
    border-radius: 8px;
    border: 2px solid rgba(51, 102, 102, 0.5);
}

.block-contact-form form input:focus, .block-contact-form form textarea:focus {
	outline: none;
}

.block-contact-form form input[type="submit"] {
	width: auto !important;
}

.text-contact-form {
	font-weight: 300;
	font-size: 1.3rem;
	font-style: italic;
}

.box-contact-info {
	background-color: var(--black);
    padding: 4rem 0rem;
    border-radius: 30px;
}

.box-contact-info .text-contact-info {
	font-weight: 200;
	color: white;
	font-size: 1.4rem;
	line-height: 1.6rem;
}

.box-contact-info .text-contact-info a {
	color: white;
	font-weight: 400;
}

.mandatory-fields {
	font-weight: 300;
	font-size: 1.1rem;
	font-style: italic;
}

.button-send-mail {
	border: none !important;
    background-color: var(--light-orange);
    color: white;
    font-weight: 600 !important;
    font-size: 1.4rem !important;
    padding: 10px 70px !important;
    border-radius: 5px !important;
}

.messages .success-send {
	padding: 1rem 2rem;
    background-color: var(--light-green);
    color: white;
}

.messages .error-send {
	padding: 1rem 2rem;
    background-color: var(--red);
    color: white;
}

/* ---------- LEGAL PAGES ---------- */
.content-legal-page {
	margin-bottom: 10rem;
}

.title-legal {
	font-size: 2rem;
    color: var(--orange);
    font-weight: 700;
    margin: 4rem 0rem 2rem 0rem;
}

.title-legal:first-child {
	margin: 0rem 0rem 2rem 0rem;
}

.title-legal span {
	border-bottom: 1px solid var(--dark-green);
}

.text-legal {
	font-size: 1.5rem;
    font-weight: 300;
    line-height: 2.2rem;
    text-align: justify;
}

.text-legal a, .list-about-us a {
	color: var(--light-orange);
}

/* ---------- MOBILE VERSION ---------- */
.mobile-menu, .slider-mobile, .version-mobile {
	display: none !important;
}

/* Escritorio extra grande */
@media only screen and (min-width: 1200px) and (max-width: 1400px){
	.name-service {
	    font-size: 1.2rem;
	    line-height: 1.6rem;
	}

	.block-title-servicies {
	    font-size: 1.8rem !important;
	    margin-bottom: 1rem;
	}

	.text-servicies, .manage-projects p, .legalize-installation p, .technical-assistance p {
	    font-size: 1.2rem;
	}

	.manage-projects {
	    top: 10%;
	    left: 8%;
	}

	.text-contact-form, .mandatory-fields {
	    font-size: 1rem;
	}

	.block-contact-form form .label-form, .block-contact-form form input, .block-contact-form form textarea, .box-contact-info .text-contact-info, .button-send-mail {
	    font-size: 1.1rem !important;
	}

	.box-contact-info img {
		width: 40px;
	}

	.content-contact-page .block-title {
	    font-size: 2.5rem;
	}

	.title-legal {
		font-size: 1.8rem;
		margin: 3rem 0rem 2rem 0rem;
	}

	.text-legal {
	    font-size: 1.3rem;
	    line-height: 2rem;
	}
}

/* Escritorio grande */
@media only screen and (min-width: 992px) and (max-width: 1199px){
	.content-contact-page {
	    margin: 5rem 0rem 3rem 0rem;
	}

	.text-contact-form, .mandatory-fields {
	    font-size: 1rem;
	}

	.block-contact-form form input, .block-contact-form form textarea {
	    font-size: 1.1rem;
	    border: 1px solid rgba(51, 102, 102, 0.5);
	}

	.box-contact-info .text-contact-info {
	    font-size: 1rem;
	    line-height: 1.2rem;
	}

	.box-contact-info img {
		width:40px;
	}

	.button-send-mail {
	    font-weight: 500 !important;
	    font-size: 1.1rem !important;
	    padding: 5px 50px !important;
	    border-radius: 5px !important;
	}

	.header-menu-desktop .navbar .navbar-nav .nav-item .nav-link {
	    font-size: 1.5rem;
	}

	.second-footer p, .text-servicies, .block-contact-form form .label-form, .manage-projects p, .legalize-installation p, .technical-assistance p {
	    font-size: 1.1rem;
	}

	.block-title-servicies {
	    font-size: 1.5rem !important;
	    margin-bottom: 1rem;
	}

	.manage-projects {
	    top: 8%;
	    left: 15%;
	}

	.block-execute-installation {
	    padding: 6rem 0rem;
	}

	.legalize-installation {
	    top: 35%;
	    left: 8%;
	}

	.block-provide-monitoring {
	    padding: 3rem 0rem;
	}

	.block-maintain-installations {
	    padding: 5rem 0rem;
	}

	.block-maintain-installations .text-servicies {
		line-height: 1.4rem;
	}

	.name-service {
	    font-size: 1.2rem;
	    line-height: 1.4rem;
	}

	.block-with-background p {
	    font-size: 1.5rem;
	    line-height: 1.8rem;
	}

	.text-about-us, .list-about-us li {
	    font-size: 1.2rem;
	}

	.block-integral-cycle p {
	    font-size: 2rem;
	    line-height: 2.4rem;
	}

	.content-contact-page .block-title {
	    font-size: 2.2rem;
	}

	.title-legal {
		font-size: 1.6rem;
		margin: 3rem 0rem 2rem 0rem;
	}

	.text-legal {
	    font-size: 1.2rem;
	    line-height: 1.8rem;
	}

	.content-legal-page {
	    margin-bottom: 7rem;
	}
}

/* Escritorio pequeño / tablet */
@media only screen and (min-width: 768px) and (max-width: 991px){

}

/* Tablets y phablets */
@media only screen and (min-width: 576px) and (max-width: 767px){

}

/* Teléfonos */
@media only screen and (max-width: 575px){
	.version-desktop {
		display: none !important;
	}

	.version-mobile {
		display: block !important;
	}

	.header-logo img {
		width: 70px;
	}

	.open-menu-mobile button {
		padding: 0px;
    	background-color: transparent;
    	border: none;
	}

	.open-menu-mobile button:focus {
		outline: none;
	}

	.open-menu-mobile img {
		width: 5px;
	}

	.block-our-services {
	    margin: 4rem 0rem 5rem 0rem;
	}

	.block-title {
    	font-size: 1.3rem;
	}

	.our-services img {
		width: 74px;
	}

	.name-service {
	    font-size: 0.9rem;
	    font-weight: 400;
	    line-height: 1.1rem;
	}

	.block-about-us {
    	margin: 4rem 0rem;
	}

	.text-about-us, .list-about-us li {
    	font-size: 0.8rem;
    	line-height: 1.2rem;
	}

	.list-about-us li {
	    list-style-image: url(../images/mobile/list-point.png);
	}

	.block-with-background {
	    padding: 4rem 0rem;
	}

	.block-with-background p {
	    font-size: 0.9rem;
	    line-height: 1.2rem;
	}

	.block-integral-cycle p {
	    font-size: 1rem;
	    line-height: 1.2rem;
	}

	.block-integral-cycle {
	    margin: 3rem 0rem 4rem 0rem;
	}

	.first-footer {
	    margin: 2rem 0rem;
	}

	.second-footer {
	    padding: 1rem 0rem;
	}

	.second-footer .address {
	    border-right: 1px solid var(--orange);
	}

	.second-footer p {
    	font-size: 0.5rem;
    	font-weight: 300;
	}

	.second-footer a {
	    font-weight: 300;
	}

	.block-analyze-contract, .block-execute-installation, .block-provide-monitoring, .block-maintain-installations {
    	background-image: none;
    	padding: 3rem 0rem;
	}

	.block-title-servicies {
	    text-align: center;
	    font-size: 1.1rem !important;
	    margin-bottom: 1.2rem;
	}

	.text-servicies {
	    text-align: center;
	    font-size: 0.8rem;
	    line-height: 1rem;
	    width: 100%;
	}

	.manage-projects p, .legalize-installation p, .technical-assistance p {
	    text-align: center;
	    font-size: 0.8rem;
	    line-height: 1rem;
	}

	.manage-projects {
	    top: 8%;
	    left: 0;
	    padding: 0rem 2rem;
	}

	.manage-projects .block-title-servicies span, .legalize-installation .block-title-servicies span, .technical-assistance .block-title-servicies span {
	    border-bottom: 1px solid var(--orange);
	}

	.block-title span, .block-title-servicies span {
	    border-bottom: 1px solid var(--dark-green);
	}

	.legalize-installation {
	    top: 10%;
	    left: 10%;
	}

	.legalize-installation p {
		text-align: left;
	}

	.legalize-installation p.text-servicies {
		width: 40%;
	}

	.technical-assistance {
	    top: 8%;
	    left: 0%;
	}

	.technical-assistance p {
		text-align: right;
	}

	.technical-assistance p.text-servicies {
		width: 55%;
    	float: right;
    	line-height: 0.9rem;
	}

	.analyze-contract-right .text-servicies, .provide-monitoring-right .text-servicies, .manage-projects .text-servicies {
		text-align: justify;
    	text-align-last: center;
	}

	.block-manage-advise {
	    padding: 0rem;
	    margin-bottom: 3rem;
	}

	.manage-advise {
		top: 20%;
    	left: 10%;
	}

	.block-title-servicies-white {
	    font-weight: 600;
	    font-size: 1.1rem;
	    line-height: 1.1rem;
	    margin-bottom: 1rem;
	}

	.text-servicies-white {
	    font-size: 0.8rem;
	    width: 70%;
	    line-height: 0.9rem;
	}

	.contact-map iframe {
		height: 360px !important;
		border-bottom: 8px solid var(--dark-green);
	}

	.content-contact-page {
	    margin: 3rem 0rem 0rem 0rem;
	}

	.content-contact-page .block-title {
	    font-size: 1.2rem;
	}

	.text-contact-form, .mandatory-fields {
	    font-size: 0.7rem;
	    line-height: 0.9rem;
	}

	.block-contact-form form .label-form, .messages p {
	    font-size: 0.8rem;
	}

	.block-contact-form form input, .block-contact-form form textarea {
	    width: 100% !important;
	    font-size: 0.8rem;
	    padding: 5px 8px;
	    border-radius: 6px;
	    border: 1px solid rgba(51, 102, 102, 0.5);
	}

	.button-send-mail {
	    font-weight: 500 !important;
	    font-size: 1rem !important;
	    padding: 3px 45px !important;
	    border-radius: 5px !important;
	}

	.block-contact-form {
	    margin-bottom: 3rem;
	}

	.box-contact-info img {
		width: 25px;
	}

	.box-contact-info .text-contact-info {
	    font-size: 0.8rem;
	    line-height: 1rem;
	}

	.block-contact-info {
		margin-bottom: 5rem;
	}

	.box-contact-info {
	    border-radius: 15px;
	    padding: 3rem 0rem;
	}

	.offcanvas-header img {
		width: 15px;
	}

	.offcanvas-header button {
		background-color: transparent;
		border: none;
	}

	.offcanvas-header button:focus {
		outline: none;
	}

	.offcanvas-end {
		width: 80%;
	}

	.offcanvas-body img {
		width: 23px;
	}

	.offcanvas-body p {
		margin-bottom: 5px;
	}

	.offcanvas-body .nav-link {
		color: black;
    	font-weight: 500;
	}

	.offcanvas-footer img {
		width: 88px;
	}

	.second-footer-menu {
		border-top: 4px solid var(--light-orange);
	}

	.second-footer-menu p {
		font-size: 0.8rem;
		line-height: 1.1rem;
		font-weight: 400;
		color: black;
	}

	.second-footer-menu p a {
		color: black;
	}

	.offcanvas-footer {
		border-bottom: 6px solid var(--light-orange);
	}

	.g-recaptcha div, .g-recaptcha div iframe {
		width: 100% !important;
	}

	.block-title-legal-page {
		font-size: 1.5rem !important;
		margin-bottom: 30px;
	}

	.title-legal:first-child {
	    margin: 0rem 0rem 1rem 0rem;
	}

	.title-legal {
	    font-size: 1.2rem;
	    margin: 2rem 0rem 1rem 0rem;
	}

	.text-legal {
	    font-size: 0.9rem;
	    line-height: 1.4rem;
	}

	.content-legal-page {
	    margin-bottom: 5rem;
	}

	#cconsent-bar {
    	padding: 8px 20px !important;
	}

	#cconsent-bar button, #cconsent-modal .ccm__footer button.consent-give, #cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit {
	    padding: 6px 10px !important;
	}

	#cconsent-modal .ccm__footer {
	    justify-content: center !important;
	    padding: 20px 10px !important;
	}
}