@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.ttf');
    font-weight: 400;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBold.ttf');
    font-weight: 600;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.ttf');
    font-weight: 700;
}

@font-face {
    font-family: 'SourceSansPro';
    src: url('../fonts/SourceSansPro-Regular.otf');
    font-weight: 400;
}

@font-face {
    font-family: 'SourceSansPro';
    src: url('../fonts/SourceSansPro-Semibold.otf');
    font-weight: 600;
}

@font-face {
    font-family: 'SourceSansPro';
    src: url('../fonts/SourceSansPro-Bold.otf');
    font-weight: 700;
}

@font-face {
    font-family: 'SourceSansPro';
    src: url('../fonts/SourceSansPro-Black.otf');
    font-weight: 900;
}

@font-face {
    font-family: 'SourceSansVariable';
    src: url('../fonts/SourceSansVariable-Roman.otf');
}

@font-face {
    font-family: 'SourceSerifVariable';
    src: url('../fonts/SourceSerifVariable-Roman.otf');
    /*font-weight: 400;*/
}

.table {
	display: table;
	width: 100%;
	margin-bottom: 0;
}

.table-cell {
	display: table-cell;
}

.align-middle {
	vertical-align: middle
}

.align-top {
	vertical-align: top
}

.align-bottom {
	vertical-align: bottom;
}

.container {
	max-width: 1190px;
}

.left-right {
	display: flex;
	justify-content: space-between;
}

/* header */
.navbar.inside {
	background-color: #FFF;
	/*border-bottom: 2px solid #B2B2B2;*/
	/*box-shadow: 0 4px 2px -2px #B2B2B2;*/
	-webkit-box-shadow: 0px 5px 11px 0px #B2B2B2;
	-moz-box-shadow: 0px 5px 11px 0px #B2B2B2;
	box-shadow: 0px 5px 11px 0px #B2B2B2;
}

.navbar .logo {
    width: 130px; /*100px;*/
    height: auto;
}

.navbar .exit {
	width: 12px;
	height: auto;
	vertical-align: middle;
	margin-left: 7px;
	position: relative;
	bottom: 2px;
}

.navbar .navbar-nav .nav-item {
	font-family: 'SourceSansPro'; /*'Montserrat';*/
	font-weight: 600;
	font-size: 14px;
}

.navbar .navbar-nav .nav-item a {
	color: #B2B2B2; /*#B4B4B4;*/
}

.navbar-expand-md .navbar-nav .nav-link {
	padding-left: 15px;
	padding-right: 15px;
}

.navbar-light .navbar-nav .nav-item:last-child .nav-link {
	padding-right: 0;
}

.navbar-light .navbar-nav .nav-item:first-child .nav-link {
	padding-left: 0;
}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
    color: #003F2E; /*#FFF;*/
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    color: #003F2E; /*#FFF;*/
}
/* fin header */

/* footer */
footer {
	background-color: #003F2E; /*#0D4336;*/
	font-family: 'SourceSansPro'; /*'Montserrat';*/
	font-weight: 400;
	font-size: 12px; /*10.3px;*/
	padding-top: 15px; /*10px;*/
	padding-bottom: 15px; /*8px;*/
	height: 76px;
}

footer .logo {
	/*width: 147px;
	height: auto;*/
	height: 42px; /*46px;*/
  	width: auto;
}

footer ul {
	list-style-type: none;
	margin-bottom: 0;
	padding-left: 0;
}

footer ul li {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 10.3px;
	line-height: 13px;
}

footer ul li a {
	color: #CDCDCD;
}

footer ul li a:hover {
	color: #FFF;
}

footer .legal ul {
	list-style-type: none;
}

footer .links .links-title {
	color: #CDCDCD;
}

footer .links ul li::before {
  	/*content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  	/*color: #CDCDCD; /* Change the color */
  	font-size: 18px;
  	line-height: 10.3px;
  	font-weight: bold; /* If you want it to be bold */
  	display: inline-block; /* Needed to add space between the bullet and the text */
  	width: 1em; /* Also needed for space (tweak if needed) */
  	margin-left: -1em; /* Also needed for space (tweak if needed) */
  	position: relative;
  	left: 7px;
  	top: 2px;
}

footer .links ul li {
	/*padding-left: 10px;*/
}

footer .social ul li {
	display: inline-block;
	vertical-align: middle;
}

footer .table {
	height: 100%;
}

footer .social ul li a img {
	width: 23px;
	height: auto;
	margin-right: 9px;
}

footer .social ul li:last-child a img {
	margin-right: 0;
}

footer .social .social-title {
	color: #CDCDCD;
	margin-right: 8px;
}

footer .moderation img {
	width: 136px;
	height: auto;
}

footer .footer-wrapper {
	/* fix whitespace */
	font-size: 0;
}

