@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap');
* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Source Sans Pro', sans-serif;
    color: #0D0D0D;
    background: #F2F2F0;
    height: 100vh;
}

.collapsible {
    background-color: rgb(0, 122, 243);
    color: white;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 15px;
}
  
.active, .collapsible:hover {
    background-color: #555;
}
  
.content {
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    background-color: #f1f1f1;
}

.container {
    margin: 0 4em;
    display: flex;
    place-content: space-between;
    gap: 1em;
}

.grid-container {
    display: grid;
    gap: 0;
    grid-template-columns: auto auto auto auto;
    padding: 0;
}

.grid-container .card-item {
    text-align: center;
    padding: 10px;
    margin: 2em;
}

.item1 {
    grid-column: auto;
}

.card {
    background: white;
    margin-bottom: 2em;
    padding: 4em;
}

.card-item a {
    font-size: 14px;
}

.navbar {
    background: white;
    padding: 1em;
}
  
.navbar .logo {
    text-decoration: none;
    font-weight: bold;
    color: black;
    font-size: 1.2em;
}
  
.navbar .logo span {
    color: #007AF3;
}
  
.navbar nav {
    display: none;
}
  
.navbar .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    place-content: space-between;
}
  
.navbar .mobile-menu {
    cursor: pointer;
    width: 30px;
}
  
a {
    color: #444444;
}
  
ul {
    list-style-type: none;
}
  
nav.menu-btn {
    display: block;
}
  
nav {
    position: fixed;
    z-index: 999;
    width: 66%;
    right: 0;
    top: 0;
    background: #202728;
    height: 100vh;
    padding: 1em;
}
  
nav ul.primary-nav {
    margin-top: 5em;
}
  
nav li a {
    color: white;
    text-decoration: none;
    display: block;
    padding: .5em;
    font-size: 1.3em;
    text-align: right;
}
  
.mobile-menu-exit {
    float: right;
    margin: .5em;
    cursor: pointer;
    width: 30px;
}

.img-bg {
    background: url(/img/bg/cdmx-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 50vh;
}

.img-bg-1 {
    background: url(/img/bg/plaza-republica-cdmx.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 25vh;
}

.img-bg-2 {
    background: url(/img/bg/juan-luis-alejos-KJgoOAxq9ns-unsplash.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 35vh;
}
  
a {
    color: #0D0D0D;
    text-decoration: none;
}
  
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
  
.main-wrapper {
    background: url(/img/main/mexico-city.jpg);
    background-size: cover;
}
  
.wrapper {
    padding: 1.5em;
    max-width: 1200px;
    margin: 0 auto;
}
  
header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
  
header .logo {
    font-weight: 500;
    color: #14C345;
}
  
header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
  
header ul li a {
    padding: 0 .6em;
    font-size: 18px;
}

header ul li a:hover {
    color: #007af3;
}
  
.main-content {
    margin: 4em 0 2em;
}

.main-container {
    padding: 2.5em;
}

.main-container li {
    list-style: none;

}

.main-container a {
    text-decoration: none;
}

.main-container h2,h3 {
   font-style: normal;
   font-weight: bold;
   color: #0D0D0D;
}

.main-container img {
    height: auto;
}

.footer-container {
    display: flex;
    width: 100%;
    background: rgba(13, 13, 13, 0.822);
    padding: 2.5em;
}

.logo-links img {
    width: 150px;
}

.fas, .fa {
    color: #007af3; 
}


hr::before {
    content: '';
    background: #007AF3;
    position: absolute;
    height: 5px;
    width: 30px;   
}

.sites {
    text-align: center;
    opacity: .4;
}
  
.sites li {
    margin: 2em 0;
}
  
.sites .logotipos {
    width: 100px;
}

.fa-facebook {
    color: #1877f2;
}

.fa-twiiter {
    color: rgb(29, 155, 240);
}

/* Style the buttons that are used to open and close the accordion panel */
.accordion {
    background-color: #eee;
    color: #444;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
}
  
  /* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .accordion:hover {
    background-color: #ccc;
}
  
  /* Style the accordion panel. Note: hidden by default */
.panel {
    padding: 0 18px;
    background-color: white;
    display: none;
    overflow: hidden;
}

/* style active links */

.active-links header ul li a:hover {
    content: '';
    color: #14C345;
    height: 2px;
    width: auto;
}

/*GLIDER*/

.glider-contain {
    width: 50%;
    margin-top: 12%;
    margin-bottom: 5%;
}
  
.glider-next {
    right: -50%;
    top: 50%;
}
  
.glider-prev {
    left: -50%;
    top: 50%;
}
  
.fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
}

label {
    display: block;
    font-size: 1.2em;
    margin-bottom: 0.5em;
}
  
input, textarea {
    width: 100%;
    padding: 0.8em;
    margin-bottom: 1em;
    border-radius: 0.3em;
    border: 1px solid gray;
    box-sizing: border-box;
}
  
input[type=submit] {
    background-color: rgb(0, 99, 228);
    color: white;
    font-weight: bold;
    font-size: 1.3em;
    border: none;
    margin-bottom: 5em;
    border-radius: 5em;
    display: inline-block;
    padding: 0.8em 2em;
    width: unset;
    cursor: pointer;
}
  
iframe {
    width: 100%;
    height: 300px;
}

.footer {
    padding: 5rem;
    background: rgb(0, 122, 243);
}

.auto-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}


/*FAQ*/

summary {
    padding: 1em;
    background: #007af3;
    margin-bottom: 1em;
    cursor: pointer;
    outline: none;
    border-radius: .3em;
    font-weight: bold;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
}
  
summary:hover {
    background: #0d73da;
}
  
summary::-webkit-details-marker {
    background: url("../img/icons/down.svg");
    color: transparent;
    width: 17px;
    height: 17px;
}
  
details[open] summary ~ * {
    -webkit-animation: sweep .3s ease-in-out;
            animation: sweep .3s ease-in-out;
}
  
details[open] summary::-webkit-details-marker {
    background: url("../img/icons/up.svg");
    color: transparent;
}
  
@-webkit-keyframes sweep {
    from {
        opacity: 0;
        margin-top: -10px;
    }
    
    to {
        opacity: 1;
        margin-top: 0;
    }
}
  
@keyframes sweep {
    from {
        opacity: 0;
        margin-top: -10px;
    }
    
    to {
        opacity: 1;
        margin-top: 0;
    }
}

@media only screen and (max-width: 390px) {
    .flex-container {
        
        display: flex;
        
    }

    .flex-item-left h2 {
        font-size: 14px;
    }

    .flex-item-right h2 {
        font-size: 14px;
    }

    .flex-item-left a {
        font-size: 12px;
    }
}

@media only screen and (min-width: 768px) {

    
    .mobile-menu, .mobile-menu-exit {
      display: none;
    }
    .navbar .container {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 180px auto;
          grid-template-columns: 180px auto;
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset;
    }
    .navbar nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      background: none;
      position: unset;
      height: auto;
      width: 100%;
      padding: 0;
    }
    .navbar nav ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .navbar nav a {
      color: black;
      font-size: 1em;
      padding: .1em 1em;
    }
    .navbar nav ul.primary-nav {
      margin: 0;
    }

    .navbar nav li.current a {
        font-weight: bold;
    }

    .banner img {
        display: flex;
    }
}

