/**
 * Theme Name: Los Mariachis
 * Template:   hello-elementor
 * Description: Custom Theme for Los Mariachis
 * Version: 1.0.14
 * Author: Cristopher Becerra
 * Author URI: https://www.cristopherbecerra.com
 * Text Domain: losmariachis
 * Tested up to: 6.8.1
 * Requires at least: 6.8
 * Requires PHP:      8.3
 * License:           MIT
 * License URI:       https://opensource.org/license/mit
 */

:root {

   --main-black-color: #000000;
   --main-white-color: #ffffff;
   --main-red-color:rgb(255, 0, 0);
}

@font-face {
   font-family: Magistral;
   src: url(/wp-content/themes/losmariachis/assets/fonts/fonnts.com-Magistral_Bold.otf) format('opentype');
   font-weight: 700; /* Bold weight */
   font-style: normal;
}

@font-face {
   font-family: AvenirLight;
   src: url(/wp-content/themes/losmariachis/assets/fonts/avenir-lt-w01_35-light1475496.woff2) format('woff2');
   font-weight: 300; /* Bold weight */
   font-style: normal;
}

@font-face {
   font-family: Avenir;
   src: url(/wp-content/themes/losmariachis/assets/fonts/avenir-lt-w01_85-heavy1475544.woff2) format('woff2');
   font-weight: 900; /* Heavy weight */
   font-style: normal;
}

@font-face {
   font-family: Futura;
   src: url(/wp-content/themes/losmariachis/assets/fonts/futura-lt-w01-book.woff2) format('woff2');
   font-weight: 400; /* Normal weight */
   font-style: normal;
}

@font-face {
   font-family: Futura;
   src: url(/wp-content/themes/losmariachis/assets/fonts/futura-lt-w01-light.woff2) format('woff2');
   font-weight: 300; /* Light weight */
   font-style: normal;
}

@font-face {
   font-family: Helvetica;
   src: url(/wp-content/themes/losmariachis/assets/fonts/helvetica-w01-light.woff2) format('woff2');
   font-weight: 300; /* Light weight */
   font-style: normal;
}

@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-Black.ttf) format('ttf');
   font-weight: 900; /* Light weight */
   font-style: normal;
}
@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-Bold.ttf) format('ttf');
   font-weight: 700; /* Light weight */
   font-style: normal;
}
@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-ExtraBold.ttf) format('ttf');
   font-weight: 800; /* Light weight */
   font-style: normal;
}
@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-ExtraLight.ttf) format('ttf');
   font-weight: 200; /* Light weight */
   font-style: normal;
}
@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-Light.ttf) format('ttf');
   font-weight: 300; /* Light weight */
   font-style: normal;
}
@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-Regular.ttf) format('ttf');
   font-weight: 400; /* Light weight */
   font-style: normal;
}
@font-face {
   font-family: Biryani;
   src: url(/wp-content/themes/losmariachis/assets/fonts/Biryani-SemiBold.ttf) format('ttf');
   font-weight: 600; /* Light weight */
   font-style: normal;
}


* {
   box-sizing: border-box;
}

/*Fonts family*/
.font-family-ITCAvantGardePro-Md {
   font-family: "ITCAvantGardePro-Md", Sans-serif;
}
.font-family-Avenir-light {
   font-family: "AvenirLight", Sans-serif;
}
.font-family-Avenir {
   font-family: "Avenir", Sans-serif;
}

.font-family-Futura {
   font-family: "Futura", Sans-serif;
}

.font-family-Helvetica {
   font-family: "Helvetica", Sans-serif;
}
.font-family-Biryani {
   font-family: "Biryani", Arial, Helvetica, sans-serif;
}

/*Font weight*/
.font-weight-extra-light{
   font-weight: 200;
}
.font-weight-light{
   font-weight: 300;
}
.font-weight-normal{
   font-weight: 400;
}
.font-weight-semi-bold{
   font-weight: 600;
}
.font-weight-bold{
   font-weight: 700;
}
.font-weight-extra-bold{
   font-weight: 800;
}
.font-weight-heavy{
   font-weight: 900;
}
.font-weight-black{
   font-weight: 900;
}


.padding-left-4 {
   padding-left: 40px;
}

.padding-top-4 {
   padding-top: 80px;
}

.padding-top-2 {
   padding-top: 40px;
}

.padding-bottom-4 {
   padding-bottom: 40px;
}

.padding-x-4 {
   padding-left: 40px;
   padding-right: 40px;
}

.d-flex {
   display: flex;
}

.flex-direction-column {
   flex-direction: column;
}

.flex-direction-row {
   flex-direction: row;
}

.justify-content-start {
   justify-content: start;
}

.justify-content-center {
   justify-content: center;
}

.justify-content-end {
   justify-content: end;
}

.justify-content-evenly {
   justify-content: space-evenly;
}

.align-items-start {
   align-items: start;
}

.align-items-center {
   align-items: center;
}

.align-items-end {
   align-items: end;
}

.flex-grow {
   flex-grow: 1;
}