footer .footer-wrapper .left {
	display: inline-block;
	width: 50%;
	vertical-align: top;
}

footer .footer-wrapper .right {
	display: inline-block;
	width: 50%;
	vertical-align: top;
	text-align: right;
}

footer .footer-wrapper .left .left-wrapper {
	display: flex;
	justify-content: space-between;	
}

footer .footer-wrapper .left .left-wrapper .left-left {

}

footer .footer-wrapper .left .left-wrapper .left-right {
	font-size: 18px;
  	line-height: 10px;
  	font-weight: 400;
  	color: #FFF;		
}

footer .footer-wrapper .left .left-wrapper .left-right {
	font-size: 12px;
}

footer .footer-wrapper .left .left-wrapper .left-right a {
	color: #FFF;
}

footer .footer-wrapper .left .left-wrapper .left-right span {
	color: #FFF;
	padding-left: 5px;
	padding-right: 5px;	
}
/* fin footer */

/* estilos generales de formulario */

/* excelsia */
.excelsia-form {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 45px 75px 45px 75px;
	color: #003F2E;
	margin-left: auto;
	margin-right: auto;
	border-radius: 45px;
	max-width: 615px;
}

.excelsia-form .main-title {
	font-size: 47px;
	font-family: SourceSerifVariable;
	font-weight: 700;
	margin-bottom: 15px;
}

.excelsia-form .main-subtitle {
	font-size: 22px;
	font-family: SourceSansVariable;
	font-weight: 600;
	margin-bottom: 15px;
}

.excelsia-form textarea {
	width: 100%;
	resize: none;
	padding-top: 12px;
	padding-left: 17px;
	color: #8E8E8E;
	font-family: SourceSansPro;
	font-weight: 400;
	outline: none;
	-webkit-box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.75);
	box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.75);
	border-radius: 15px;
	border: 0;
}

.excelsia-form button {
	background-color: #003F2E;
	color: #FFF;
	font-weight: 600;
	font-family: SourceSansPro;
	font-size: 18px;
	border: 0;
	border-radius: 10px;
	text-align: center;
	padding: 8px 45px;
	-webkit-box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
}

.excelsia-form button.extra-padding {
	padding-left: 80px;
	padding-right: 80px;
	width: 209px;
} 

.excelsia-form label {
	font-family: SourceSansPro;
	color: #003F2E;
	font-weight: 400;
	font-size: 18px;
	display: block;
	margin-bottom: 3px;
}

.excelsia-form label a {
	color: #003F2E;
}

.excelsia-form label.mini {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
}

.excelsia-form input[type='checkbox'] {
	margin-right: 5px;
}

.excelsia-form input[type='text'], .excelsia-form input[type='password'], .excelsia-form input[type='email'], .excelsia-form input[type='tel'] {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	-webkit-box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	padding-left: 15px;
	color: #8E8E8E;
	font-family: SourceSansPro;
	font-weight: 400;
	outline: none;
	border-radius: 7px;
	border: 0;
}

.excelsia-form select {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	-webkit-box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	box-shadow: 7px 7px 14px 0px rgba(0,0,0,0.75);
	padding-left: 15px;
	color: #8E8E8E;
	font-family: SourceSansPro;
	font-weight: 400;
	outline: none;	
	background-color: #FFF;
	border-radius: 7px;
	border: 0;
}

.excelsia-form .input-wrapper {
	position: relative;
}

.excelsia-form .input-wrapper input {
	padding-right: 55px;
}

.excelsia-form .input-wrapper .eye {
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -10px;
	cursor: pointer;
	height: 20px;
	width: auto;
}

.excelsia-form .select-wrapper {
	position: relative;
}

.excelsia-form .select-wrapper select {
	-moz-appearance: none; /* Firefox */
    -webkit-appearance: none; /* Safari and Chrome */
    appearance: none;
    padding-right: 50px;
}

.excelsia-form .select-wrapper .arrow {
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -7px;
	cursor: pointer;
	height: 14px;
	width: auto;	
}

.excelsia-form .select-wrapper .arrow.rotate {
	rotate: 180deg;
}
/* fin excelsia */

/* torres */
.torres label:not(.normal) {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 14.4px;
	color: #E6E6E6;
	width: 146px;
	text-align: center;
	border: 1px solid #E6E6E6;
	/*padding: 2px 37px;*/
	padding: 2px 0;
	vertical-align: top;
}

.torres label.large:not(.normal) {
	width: 198px;
}

.torres label.normal {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 15px;
	color: #E6E6E6;
}

.torres input[type=text], .torres input[type=password], .torres input[type=tel], .torres input[type=email] {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 14.4px;
	color: #E6E6E6;
	width: 432px;
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid #E6E6E6;
	border-right: 1px solid #E6E6E6;
	padding: 2px 0;
	padding-left: 15px;
	vertical-align: top;
	position: relative;
	top: 1px;
	outline: 0;
}

