@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

/* Main styles */
body {
	font-family: "DM Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #1a262d;
	background-color: rgb(237,241,243); 
}
.navbar-default {
	background-color: #fff;
	border: 0;
	padding: 0 2.5em;
}
.navbar-nav>li>a {
    padding-top: 2.8em;
    padding-bottom: 2.8em;
    font-size: 1em;
    text-transform: uppercase;
    color: #1a262d;
}
.navbar-nav>li>ul>li>a {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    font-size: 1em;
    text-transform: uppercase;
    color: #1a262d;
}

section {
	padding: 100px 0;
}
section.main {
	height: 100vh;
}

.container {
	width: 90%;
}
.container-small {
	width:50%
}

h1 {
	font-size: 4em;
	font-weight: 800;
	text-align: center;
}
h2 {
	font-size: 2em;
	text-transform: uppercase;
	font-weight: 800;
	text-decoration:underline;
	text-decoration-thickness: 0.3em;
	text-underline-offset: 0.3em;
	line-height: 1.7em;
    margin-top: 0;
}

h4 {
	font-size: 1.5em;
	font-weight: 300;
	text-transform: uppercase;
}
header {
	padding: 3em 0 2em;
	margin-bottom: 50px;
}
.list-inline {
	margin-bottom: 0;
}
.row-group {
	margin-bottom: 1.5em;
}

/* HOME GENERAL*/ 
main.home {
	height: 100vh;
	text-align: center;
}