.width-100 {
   width: 100%;
}

.d-on-desktop {
   display: none;
}

.img-stretch img {
   height: 100%;
}

.child-width-auto>* {
   width: auto !important;
}

.text-trasform-uppercase{
   text-transform: uppercase;
}

/*Background colors*/
.bg-black-main {
   background-color: var(--main-black-color);
}
.bg-red-main {
   background-color: var(--main-red-color);
}

/*Colors*/

.color-black-main {
   color: var(--main-black-color);
}
.color-white-main {
   color: var(--main-white-color);
}



.bold {
   font-weight: bold;
}

.object-position-center{
   object-position: center;
}

.object-fit-contain{
   object-fit: contain;
}

.object-fit-cover{
   object-fit: cover;
}


.pill-shape{
   border-radius: calc(1.2rem + 10px);
}


/*Header*/
header {
   /*position: sticky;*/
   /*position:absolute;*/
   top: 0;
   z-index: 999;
}

.header-losmariachis {
    /*position: relative;*/
    width: 100%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 140px;
}

.header-losmariachis> *{
   width: 33%;
   display:flex;
}

/* MENU IZQUIERDA */

.menu-losmariachis {
    /*position: absolute;*/
    left: 40px;
    display: flex;
    gap: 40px;
    justify-content: center;
}

.menu-losmariachis a {
    color: red;
    text-decoration: none;
    font-size: 24px;
    /*font-weight: 500;*/
}

.reservations-losmariachis{
   display: flex;
   justify-content: center;
}

.reservations-losmariachis a{
   color: white;
   background-color: red;
    text-decoration: none;
    font-size: 24px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    padding:4px 20px;
    border-radius: 32px;
}

/* LOGO OVAL */

.logo-losmariachis {
    background: #fff;
    width: 520px;
    height: 140px;
    border-radius: 0 0 260px 260px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* CONTENIDO LOGO */

.logo-inner {
    text-align: center;
}

.logo-inner img {
    width: 600px;
    display: block;
    margin: 0 auto -10px;
}

.logo-inner h1 {
    font-family: "Comic Sans MS", cursive;
    font-size: 32px;
    letter-spacing: 2px;
    color: #000;
    display: none;
}

/* ICONOS SOCIALES */

.social-losmariachis {
    margin-top: 8px;
    display: flex;
    justify-content: center;
    gap: 12px;
}

.social-losmariachis a {
    width: 64px;
    height: 64px;
    background: #fff;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    text-decoration: none;
}


.desktop-menu {
   display: none;
}

.mobile-menu-container{
   background-color: var(--main-black-color);
}

.mobile-menu-container .visible{
   display: flex;
}

.logo {
   max-height: 84px;
   margin-left:20px;
   /*width: auto;*/
}

.logo img{
   height: 84px;
}

.menu-button {
   width: 40px;
   margin-right: 20px;
   object-fit: contain;
   cursor: pointer;
}

.mobile-menu {
   width: 100vw;
   height: 0px;
   overflow: hidden;
}

.mobile-menu.display {
   height: 100vh;
   width: 100vw;
   background-color: var(--main-red-color);
   position: absolute;
   top: 0;
   left: 0;
   z-index: 999;
   /*border-bottom: solid 5px var(--main-blue-color);*/
}

.mobile-menu ul{
   list-style-type: none;
   margin: 0;
   padding: 0 15%;
}

.mobile-menu ul li{
   text-align: center;
   padding: 5% 0;
}

.mobile-menu ul li a{
   color: var(--main-black-color);
   text-transform: uppercase;
   display:block;
   width: 100%;
   position: relative;
}

.mobile-menu ul li a:has(+ ul)::after{
   content: url(/wp-content/themes/losmariachis/assets/icons/chevron-arriba.png);
   position: absolute;
   top: 0;
   right: 0;
   transform: rotateX(180deg);
}

.mobile-menu ul li a.active{
   color:var(--main-white-color);
}

.mobile-menu ul.submenu{
   display:none;
}

.mobile-menu-option button{
   padding:0;
   margin:0;
}

.mobile-menu-option button img{
   width: 25px;
   height: 25px;
   transition: all 30s ease-out;
}

.mobile-menu-option.open{
   background-color: var(--main-red-color);
}

.mobile-menu-option.open img{
   transform: rotateX(180deg);
}

.mobile-menu-option.open ul.submenu{
   display: block;
}

#mobile-menu-close {
   display: none;
}

.mobile-menu>a {
   width: 60%;
   display: block;
   margin: auto;
   text-decoration: none;
   font-size: 1.5rem;
}


/*Footer*/
.footer-losmariachis p{
   margin: 0;
}

.social-icons{
   text-align: center;
}

.menuOpened{
   overflow: hidden;
}

.footer-losmariachis .grid-conta-data{
   display: grid;
   width: 100%;
   grid-template-columns: repeat(3, auto);
   grid-template-rows: repeat(4, auto);
   grid-template-areas:
    "contactus contactus socialtitle"
    "restaurant restaurant ..."
    "... mail1 social1"
    "... tel1 social1"
    "foodtruck foodtruck social2 "
    "... mail2    social2";
   grid-column-gap: 15px;
   grid-row-gap: 15px; 
   font-size: 24px;
}

