
/*----------------------------------------------------------------------------------
	GENERAL
----------------------------------------------------------------------------------*/
:root {
    --brand-blue: #14375d;
    --brand-blue-90: #2b4b6d;
    --brand-blue-80: #435f7d;
    --brand-yellow: #d6af46;
}

@font-face {
    font-family: 'branding-bold';
    src: url('../webfonts/latinotype-branding-bold-webfont.woff2') format('woff2'),
         url('../webfonts/latinotype-branding-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* .bg-body {background-color: var(--brand-yellow) !important;} */
.bg-yellow {background-color: var(--brand-yellow);}
.bg-blue {background-color: var(--brand-blue);}

.txt-blue {color: var(--brand-blue);}
.txt-yellow {color: var(--brand-yellow);}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {font-family: 'branding-bold';}

h1 span {color: var(--brand-yellow);}
ul {list-style: none; margin: 0; padding: 0;}

.btn-blue {
	padding: 8px 16px;
	font-size: 16px;
	color: #ffffff;
	background-color: var(--brand-blue);
	border: none;
	border-radius: 4px;
	text-decoration: none;
	transition: .2s ease-in-out background-color;
}
.btn-blue:hover {background-color: var(--brand-blue-80);}

.btn-blue-lg {
	padding: 12px 16px;
	font-size: 18px;
	width: 100%;
	display: block;
	color: #ffffff;
	background-color: var(--brand-blue);
	border-radius: 6px;
	text-align: center;
	text-decoration: none;
	transition: .2s ease-in-out background-color;
}
.btn-blue-lg:hover {background-color: var(--brand-blue-90);}
.btn-blue-lg::after {content: "\f105"; font-family: "Font Awesome 6 Free"; color: var(--brand-yellow); margin-left: 12px;}

.btn-txt-blue {
	display: inline-block;
	padding: 8px 12px;
	margin-bottom: 16px;
	font-size: 16px;
	color: var(--brand-blue);
	border: none;
	text-decoration: none;
	transition: .2s ease-in-out color;
}
.btn-txt-blue:hover {color: var(--brand-blue-80);}

.form-control::placeholder {color: #bbbbbb; opacity: 1;}

.padding-row-sm {padding: 24px 0;}
.padding-row-md {padding: 48px 0;}
.padding-row-lg {padding: 96px 0;}
.padding-row-xl {padding: 160px 0;}



/*----------------------------------------------------------------------------------
	HEADER
----------------------------------------------------------------------------------*/
.navbar-toggler {padding: 4px; font-size: 16px; border: none;}
.logo {width: 160px;}
.flag-lang {width: 28px;}


/*----------------------------------------------------------------------------------
	CONTENT
----------------------------------------------------------------------------------*/


/* pagina principal ------------------ */
.main-cta-row {
	height: 90vh;
	display: flex;
	align-items: center;
	background: url('../images/bg-cta-home.webp') center no-repeat;
}
.border-cta {border-left: thick solid var(--brand-yellow);}
.service-row {background: url('../images/servicios-home.jpg') center top no-repeat;}


/* pagina nuestra firma ------------------ */
.firm-title {background: url('../images/bg-nuestra-firma.webp') center no-repeat; background-size: cover;}


/* pagina equipo ------------------ */
.team-title {background: url('../images/bg-el-equipo.webp') center top no-repeat; background-size: cover;}
.btn-team img {box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);}
.btn-team a {width: 44px; height: 44px; padding: 4px; line-height: 32px;}
.btn-team a i {font-size: 18px;}


/* pagina areas de practica ------------------ */
.practice-title {background: url('../images/bg-areas-practica.webp') center no-repeat; background-size: cover;}
.modulo-txt-img {position: relative; overflow: hidden;}
.modulo-txt-img .wrapper-grid {position: relative; min-height: 35vw; display: flex; align-items: center;}
.modulo-txt-img .text {padding: 0 24px;}
.modulo-txt-img .media-img {position: absolute; width: 50%; height: 100%; top: 0; left: calc(0% + 0px); margin-top: 0;}
.modulo-txt-img .media-img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.modulo-txt-img .justify-content-start .media-img {left: 50%;}


/* pagina servicios ------------------ */
.service-title {background: url('../images/bg-servicios.webp') center no-repeat; background-size: cover;}
.box-shadow {box-shadow: none; transition: all .25s ease-in-out;}
.box-shadow:hover {box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);}


/* pagina contactos ------------------ */
.contact-title {background: url('../images/bg-contacto.webp') center no-repeat; background-size: cover;}
.icon-wrap {display: block; width: 72px; height: 72px; border: 2px solid var(--brand-blue); border-radius: 50%; text-align: center; line-height: 64px;}
.icon-wrap i {color: var(--brand-yellow);}
.form-control, .form-select {border-radius: 4px;}
.iti {display: block !important;}


/*----------------------------------------------------------------------------------
	FOOTER
----------------------------------------------------------------------------------*/
footer {background-color: var(--brand-blue); font-size: 14px;}
footer a:link, footer a:visited {color: #ffffff;}
footer ul {list-style: none; margin: 0; padding: 0;}

ul.quick-links li::before {content: "\f105"; font-family: "Font Awesome 6 Free"; color: var(--brand-yellow); margin-right: 8px;}
ul.quick-links li {margin-bottom: 8px;}
ul.quick-links li a {text-decoration: none; transition: .2s ease-in-out all;}
ul.quick-links a:hover {color: var(--brand-yellow);}

ul.info-links li {margin-bottom: 12px; padding-left: 24px; position: relative;}
ul.info-links li::before {font-family: "Font Awesome 6 Free"; position: absolute; left: 0; color: var(--brand-yellow);}
ul.info-links li.address::before {content: "\f3c5";}
ul.info-links li.phone::before {content: "\f095";}
ul.info-links li.mail::before {content: "\40";}

.social-links {
	display: inline-block;
	margin-right: 2px;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	text-align: center;
	line-height: 38px;
	transition: .2s ease-in-out all;
}
.social-links:hover {background-color: var(--brand-yellow); color: var(--brand-blue); border-color: var(--brand-yellow);}
.social-links i {font-size: 16px;}

#footer-sign {clear: both; overflow: hidden; margin-top: 16px; padding: 16px 0; background-color: #0c2b55;}
#footer-sign > div {margin: auto; max-width: 128px; overflow: hidden;}
.left-sign {float: left; font-size: 12px; color: #fff; margin-top: 4px;}
.right-sign {float: right; width: 100px;}


/*----------------------------------------------------------------------------------
	MEDIA QUERIES
----------------------------------------------------------------------------------*/
@media only screen and (max-width: 991px) {
	/* areas de practica */
	.modulo-txt-img .media-img {position: relative; margin-bottom: 32px; width: 100vw; height: 60vw; overflow: hidden;}
	.modulo-txt-img .justify-content-start .media-img {left: 0;}

	/* contactos */
	.icon-wrap {margin-bottom: 12px;}

	/* footer */
	.social-links {margin-top: 16px;}
}

@media only screen and (max-width: 479px) {
	/* header */
	.logo {width: 100px;}
	.offcanvas.offcanvas-end {width: 240px;}
	header .btn-blue {font-size: 14px;}
}

@media only screen and (max-width: 360px) {
	/* header */
	header .btn-blue {font-size: 12px;}
}