main.home::after {
    content: '';
    background-image: url(../img/vector-bkg-home.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
    height: 24%;
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: 1;
	left: 50%;
    transform: translateX(-50%);
}
main.home .container {
	position: relative;
	height: 100vh;
}
main.home .row{
	position: absolute;
	top: 50%;
	transform: translateY(-75%);
	width: 100%;
}
main.home .linea-este-home .btn-primary  {
    transition: all ease-in-out 0.3s;
}
main.home .copsa-home .btn-primary {
    background: #e1251b;
    transition: all ease-in-out 0.3s;
}
main.home .copsa-home .btn-primary:hover {
    background: #630036;
}
main.home .linea-este-home .btn-primary:hover {
    background: #f2d131;
}


.logo-mod-home, .bus-mod-home {
	width: 100%;
	margin-bottom:2em;
}

/* NAVBAR */
.navbar-brand {
    border-radius: 0 50vh 50vh 0;
    padding: 1em 1.8em 2.5em 1.8em;
    margin-left: -2.5em;
    margin-top: 0.7em;
    transition: all ease-in-out .2s;
}


/* ELEMENTS */

.search-module {
	position: absolute;
	width: 33%;
	background-color: #fff;
	border-radius: 2em;
	min-width: 610px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	padding: 30px;
}
.news-module {
	position: absolute;
	width: 33%;
	background-color: #fff;
	border-radius: 2em;
	min-width: 610px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	padding: 3em;
}

.search-module select, .select-wrapper select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
div.select-wrapper  {
	border-radius: 50vh;
	padding: 13px 20px;
	margin-bottom: 1.1em;
    width: auto;
    height: 100%;
    background-size: 23px 15px;
    display: block;
    z-index: 999;
    min-width: 80px;
}
div.select-wrapper select.form-control {
    border: 0;
    background-color: transparent;
    box-shadow: none;
    text-transform: uppercase;
    width: 100%;
}
.form-control {
	border:0;
}
textarea.form-control {
    height: auto;
    border-radius: 2em;
}
form.contratacion .form-wrapper .form-control {
	box-shadow: none!important;
}
form.contratacion .form-wrapper, form.contratacion textarea {
	margin-bottom: 2em;
}

.noticia-mod {
	padding: 2em 2em;
	box-shadow: 0 0 0 1px #ccc;
	display: block;
	border-radius: 1em;
	margin-bottom: 2em;
	max-height: 25em;
	min-height: 190px;
	transition: box-shadow ease-in-out .3s;
	overflow: hidden;
}

.noticia-mod:hover{
	box-shadow: 0 0 0 3px #ccc;
}
.noticia-mod:hover, .noticia-mod:hover p, .noticia-mod:hover h3 {
	text-decoration: none!important;
}
.noticia-mod p {
	color: #1a262d!important;
	 overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* number of lines to show */
	       line-clamp: 2; 
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.noticia-mod h3 {
	text-transform: uppercase;
	 overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* number of lines to show */
	       line-clamp: 2; 
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}


.noticia-desarrollo img {
	margin-bottom: 2em;
}


.noticia-mod figure {
	max-height: 10em;
    overflow: hidden;
}


.ref-mod {
	width: fit-content;
	border: solid 1px #d0b892;
	background-color: #fcf8e3;
	border-radius: 1em;
	padding: 2em;
}

/* BUTTONS */
.btn {
    border: none;
    padding: 1em 4em;
    text-transform: uppercase;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1.2em;
    border-radius: 50vh;
}

.btn-small {
    padding: 10px 25px;
    font-size: 1em;
}
.btn-mod {
	text-align: right;
}
.btn-left {
	text-align: left!important;
}
/* FOOTER */
footer {
	padding: 50px 0;
	background-color: #677277;
}
footer h2 {
	color: #fff!important;
}
footer h2::after {
	content: none!important;
}
footer .nav>li>a {
	color: #fff;
	text-transform: uppercase;
	padding: 0.5em 0;
}
footer .nav>li>a:hover {
	background: transparent;
	text-decoration: underline;
}
footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
footer i {
	font-size: 2em;
	color: #fff;
	margin-right: 1em;
	vertical-align: middle;
}
footer .link-tel {
	font-size: 3em;
}
footer .contact-nav a {
	color: #fff;
	vertical-align: middle;
}
footer .btn-footer {
	max-width: 10em;
	background: transparent;
	border:1px solid #fff;
	color:#fff!important;
	margin-left: 0!important;
}
footer .fa-phone {
	transform: rotate(90deg);
}
footer .footer-email{
	margin-top: 2em;
}
.copy-footer {
	margin-top: 2em;
	color: #fff;
	text-align: center;
}
.copy-footer a {
	color: #fff;
	text-decoration: underline;
}
.copy-footer a:hover {
	text-decoration: none;
}
/* GENERAL ELEMENTS */
.modal-content {
	border-radius: 2em;
	border:none;
}
.modal-content h2 {
    margin-top: 1em;
}
.modal-body h4.section-title {
	font-weight: 800;
	margin-bottom: 1.5em;
}
.contratacion-txt .fa-phone {
	transform: rotate(90deg);
	margin-right: 1em;
}
.contratacion-txt ul {
	margin:2em 0 0 0;
	padding: 0;
}
.contratacion-txt ul li {
	list-style: none;
	margin-bottom: 1em;
	font-size: 1.2em;
}
.nav-tabs {
   border:0
}
.nav-tabs>li>a {
    border: 0!important;
    color: #666;
    padding: 1em 2em;
    border-radius: 50vh!important;
    background: #ccc;
}
.nav-tabs>li>a:hover {
    border:0!important;
    background: #aaa;
}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
    color: #fff;
}
.mod-agencias .nav-tabs>li, .mod-horarios .nav-tabs>li {
	margin-left:2em; 
}



/* SMALL DESKTOP */
/* Medium devices (desktops, 1200) */
@media (max-width: 1441px) { 
section {
	padding: 90px 0;
}
.container-small {
	width:50%!important
}

div.select-wrapper  {
	border-radius: 50vh;
	padding: 16px 20px;
}
.navbar-nav>li>a {
    padding: 2.8em 1em;
}

}

/* HEIGHT MEDIA */
@media screen and (max-height: 740px) {

main.home .row {
    transform: translateY(-70%);

}
main.home::after {
    bottom: -1em;
    background-position: center;
    background-size: cover;
}
.bus-mod-home img {
	width: 50%;
}
.btn {
    padding: 0.5em 4em;
}

}





@media (max-width: 991px) and (orientation : portrait) {
.bus-mod-home img {
	width: 60%;
}
}

/*IPHONE 5 PORT*/
@media (max-width: 767px) and (orientation : portrait) {
.container {
    width: 100%;
}
h1 {
    font-size: 3em;
}
section {
	padding: 90px 0;
}

.container-small {
	width:100%
}
.navbar-default {
    padding: 1.3em 2.5em;
    border-bottom: 3px solid ;
}

.navbar-brand {
	margin-top: 0
}
.navbar-toggle {
    padding: 1em;
    margin: 1.3em -1em 0 0;
}
.navbar-default .navbar-toggle {
    border:none;
}
.navbar-toggle .icon-bar {
    width: 3em;
    height: 3px;
}
header {
	margin-bottom: 2em;
}


.mod-agencias .nav-tabs>li, .mod-horarios .nav-tabs>li {
    margin-left: 1em;
}



main.home::after {
    background-size: 221%;
    height: 10%;
}
main.home .container {
	width: 90%;
}
main.home .btn {
	padding: 0.8em 0;
}
main.home .copsa-home .btn-primary, main.home .linea-este-home .btn-primary {
	width: 100%;
}
main.home .row {
    position: inherit;
    top: inherit;
    transform:none;
    width: auto;
    margin-top: 5em;

}
.linea-este-home {
	margin-bottom: 5em;
}
.linea-este-home .logo-mod-home img {
	width:80%
} 
.bus-mod-home  {
	width: 50%;
	float: right;
	text-align: right;
}
.logo-mod-home  {
	width: 50%;
	float: left;
	padding-top: 3em;
	text-align: left;
}
.bus-mod-home img {
	width: 90%;
}
.logo-mod-home img {
	width: 60%;
}


.form-control[type=text], .form-control[type=email] {
    padding: 2em !important;
}
input[type=text].form-control, input[type=email].form-control {
    padding: 2em !important;
    margin: 0 0 2em 0;
}
.form-inline .form-group {
    width: inherit!important;
}
div.select-wrapper {
	padding: 1em!important;
	margin-bottom: 2em;
}
div.select-wrapper select{
	height: inherit;
}
.form-group {
	margin-bottom: 0;
}
.navbar-nav>li>a {
	font-size: 1.5em;
	padding: 1em;
}
.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
    max-height:none;
    border: none;
}
.container-small {
	width:100%!important
}
footer {
	padding: 50px 0;
	background-color: #677277;
	text-align: center;
	font-size: 1.8em;
}
footer .btn-footer {
    max-width: 10em;
    background: transparent;
    border: 1px solid #fff;
    color: #fff !important;
    margin: 2em auto!important;
}
}


/* SMALL HEIGHT MEDIA MOBILE*/
@media screen and (max-height: 610px) {

.linea-este-home {
    margin-bottom: 2em;
}
main.home .row {
    margin-top: 2em;
}
}

/* Nuevos para metodos de pagos */
.radio-btns{
    display: none !important;
} 
.cont-pago {
	display: inline-block;
	max-width: 150px;
}
.cont-pago label{
	border-radius: 10px;
    padding: 0 20px;
    border: 1px solid #ccc;
    cursor: pointer;
    transition: border-color ease-in-out 0.3s;
}
.cont-pago label:hover {
	border-color: #f0511a;
}
