/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ================================
   VARIABLES POR DEFECTO
================================= */
:root {
  --c-negro: #17273C;
  --c-blanco: #FFFFFF;
  --c-primario: #17273C;
  --c-secundario: #31405D;
  --c-gris: #D4DCEC;
}

/* ================================
   OUTLINE
================================= */
*:focus {
  outline: 5px solid orange;
}

/* ================================
   ESTILOS COMUNES
================================= */
.zindex0 {
  z-index: 0;
}

.zindex1 {
  z-index: 1;
}

a {
  text-decoration: none;
}

a,
a:hover {
  transition: all 0.4s ease !important;
}

/* ================================
   FORMULARIO DE CONTACTO
================================= */
.default-form p {
  margin-bottom: 0;
  margin-block-end: 0 !important;
}

.default-form input:not([type="submit"]),
.default-form textarea {
  background-color: rgba(255, 255, 255, 0.6);
  width: 100%;
  border-color: var(--c-gris);
}

.default-form textarea {
  max-height: 150px;
}

.default-form input::placeholder,
.default-form textarea::placeholder {
  color: var(--c-negro);
}

.default-form input:focus,
.default-form textarea:focus {
  outline: none;
}

.default-form.form-contacto .datos {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}


.default-form.form-contacto .datos>div {
  flex: 0 0 48%;
}

.default-form.form-contacto .datos>div.full-w {
  flex: 0 0 100%;
}

.rgpd {
  margin-top: 20px;
}

.rgpd .wpcf7-list-item {
  margin-left: 0;
}

.rgpd input {
  width: auto !important;
}

.txt-legal {
  margin: 20px 0;
  font-size: 0.8rem;
}

.txt-legal .tab-legal {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  column-gap: 4px;
  margin-bottom: 10px;
}

.txt-legal .tab-legal p {
  font-size: 1.2em;
}

.txt-legal .tab-legal:hover {
  cursor: pointer;
}

.txt-legal .tab-legal .plus-icon {
  margin-top: 4px;
}

.txt-legal .tab-legal .plus-icon svg {
  max-width: 13px;
  transform: rotate(45deg);
}

.txt-legal .let-peq {
  margin: 0;
  padding-left: 16px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

.txt-legal .let-peq>p {
  font-size: 0.8rem;
  line-height: 1.25em !important;
  padding-bottom: 10px;
}

.btn-enviar input[type=submit] {
  background-color: transparent;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--c-blanco);
  background-image: linear-gradient(90deg, #17273C 0%, #31405D 100%);
  border-radius: 2px 2px 2px 2px;
  padding: 18px 30px 18px 30px;
}

.btn-enviar input[type=submit]:hover {
  background-color: transparent;
  background-image: linear-gradient(90deg, #31405D 0%, #17273C 100%);
}

/* ================================
   CAPTCHA
================================= */
.grecaptcha-badge {
  display: none;
}

/* ================================
   HEADER / MENÚ
================================= */
.site-header {
  margin-top: 20px;
  margin-left: 20px;
  margin-right: 20px;
}

.inside-header {
  position: relative;
  z-index: 1;
  padding: 20px 30px;
  background-color: rgba(23, 39, 60, 0.75);
  border-radius: 2px;
}

.menu > li:last-child a {
  border: 1px solid var(--c-blanco);
}

.menu > li:last-child a:hover {
 background-color: var(--c-blanco);
 color: var(--c-primario) !important;
}

.mobile-menu-open .site.grid-container.container {
  margin-top: -270px;
}

#mobile-menu-control-wrapper button.menu-toggle {
  font-size: 20px;
  background: transparent;
  padding: 0;
}

button.menu-toggle:hover,
button.menu-toggle:focus {
  background: transparent;
}

#mobile-menu-control-wrapper span.gp-icon svg {
  color: var(--c-blanco);
}

.mobile-menu-open .gp-icon svg {
  color: var(--c-gris) !important;
}

.conmutador {
  margin-left: 20px;
  display: flex;
  align-items: center;
  column-gap: 10px;
}

.conmutador > a > span {
  display: none;
}


/* ================================
   TIPOGRAFÍA
================================= */
.subt-h1 {
  font-family: Nunito Sans;
  font-size: 22px;
  line-height: 1.2;
  text-transform: initial;
  margin-top: 15px;
  display: block;
  font-weight: 500;
}

/* ================================
   FOOTER
================================= */
.footer-widgets .widget {
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.footer-widgets .widget p {
  margin-block-end: 8px;
}

.footer-widget-1 {
  margin-right: 40px;
}

.footer-widget-1 img {
  background: linear-gradient(to right, #17273C, #32425F);
  padding: 20px 35px;
  border-radius: 2px;
}

.footer-widget-1 .textwidget {
  text-align: center;
  max-width: 255px;
  padding: 0 20px;
}

/* ================================
   MEDIA QUERIES
================================= */
@media screen and (max-width: 1080px) {

  .menu-toggle {
    background-color: transparent !important;
  }

  .main-navigation.mobile-menu-control-wrapper:not(.toggled) .menu-toggle {
    display: flex !important;
    align-items: center;
  }

  .menu-toggle svg,
  .slideout-exit svg {
    fill: var(--c-blanco) !important;
    max-width: 20px;
    width: 100% !important;
    height: 20px !important;
  }

  .inside-navigation .slideout-exit {
    text-align: right !important;
    padding: 10px 20px !important;
  }

  .slideout-overlay {
    display: none;
  }

  #generate-slideout-menu {
    background-color: rgba(23, 39, 60, 1);
  }

  #generate-slideout-menu li {
    padding: 0 20px;
  }

  #generate-slideout-menu a {
    color: var(--c-blanco);
    position: relative;
  }

   .default-form.form-contacto .datos {
    flex-direction: column;
  }

  .conmutador {
    margin-left: 0;
    margin-top: 20px;
  }

}

@media screen and (max-width: 768px) {
  .main-navigation .main-nav ul li a {
    line-height: 40px;
    padding-left: 0;
  }
}

@media screen and (max-width: 600px) {
  .subt-h1 {
    font-size: 20px;
    line-height: 1.2;
  }

 
}