@media only screen and (max-width: 420px) {

    .container {
        display: flex;
        flex-direction: column;
        margin: 0;
        text-align: left;
    }

    .grid-container {
        display: grid;
        grid-template-columns: auto;
    }

    .main-container {
        padding: 2.5em;
    }
    .container-logos ul {
      padding: .9em;
    }
    .container-logos img {
      height: 100%;
    }

    .img-bg {
        background-size: contain;
    }

    .glider-contain {
        width: 50%;
    }
    .flex-container {
        display: flex;
        padding: 5em;
        flex-direction: column;
    }
    
    .flex-container h3 {
        color: #0D0D0D;
    }
    
    .flex-item-left {
        padding: 10px;
        flex: 50%;
    }
      
    .flex-item-right {
        padding: 10px;
        flex: 50%;
    }

    .flex-container {
        display: flex;
        flex-wrap: wrap; 
        text-align: left;
    }

    .flex-item-right, .flex-item-left {
        flex: 100%;
    }

    .contact-right {
        position: relative;
        right: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }
    
    .contact-right iframe {
        height: 100%;
    } 

}

@media only screen and (min-width: 420px) {

    .container {
        width: 420px;
        margin: 0 auto;
    }
    section {
        padding: 8em 2em;
    }
    .contact-section {
        position: relative;
    }
    .contact-section .container {
        display: flex;
    }

    .img-bg {
        background-size: cover;
    }

    .main-container {
        padding: .9em;
        margin: 1.5em;
    }

    img.banner {
        width: 100%;
    }

    iframe {
        padding: 0;
    }
   
}

@media only screen and (max-width: 420px) {

    .container {
        width: 420px;
        margin: 0 auto;
      }
      section {
        padding: 2em 0;
      }
      .contact-section {
        position: absolute;
      }
      .contact-section .container {
        display: flex;
      }
      .contact-section .container .contact-left {
        position: relative;
        right: 0;
        top: 0;
        width: 45%;
        height: 100%;
      }
    img.banner {
        width: 100%;
    }

    .container-logos img {
        width: 100%;
    }

    iframe {
        padding: 0;
    }
}

@media only screen and (max-width: 768px) {

    .container {
        display: flex;
        flex-direction: column;
    }

    .flex-container {
        background: rgba(0, 0, 0, 0.678);
        display: flex;
        flex-direction: column;
    }

    .flex-container h2 {
        color: white;
        font-size: 20px;
    }

    .flex-item-left a {
        font-size: 12px;
    }

    .flex-item-left {
        padding: 1.5em;
    }

    .flex-item-right {
        padding: 1.5em;
    }

    .flex-item-left iframe {
        width: 100%;
    }
}

@media only screen and (min-width: 1024px) {
    .img-bg {
        background-size: cover;  
    }

    .main-container {
        padding: 5em;
    }
    
    img.banner{
        width: 50%;
        display: flex; 
    }

    iframe {
        padding: 0;
    }
}

@media only screen and (max-width: 1115px) {

    .flex-container {
        flex-direction: row;
    }

    .flex-item-right ul {
        list-style: none;
        padding: 0;
        display: flex; 
    }

    .flex-item-left ul {
        list-style: none;
        padding: 0;
    }

    .flex-item-right li a {
        padding: 0 .6em;
    }
        
    .flex-item-right .flex-item-left ul {
        list-style: none;
    }

}

@media only screen and (min-width: 1115px) {
    .flex-container {
        display: flex;
        flex-direction: row;
        padding: 4.5em;
    }
    
}

@media only screen and (min-width: 1080px) {
    .container {
      width: 1080px;
      margin: 0 auto;
    }
    section {
      padding: 10em 4em;
    }
    .contact-section {
      position: relative;
    }
    .contact-section .container {
      display: flex;
    }
    .contact-right {
      position: absolute;
      right: 0;
      top: 0;
      width: 45%;
      height: 100%;
    }
    .contact-right iframe {
      height: 100%;
    } 
}
  