.footer-losmariachis .grid-conta-data .social-icon{
   width: 64px;
   height: 64px;
   border-radius: 100%;
   /*background-color: var(--main-white-color);*/
}


@media screen and (min-width: 1024px) and (orientation: landscape) {
   

   /*Helpers*/
   .d-on-mobile {
      display: none;
   }

   .d-on-desktop {
      display: inherit;
      ;
   }

   .padding-left-4 {
      padding-left: 80px;
   }

   .padding-x-4 {
      padding-left: 80px;
      padding-right: 80px;
   }

   /*Menu mobile*/
   .mobile-menu-container{
      display:none;
   }
   .desktop-menu{
      display:flex;
      background-color: var(--main-black-color);
      align-items: center;
      padding-bottom:22px;
   }

   .desktop-menu .title{
      color:var(--main-white-color);
      display:flex;
      justify-content: center;
      align-items: start;
      flex-direction: column;
      margin-left:2%;
   }

   .desktop-menu .title p{
      margin:0;
      padding:0;
   }

   .desktop-menu .menu{
      text-transform: uppercase;
      color:var(--main-white-color);
      flex-grow: 1;
      height: 100%;
      margin-right: 2%;
   }
   .desktop-menu .menu nav{
      height: 100%;
   }
   .desktop-menu .menu nav ul{
      /*display:flex;*/
      list-style-type: none;
   }
   .desktop-menu .menu nav>ul{
      display:flex;
      align-items: center;
      height: 100%;
      justify-content: end;
   }
   .desktop-menu .menu nav>ul>li{
      background-color: var(--main-black-color);
      padding:0 3%;
      display:block;
   }
   .desktop-menu .menu a{
      text-align: center;
      display: block;
   }
   .desktop-menu .menu nav ul li a{
      color:var(--main-white-color);
      font-size: 13px;
      line-height: 37px;
      transition:margin-right 2s,color 1s;
   }
   .desktop-menu .menu nav ul li a:hover{
      color:var(--main-red-color);
   }

   .desktop-menu .menu ul.submenu{
      display:none;
      background-color: var(--main-black-color);
   }

   .desktop-menu .menu nav ul li:hover ul.submenu{
      display:block;
      position: absolute;
      padding: 0 10px;
      z-index: 999;
   }

   .desktop-menu .menu nav ul li:hover ul.submenu li a{
      font-size:10px;
   }

   /*Footer*/
   .footer-losmariachis{
      display: flex;
      padding: 5% 7%;
      gap: 2%;
      justify-content: center;
   }
   .footer-losmariachis p{
      margin: 0;
   }

   .social-icons{
      text-align: end;
   }
}

/* ================= RESPONSIVE ================= */

/* TABLET */
@media (max-width: 1024px) {

    .menu-losmariachis {
        left: 20px;
        gap: 24px;
    }

    .menu-losmariachis a {
        font-size: 20px;
    }

    .logo-losmariachis {
        width: 420px;
        height: 120px;
        border-radius: 0 0 210px 210px;
    }

    .logo-inner img {
        width: 100%;
    }

    .logo-inner h1 {
        font-size: 26px;
    }
}

/* MOBILE */
@media (max-width: 768px) {

    .header-losmariachis {
        height: auto;
        flex-direction: column;
        padding: 16px 0 24px;
    }

    .menu-losmariachis {
        position: static;
        justify-content: center;
        margin-bottom: 12px;
    }

    .menu-losmariachis a {
        font-size: 18px;
    }

    .logo-losmariachis {
        width: 90%;
        max-width: 360px;
        height: 110px;
        border-radius: 0 0 180px 180px;
    }

    .logo-inner img {
        width: 90%;
    }

    .logo-inner h1 {
        font-size: 22px;
    }

    .social-losmariachis a {
        width: 44px;
        height: 44px;
        font-size: 12px;
    }

   .footer-losmariachis{
      padding: 5%;
      gap: 100px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
   }

   .footer-losmariachis .grid-conta-data{
      grid-template-columns: repeat(2, auto);
      grid-template-rows: repeat(8, auto);
      grid-template-areas:
      "contactus contactus"
      "restaurant restaurant"
      "mail1 mail1"
      "socialtitle socialtitle"
      "tel1 tel1"
      "social1 social1"
      "foodtruck foodtruck"
      "mail2 mail2"
      "social2 social2"
      "tel2 tel2";
      font-size: 20px;
   }
}

/* SMALL MOBILE */
@media (max-width: 480px) {

    .menu-losmariachis {
        gap: 16px;
        width: 100%;
    }

    .menu-losmariachis a {
        font-size: 16px;
    }

    .logo-losmariachis {
        height: 100px;
        border-radius: 0 0 150px 150px;
    }

    .logo-inner img {
        width: 90%;
    }

    .logo-inner h1 {
        font-size: 20px;
    }
}