/* Fonts */
@font-face {
  font-family: "BwModelica";
  src: url("../fonts/BwModelica-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/BwModelica-Light.woff") format("woff"), url("../fonts/BwModelica-Light.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "BwModelica";
  src: url("../fonts/BwModelica-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/BwModelica-Regular.woff") format("woff"), url("../fonts/BwModelica-Regular.ttf") format("truetype"), url("../fonts/BwModelica-Medium.svg#BwModelica-Regular") format("svg");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "BwModelica";
  src: url("../fonts/BwModelica-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/BwModelica-Medium.woff") format("woff"), url("../fonts/BwModelica-Medium.ttf") format("truetype"), url("../fonts/BwModelica-Medium.svg#BwModelica-Medium") format("svg");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "BwModelica";
  src: url("../fonts/BwModelica-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/BwModelica-ExtraBold.woff") format("woff"), url("../fonts/BwModelica-ExtraBold.ttf") format("truetype"), url("../fonts/BwModelica-ExtraBold.svg#BwModelica-ExtraBold") format("svg");
  font-weight: 500;
  font-style: normal;
}
body {
  padding-top: 3.3rem;
  background-color: #313b79;
  color: #fff;
  font-family: "BwModelica";
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.3;
}

strong, .fw-bold {
  font-family: "BwModelica";
  font-weight: 500 !important;
}

/*================== Bootstrap ==================*/
.navbar {
  background-color: #313b79;
}

.navbar-toggler {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
}
.navbar-toggler:focus {
  -webkit-box-shadow: 0 0 0 0.15rem rgb(52, 206, 248);
          box-shadow: 0 0 0 0.15rem rgb(52, 206, 248);
}

.fw-light {
  font-weight: 100 !important;
}

.fw-normal {
  font-weight: 300 !important;
}

.navbar-brand img {
  max-width: 230px;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2852, 206, 248, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-nav .nav-link {
  color: #fff;
  font-weight: 500;
  padding-left: 10px;
  text-transform: uppercase;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
  color: rgb(52, 206, 248);
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: #fff;
}

.navbar-nav .nav-link.active {
  color: rgb(52, 206, 248);
}

.offcanvas {
  background-color: #4c00ac;
  border-left: 2px solid #fff !important;
}

.nav-item.dropdown .dropdown-menu {
  background-color: transparent !important;
  border: none;
}
.nav-item.dropdown .dropdown-item {
  color: #fff;
  text-transform: uppercase;
  font-weight: 500;
  padding-left: 2rem;
}
.nav-item.dropdown .dropdown-item:focus, .nav-item.dropdown .dropdown-item:hover, .nav-item.dropdown .dropdown-item.active {
  background-color: transparent !important;
  color: rgb(52, 206, 248);
}

/*================== Displays ==================*/
/*================== Headings ==================*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "BwModelica";
  font-weight: 400;
}

h2 {
  font-size: 2rem;
}

h2.long {
  font-size: 1.7rem;
}

h3 {
  font-size: 1.55rem;
}

h4 {
  font-size: 1.5rem;
}

.img-map {
  min-width: auto;
}

.submenu {
  text-transform: uppercase;
  font-weight: 500;
}
.submenu div {
  text-align: center;
  border-top: 10px solid transparent;
}
.submenu div:hover {
  border-top: 10px solid #fde491;
}
.submenu div:hover a {
  color: #fde491;
}
.submenu a {
  color: #fff;
  padding-top: 4px;
  text-decoration: none;
}

.list-group.list-submenu li.list-group-item {
  background-color: transparent;
  border-top: 10px solid #313b79;
  border-bottom: none;
  border-top-right-radius: 0 !important;
  cursor: pointer;
  padding-top: 0.6rem !important;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
  padding: 0;
}
.list-group.list-submenu li.list-group-item:hover {
  color: #fde491;
  border-top: 10px solid #fde491;
}

.btn-subitem {
  background-color: transparent;
  border-top: 10px solid #313b79;
  border-radius: 0 !important;
  color: white;
  font-weight: 500;
  font-size: 0.85rem;
  text-transform: uppercase;
}
.btn-subitem:hover, .btn-subitem:active, .btn-subitem.show {
  color: #fde491 !important;
  border-top: 10px solid #fde491;
  border-bottom: none;
  border-right: none;
  border-left: none;
}

.btn-vermas {
  background-color: rgb(52, 206, 248);
  color: #fff !important;
  margin: 0.65rem 0;
  font-size: 0.8rem;
}
.btn-vermas::after {
  font-family: "Font Awesome 6 Free";
  content: "\f055";
  font-weight: 900;
  padding-left: 4px;
}
.btn-vermas:hover {
  background-color: #6c0de5;
  color: #fde491;
}

.list-group.list-submenu2 li.list-group-item {
  background-color: transparent;
  border: none;
  padding: 0;
}
.list-group.list-submenu2 .btn-check:checked + .btn, .list-group.list-submenu2 .btn.active, .list-group.list-submenu2 .btn.show, .list-group.list-submenu2 .btn:first-child:active, .list-group.list-submenu2 :not(.btn-check) + .btn:active {
  color: white;
}
.list-group.list-submenu2 .dropdown-toggle::after {
  content: none;
}
.list-group.list-submenu2 .dropdown-menu {
  background-color: #313b79;
  border: none;
  padding: 0 !important;
  text-align: center;
}
.list-group.list-submenu2 .dropdown-menu a.dropdown-item, .list-group.list-submenu2 .dropdown-menu a.dropdown-item:hover {
  color: rgb(52, 206, 248) !important;
  background-color: transparent;
  padding: 0 !important;
}

.btn-principal {
  background-color: #fde491;
  color: #313b79;
  text-transform: uppercase;
  font-weight: 500;
}
.btn-principal:hover {
  background-color: rgb(52, 206, 248);
}

.btn-secundario {
  background-color: rgb(52, 206, 248);
  color: #313b79;
  text-transform: uppercase;
  font-weight: 500;
}
.btn-secundario:hover {
  background-color: rgb(52, 206, 248);
}

footer {
  padding-top: 3rem;
  padding-bottom: 1.5rem;
  font-size: 0.8rem;
}
footer a {
  color: inherit !important;
}
footer a:hover {
  text-decoration: underline;
}

.rs-icons a {
  color: #313b79;
}
.rs-icons a:hover {
  color: rgb(52, 206, 248);
}
.rs-icons a:hover i {
  background-color: #08095c;
}
.rs-icons i {
  background-color: rgb(52, 206, 248);
  border-radius: 50%;
  font-size: 2em;
  margin: 0 0.4rem;
}
.rs-icons i.fa-facebook-f {
  padding: 0.4rem 0.7rem;
}
.rs-icons i.fa-instagram {
  padding: 0.4rem 0.49rem;
}
.rs-icons i.fa-whatsapp {
  padding: 0.36rem 0.455rem;
  font-size: 2.2em;
}

#frm_contacto .form-control {
  border-radius: 0;
}

.contact-icons {
  background-color: #08095c;
  font-size: 0.95rem;
  width: 275px;
  height: 70px;
  border-top-right-radius: 2rem;
  border-bottom-right-radius: 0;
}
.contact-icons .circulo {
  background-color: #182fe8;
  border-radius: 100%;
  width: 70px;
  height: 70px;
  text-align: center;
  vertical-align: middle;
}
.contact-icons .circulo i {
  font-size: 2rem;
  color: rgb(52, 206, 248);
  margin-top: 1.2rem;
}
.contact-icons:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 2rem;
}

.cursor {
  cursor: pointer;
}

.modal-header {
  background-color: #6c0de5;
}

ul.submenu {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.85rem;
  background-color: transparent;
}
ul.submenu li.list-group-item.active {
  border-top: 10px solid #fde491;
}
ul.submenu li.list-group-item.active a {
  color: #fde491;
}

.menu-programas {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.85rem;
  min-height: 120px;
}
.menu-programas li.nav-item {
  border-top: 10px solid #313b79;
  text-align: center !important;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
  margin-left: 0.45rem;
  margin-right: 0.45rem;
  cursor: pointer;
}
.menu-programas li.nav-item a {
  color: white;
}
.menu-programas li.nav-item:hover, .menu-programas li.nav-item.active {
  border-top: 10px solid #fde491;
}
.menu-programas li.nav-item:hover a, .menu-programas li.nav-item.active a {
  color: #fde491;
}

.lgi {
  border-top: 10px solid white;
  text-align: center;
  background-color: transparent;
  border-bottom: none;
  border-right: none;
  border-left: none;
  border-radius: 0;
}
.lgi:hover {
  border-top: 10px solid #fde491;
}
.lgi:hover a {
  color: #fde491;
}
.lgi a {
  color: #fff;
  padding-top: 4px;
  text-decoration: none;
}
.lgi a:hover {
  color: #fde491;
}

hr {
  margin: 2rem 0;
  border-color: rgb(52, 206, 248);
}

ul.list-group.enlaces {
  list-style: none;
}
ul.list-group.enlaces li::before {
  font-family: "Font Awesome 6 Brands";
  content: "\f785";
  font-weight: 900;
  padding-right: 4px;
}
ul.list-group.enlaces li a {
  color: inherit;
  text-decoration: none;
}
ul.list-group.enlaces li a:hover {
  color: rgb(52, 206, 248);
}

a {
  color: rgb(52, 206, 248);
  text-decoration: none;
}

.diplomado-iconos {
  background-color: #6c0de5;
  color: #fff;
  padding: 20px;
  border-bottom-left-radius: 35px;
  border-top-right-radius: 35px;
  border-bottom-right-radius: 35px;
}

.sprite-iconos {
  background-image: url("../img/iconos/sprite-iconos3.png");
  background-size: 400% 200%;
  background-repeat: no-repeat;
  width: 65px;
  height: 53px;
  max-width: 100%;
  vertical-align: middle;
}

.sprite-iconos--icon18 {
  background-position: 0 0;
}

.sprite-iconos--icon15 {
  background-position: 33% 0;
}

.sprite-iconos--icon12 {
  background-position: 67% 0;
}

.sprite-iconos--icon8 {
  background-position: 100% 0;
}

.sprite-iconos--iconI {
  background-position: 0 100%;
}

.sprite-iconos--iconC {
  background-position: 33% 100%;
}

.sprite-iconos--iconR {
  background-position: 67% 100%;
}

.sprite-iconos--iconCert {
  background-position: 100% 100%;
}

/* Media Queries */
@media (min-width: 992px) {
  body {
    padding-top: 5rem;
  }
  h2 {
    font-size: 3rem;
  }
  h2.long {
    font-size: 1.8rem;
  }
  h2.medium {
    font-size: 2.1rem;
  }
  h4 {
    font-size: 2.3rem;
  }
  .img-map {
    min-width: 900px;
    margin-top: 2rem;
  }
  .navbar-brand img {
    max-width: 100%;
  }
  .list-group.list-submenu li.list-group-item {
    font-size: 1rem;
  }
}
@media (min-width: 1200px) {
  h2 {
    font-size: 3.4rem;
  }
  h2.long {
    font-size: 2.4rem;
  }
  h2.medium {
    font-size: 2.8rem;
  }
}
@media (min-width: 1400px) {
  h2 {
    font-size: 4rem;
  }
  h2.long {
    font-size: 2.6rem;
  }
  h2.medium {
    font-size: 3.3rem;
  }
  h3 {
    font-size: 2.2rem;
  }
}