
@font-face {
    font-family: horizon-type-regular;
    src: url(../Fonts/horizon-type-acherusgrotesque-regular.otf);
}
@font-face {
    font-family: Lato-Regular;
    src: url(../Fonts/Lato-Regular.ttf);
}
@font-face {
    font-family: Lato-BlackItalic;
    src: url(../Fonts/Lato-BlackItalic.ttf);
}


.body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: 15px !important;
    margin-left: px !important;
}
.img-header {
    background: url(../img/header.png);
    background-size: cover;
    background-repeat: no-repeat;
    height: 550px;
    position: relative;
}

.back-top{
    position: absolute;
    background-color: #0b2c68;
    width: 500px;
    height: 250px;
    top: 30%;
    padding: 30px;
}
.back-top h2{
    color: #fff;
    font-family: Lato-BlackItalic;
}
.back-top h5 {
    color: #fff;
    font-family: Lato-BlackItalic;
}
.btn-top {
       border: 2px solid #fff !important;
       color: #fff !important;
       font-family: Lato-BlackItalic;
}
.bg-light {
    background-color: #fff !important;
}
.navbar {
    padding: 15px 10px;
    background: #fff;
    border: none;
    border-radius: 0;
    margin-bottom: 0px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.line {
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #ddd;
    margin: 40px 0;
}


/* ---------------------------------------------------
    SIDEBAR STYLE
----------------------------------------------------- */

#sidebar {
    width: 250px;
    position: fixed;
    top: 0;
    left: -250px;
    height: 100vh;
    z-index: 999;
    background: #0b2c68;
    color: #fff;
    transition: all 0.3s;
    overflow-y: scroll;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}

#sidebar.active {
    left: 0;
}

#dismiss {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #0b2c68;
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

#dismiss:hover {
    background: #038AEC;
    color: #7386D5;
}

#sidebar .sidebar-header {
    padding: 20px;
    background: #FFF;
}

#sidebar ul.components {
    padding: 20px 0;
    border-bottom: 1px solid #47748b;
}

#sidebar ul p {
    color: #fff;
    padding: 10px;
}

#sidebar ul li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
}

#sidebar ul li a:hover {
    color: #038AEC;
    background: #fff;
}

#sidebar ul li.active>a,
a[aria-expanded="true"] {
    color: #fff;
    background: #f3f3f3;
}

#sidebar ul a {
    font-size: 0.9em !important;
    padding-left: 30px !important;
    background: #000;
}

#sidebarCollapse {
    display: none;
}

@media (max-width: 998px) {

    .navbar>.container,
    .navbar>.container-fluid {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: center;
        align-items: flex-end;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    #sidebarCollapse {
        display: block;
    }
}

.active>a {
    color: #1aabd8 !important;

}
.responsive-bar {
    display: none;
}

.secc-1{
    padding: 50px 0 50px  0;
}