.torres select {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 12.8px;
	color: #FFF;
	width: 432px;
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid #E6E6E6;
	border-right: 1px solid #E6E6E6;
	padding: 2px 0;
	padding-left: 15px;
	padding-right: 43px;
	vertical-align: top;
	position: relative;
	top: 3px;
	text-align: right;
	direction: rtl;
	outline: 0;
	-webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
    background: url('../images/select-arrow.png') no-repeat right 15px center transparent;
    background-size: 15px 10px;
}

.torres select {
	width: calc(100% - 146px);
}

.torres select.label-large {
	width: calc(100% - 198px);
}

.torres select * {
	color: #000;
}

.torres button {
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 15px;
	background-color: #E6E6E6;
	color: #4B4B4B;
	border: 0;
	padding: 4px 15px;
	position: relative;
}

.torres button .vertical-line {
	position: absolute;
	bottom: -12px;
	left: 0;
	width: 1px;
	height: 12px;
	background-color: #E6E6E6;
}

.torres button .horizontal-line {
	position: absolute;
	bottom: 0px;
	left: -12px;
	width: 12px;
	height: 1px;
	background-color: #E6E6E6;
}

.torres button.alternative-1 {
	background-color: #4C4C4C;
	color: #FFF;
}

.torres button.alternative-1 .vertical-line {
	background-color: #4C4C4C;
}

.torres button.alternative-1 .horizontal-line {
	background-color: #4C4C4C;
}

.torres div.contenteditable {
	position: relative;
}

.torres div.contenteditable .placeholder {
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 14.4px;
	border: 1px solid #B2B2B2;
	color: #4C4C4C;
	text-align: center;
	width: 197px;
	border-top: 0;
	border-left: 0;
}

.torres div.contenteditable .content {
	height: 100%;
	padding-top: 35px; /*20px;*/
	padding-left: 15px;
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 14.4px;
	color: #4C4C4C; /*#B2B2B2;*/
	outline: 0;
}

.torres .form-group {
	position: relative;
}

.mandatory {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 16px;
	color: #E6E6E6;
	/*vertical-align: top;
	margin-left: 6px;*/
	position: absolute;
	top: 0px;
	right: -11px;
}
/* fin torres */
/* fin estilos generales de formulario */

/* banner de cookies */
.gdpr-banner {
	font-family: 'Montserrat';
}

.gdpr-banner .gdpr-banner__message {
	color: #E6E6E6;
}

.gdpr-banner a {
	color: #E6E6E6;
}

.gdpr-banner button {
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 15px;
	background-color: #E6E6E6;
	color: #4B4B4B;
	border: 0;
	padding: 4px 15px;
	position: relative;
	line-height: 22.5px;
}

.gdpr-banner button .vertical-line {
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 1px;
    height: 12px;
    background-color: #E6E6E6;
}

.gdpr-banner button .horizontal-line {
    position: absolute;
    bottom: 0px;
    left: -12px;
    width: 12px;
    height: 1px;
    background-color: #E6E6E6;
}

.gdpr-banner .gdpr-banner__opt-in button .vertical-line {
	background-color: #1bb627;	
}

.gdpr-banner .gdpr-banner__opt-in button .horizontal-line {
	background-color: #1bb627;
}

.gdpr-banner button.gdpr-banner__button--opt-in {
	background: #1bb627;
	color: #E6E6E6;
}
/* fin banner de cookies */

.go-back {
	position: absolute;
	top: -50px;
	right: 15px; /*-50px;*/
	font-family: 'Montserrat';
	font-weight: 600;
	font-size: 16px;
	border: 2px solid #E6E6E6;
	border-radius: 50%;
	/*padding: 5px 11px;*/
	text-align: center;
}

.go-back a {
	position: relative;
	top: 4px;
	color: #E6E6E6;
	display: block;
	width: 30px;
	height: 30px;
}

.go-back a:hover {
	text-decoration: none;
}

@media (max-width: 1024px) {
	/* footer */
	footer .footer-wrapper .left .left-wrapper .left-right {
  		font-size: 11px;
  	}
	/* fin footer */
}

@media (max-width: 992px) {
	footer .links .links-title, footer .social .social-title {
		font-size: 8px;
	}

	footer .social .social-title {
		margin-bottom: 5px;
	}

	/* footer */
	footer .footer-wrapper .left {
  		width: 60%;
  	}

  	footer .footer-wrapper .right {
  		width: 40%;
  	}
 	/* fin footer */ 	
}

@media (max-width: 800px) {
	/* footer */
	footer .footer-wrapper .left .left-wrapper .left-right {
  		font-size: 10px;
  	}
	/* fin footer */
}