.back-serv{
    background: url(../img/banner.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    padding: 50px 0 50px 0;
}
.title-noso{
    color: #0b2c68;
    text-align: center;
    font-family: Lato-BlackItalic;
    font-weight: 400;
}
.title-p {
    text-align: center;
    color: #606060;
    font-size: 17pt;
    padding-top: 30px;
    font-family: Lato-Regular;
}
.title-serv{
    color: #fff;
    text-align: center;
    font-family: Lato-BlackItalic;
   font-weight: 400;
}
.divisor{
    width: 250px;
    border: 2px solid #038AEC;
    display: block;
    margin: auto;
}
.divisor-2 {
    width: 250px;
    border: 2px solid #fff;
    display: block;
    margin: auto;
}
.ul-serv{
    font-size: 14pt;
    color: #fff;
    padding-top: 30px;
    font-family: Lato-Regular;
}
/* gallery */
.gallery {
    padding: 50px 0 50px 0;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    /* Compensate for excess margin on outer gallery flex items */
    margin: -1rem -1rem;
}

.gallery-item {
    /* Minimum width of 24rem and grow to fit available space */
    flex: 1 0 17rem;
    /* Margin value should be half of grid-gap value as margins on flex items don't collapse */
    margin: 1rem;
    box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.gallery-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 400ms ease-out;
}

.gallery-image:hover {
    transform: scale(1.15);
}

/*

The following rule will only run if your browser supports CSS grid.

Remove or comment-out the code block below to see how the browser will fall-back to flexbox styling.

*/

@supports (display: grid) {
    .gallery {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
        grid-gap: 2rem;
    }

    .gallery,
    .gallery-item {
        margin: 0;
    }
}

.card{
    margin: 10px;
    padding: 10px;

}
.card h4{
    padding-top: 20px;
    font-family: 'Roboto Slab',
    serif;
    font-weight: 400;
    padding-left: 10px;
}
.pd{
    padding-top: 5%;
    margin-left: 15px;
}
.contact{
    padding: 50px 0 50px 0;
}
.btn-color{
    background-color: #112D6B !important;
    color: #fff !important;
    border-radius: 20px !important;
    text-align: center;
    display: block;
    margin: 0 auto;
    width: 200px;
    font-family: Lato-Regular;

}
.email{
    color: #000 !important;
}
.title{
    font-size: 20pt;
    font-family: Lato-Regular;
}

.horario {
    max-width: 100%;
    background: url(../img/Banner-2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 100%;
    width: 100%;
}

.back-footer {
    background-color: #112D6B;
    padding: 80px 0 80px 0;
    text-align: center;
}

.logo-footer {
    color: #fff;
}

.direcion-footer {
    color: #fff;
    margin-bottom: 0;
    font-family: Roboto-Light;
}

.tel-footer {
    color: #fff !important;
    font-family: Roboto-Light;
}

.email-footer {
    color: #fff !important;
    font-family: Roboto-Light;
}

.copyright {
    background-color: #000;
    padding: 20px 0 20px 0;
}

.bloque-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 15px;
    margin-right: 15px;
}

.superpages {
    color: #fff !important;
}

.s1 {
    padding: 30px 0 50px 0;
}
/* Contacto */
.contenedor-flex {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;

}
.item-1 {
    width: 50%;
}

.item-2 {
    padding: 0 20px 0 20px;
    width: 48%;
    margin-left: 20px;
    background-color: #0b2c6863;

}
.title-contacto {

    text-align: center;
    padding: 30px 0 0px 0;
    font-size: 2.5rem;
    color: #03578b;
    font-family: Lato-BlackItalic;

}
/* .divisor-2 {
    width: 250px;
    border: 2px solid #1aabd8;
    display: block;
    margin: auto;
    margin-bottom: 20px;
} */
textarea.form-control {
    height: 103px;
    margin-bottom: 20px;
    border: 1px solid #000;
}

input.text_field_big {
    border: 1px solid #0b2c68;
}

.formulario {
    padding: 150px 20px 150px 20px;
    background-color: #112e6be0;
}

.btn-transp{
     background-color: #fff !important;
     color: #bdbdbd !important;
     border: 1px solid #000 !important
}

.btn-azul{
    background-color: #0b2c68 !important;
    color: #fff !important;
    border: 1px solid #000;
}

.flotar-derecha {
    float: right;
    margin: 5px;
}

.item-formulario {
    padding-top: 30px;
}
@media (max-width: 1300px) {
    .item-1 {
        width: 100%;
    }

    .item-2 {
        padding: 0 20px 0 20px;
        width: 100%;
        margin-left: 0px;

    }

}
@media (max-width: 1200px) {
    .card {
        margin: 10px;
        padding: 10px;
        height: 140px;
    }

    .icon-serv {
        display: block;
        margin: auto;
    }

    .card h4 {
        padding-top: 20px;
        font-size: 13pt;
        text-align: center;
    }

}
@media (max-width: 1024px){
     .card {
         margin: 10px;
         padding: 10px;
         height: 140px;
     }

     .icon-serv {
         display: block;
         margin: auto;
     }
    .img-banner-2 {
        width: 100%;
    }
     .card h4 {
         padding-top: 20px;
         font-size: 13pt;
         text-align: center;
     }
     .pd {
         padding-top: 5%;
         margin-left: 15px;
     }
        .item-1 {
            width: 100%;
        }

        .item-2 {
            padding: 0 20px 0 20px;
            width: 100%;

        }
}


@media (max-width: 992px) {


    .card {
        margin: 10px;
        padding: 0px;
        height: 180px;
    }
    .icon-serv{
        display: block;
        margin: auto;
    }
    .card h4 {
        padding-top: 20px;
        font-size: 12pt;
        text-align: center;
        font-family: 'Roboto Slab',
        serif;
        font-weight: 400;
    }
     .pd {
         padding-top: 5%;
         margin-left: 31%;

     }
}
@media (max-width: 600px){
    .back-top {
        position: absolute;
        background-color: #0b2c68;
        width: 100%;
        height: 250px;
        top: 30%;
        padding: 30px;
    }
    .title-slogan {
        text-align: center;
        color: #fff;
        font-family: Roboto-BoldItalic;
        font-size: 12pt;
    }
    .row {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-right: 15px !important;
        margin-left: -15px;
    }
      .pd {
          padding-top: 5%;
          margin-left: 15%;

      }
      .logo-footer {
          color: #fff;
          font-size: 20pt;
      }

}

@media (max-width: 320px) {
    .title-slogan {
        text-align: center;
        color: #fff;
        font-family: Roboto-BoldItalic;
        font-size: 12pt;
    }
    .title-noso {
        font-family: RobotoSlab-SemiBold;

        text-align: center;
        padding-bottom: 20px;
        font-size: 13pt;
    }
      .logo-footer {
          color: #fff;
          font-size: 17pt;
      }

}