@media (max-width: 768px) {
	/* header */
	.navbar-light .navbar-nav .nav-item:first-child .nav-link {
    	padding-left: 0; /*1rem;*/ /* 15px; */
	}

	.navbar-nav .nav-link {
    	padding-right: 0; /*1rem;*/
    	padding-left: 0; /*1rem;*/
	}

	.navbar-expand-md .navbar-nav .nav-link {
		padding-right: 0; /*1rem;*/
    	padding-left: 0; /*1rem;*/	
	}
	
	.navbar-light .navbar-toggler {
		border-color: #B4B4B4;
	}
	
	.navbar-light .navbar-toggler-icon {
    	background-image: url("../images/burger.png");
	}

	.navbar .navbar-nav .nav-item {
    	font-family: 'Montserrat';
    	font-weight: 600;
    	font-size: 13px;
	}

	.navbar .logo {
    	width: 135px; /*70px;*/
    	margin-top: 8px;
	}

	.navbar-brand {
		margin-right: 0;
		/*display: block;
		width: 100%;*/
		display: table;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		outline: 0;
		outline: 0;
	}

	.navbar-toggler {
		position: absolute;
		top: 15px;
		left: 15px;
		outline: 0;
	}
	/* fin header */

	/* footer */
	footer {
		padding-top: 20px; /*15px;*/
		padding-bottom: 20px; /*15px;*/
		height: auto;
	}

	footer ul li {
		font-size: 15px;
		margin-bottom: 10px;
	}

	footer .links .links-title {
		font-size: 15px;
		margin-bottom: 5px;
	}

	footer .social .social-title {
		font-size: 15px;
		margin-bottom: 0;
	}

	footer .text-right {
		text-align: center!important;
	}

	footer .legal {
		margin-bottom: 20px;
	} 

	footer .links {
		margin-bottom: 20px;
	}

	footer .social {
		margin-bottom: 20px;
	}

	footer .moderation {
		margin-bottom: 40px;
	} 

	footer .social {
		margin-bottom: 20px;
	}

	footer .logo {
		margin-bottom: 0;	
	}

	footer .social ul li a img {
		width: 30px;
		margin-right: 15px;
	}

	footer .social .social-title {
		margin-right: 15px;
	}




	footer .footer-wrapper .left .left-wrapper .left-right {
  		font-size: 11px; /*12px;*/
  		margin-bottom: 20px;
	}

	footer .footer-wrapper .left {
		display: block;
    	width: 100%;
  	}

  	footer .footer-wrapper .right {
  		display: block;
    	width: 100%;
  	}

  	footer .footer-wrapper .left .left-wrapper {
  		display: block;
  	}

  	footer .footer-wrapper .right {
  		text-align: center;
  	}

  	footer .footer-wrapper {
  		text-align: center;
  	}

  	footer .footer-wrapper .left .left-wrapper .left-left {
  		margin-bottom: 20px;
  	}

  	footer .table {
  		height: auto;
  	}
	/* fin footer */

	/* estilos generales de formulario */
	/* excelsia */
	.excelsia-form {
  		padding: 25px 15px 25px 15px;
  		max-width: 100%;
	}

	.excelsia-form button {
		width: 100%;
	}

	.excelsia-form button.extra-padding {
		width: 100%;
	}
	/* fin excelsia */

	.torres input[type="text"], .torres input[type="password"], .torres input[type="tel"], .torres input[type="email"] {
		width: calc(100% - 146px);
	}

	.torres input[type="text"].label-large, .torres input[type="password"].label-large, .torres input[type="tel"].label-large, .torres input[type="email"].label-large {
		width: calc(100% - 198px);
	}	

	.torres button {
		width: 100%;
	}

	footer .moderation {
		text-align: center;
	}

	footer .moderation img {
		width: 180px;
	}

	footer .logo {
    	width: 130px;
	}
	/* fin estilos generales de formulario */

	/* banner de cookies */
	.gdpr-banner {
		padding: 15px;
	}

	.gdpr-banner__opt-out {
		width: 100%;
		margin-bottom: 15px;
	}

	.gdpr-banner__opt-in {
		width: 100%!important;
	}

	.gdpr-banner__button.gdpr-banner__button--opt-in {
		margin-left: 0;
	}

	.gdpr-banner button {
		width: 100%!important;
	}

	.gdpr-banner__column.gdpr-banner__column--2 {
		display: block!important;
	}

	.gdpr-banner__message {
		margin-bottom: 15px;
	}

	.gdpr-banner__dismiss {
    	position: absolute;
    	right: 10px;
    	top: -13px;
	}

	.gdpr-banner__button--dismiss {
    	border-radius: 50%;
    	height: 26px!important;
	}
	/* fin banner de cookies */
}
