@charset "UTF-8";
/*
Theme Name: Intartec
Theme URI: https://www.intartec.com
Author: Jorge Manzano
Author URI: http://www.jorge-manzano.es/
Description: Tema creado personalmente para Intartec
Version: 1.0
License: © Copyright 2019
Text Domain: int
*/
/***********************************************************

CORE
Ajustes iniciales correspondientes a cualquier proyecto

************************************************************/
/*******************************

COLORES

********************************/
/* Color Primario */
/* azul medio */
/* Azul medio oscuro */
/* Azul logo */
/* rojo logo */
/* Gris oscuro */
/*******************************

TIPOGRAFÍA

********************************/
/*******************************

HOVER (@include hover o transition)

********************************/
/* development/CORE/_Mixins.scss */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)

   Modificaciones:
   - Se elimina el reset de las listas: ol, ul, dl
   
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

.is-shadowed {
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1); }

/************************************************************

APP
elementos comunes y genéricos a todo el sitio web 

************************************************************/
html, body {
  font-size: 100%;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none; }

body {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #363636; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  line-height: 1.1;
  font-weight: 700; }

h1 {
  margin: 0 0 2.25rem;
  font-size: 1.875rem;
  line-height: 1; }
  @media (min-width: 48em) {
    h1 {
      margin: 0 0 3rem;
      font-size: 2.49rem; } }
  @media (min-width: 64em) {
    h1 {
      font-size: 3rem; } }

h2 {
  margin: 2.25rem 0 1.5rem;
  font-size: 1.125rem; }
  h2:first-child {
    margin-top: 0; }
  @media (min-width: 48em) {
    h2 {
      margin: 3rem 0 1.5rem;
      font-size: 1.5rem; } }
  @media (min-width: 64em) {
    h2 {
      font-size: 1.5rem; } }

h3, h4 {
  margin: 1.5rem 0 1rem;
  font-size: 1rem; }
  @media (min-width: 48em) {
    h3, h4 {
      font-size: 1.125rem; } }

h4 {
  font-style: italic; }

h5, h6 {
  float: left;
  line-height: 1.5;
  margin-right: 0.25rem; }

h6 {
  font-weight: normal;
  font-style: italic; }

p {
  margin: 0 0 1rem; }

.wp-block-quote,
blockquote {
  font-size: 1.3125rem;
  margin: 3rem auto 1.5rem;
  border-top: 1px solid #ddd;
  border-left: none;
  padding: 1.5rem 0; }
  .wp-block-quote cite,
  .wp-block-quote .wp-block-quote__citation,
  blockquote cite,
  blockquote .wp-block-quote__citation {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    margin-top: 1.5rem;
    font-size: 0.8125rem;
    text-transform: uppercase;
    line-height: 1; }
    .wp-block-quote cite:before,
    .wp-block-quote .wp-block-quote__citation:before,
    blockquote cite:before,
    blockquote .wp-block-quote__citation:before {
      content: "";
      display: block;
      width: 32px;
      height: 32px;
      margin-right: 1rem;
      border-radius: 50%;
      background: #3b86cb; }
    .wp-block-quote cite:after,
    .wp-block-quote .wp-block-quote__citation:after,
    blockquote cite:after,
    blockquote .wp-block-quote__citation:after {
      position: absolute;
      left: 10px;
      top: 8px;
      z-index: 10;
      content: "\0201D";
      font-family: Georgia, Times, 'Times New Roman', serif;
      font-size: 32px;
      color: white; }

/* LISTAS */
ul, ol {
  padding-left: 1em;
  margin-left: 0; }
  ul ul,
  ul ol, ol ul,
  ol ol {
    margin-top: .5em;
    margin-bottom: 0; }

li {
  margin-bottom: .5em; }

@media (min-width: 48em) {
  ul, ol {
    margin-bottom: 1.5rem; } }

dl {
  margin-top: 0; }

dt,
dd {
  line-height: 1.5; }

hr {
  height: 0;
  margin: 2.25rem auto;
  min-width: 140px;
  width: 20%;
  border-top: 1px solid #ccc; }

/*************************

ELEMENTOS EN LÍNEA

**************************/
a {
  color: #3b86cb; }

em {
  font-style: italic; }

strong {
  font-weight: 700; }

small {
  font-size: 0.75rem; }

table {
  display: block;
  max-width: -webkit-min-content;
  max-width: -moz-min-content;
  max-width: min-content;
  vertical-align: top;
  max-width: 100%;
  margin: 1.5rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.875rem;
  line-height: 1.2375rem; }
  @media (min-width: 48em) {
    table {
      margin: 2.25rem 0; } }

table::-webkit-scrollbar {
  height: 10px;
  background-color: #F5F5F5; }

table::-webkit-scrollbar-track {
  -webkit-box-shadow: none;
  background-color: #F5F5F5;
  border: none; }

table::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border: none;
  border-radius: 5px; }

th, td {
  height: 1.5rem;
  border: 1px solid #eee;
  padding: 0.75rem; }

thead tr th, thead tr td, tfoot tr th, tfoot tr td {
  font-weight: 700; }

.wp-block-table.is-style-stripes {
  border: none; }
  .wp-block-table.is-style-stripes th, .wp-block-table.is-style-stripes td {
    border: none; }
  .wp-block-table.is-style-stripes tr:nth-of-type(odd) {
    background: rgba(59, 134, 203, 0.1); }

video, iframe {
  display: block;
  width: 100%;
  -ms-interpolation-mode: bicubic; }

img {
  display: inline-block;
  max-width: 100%;
  height: auto; }

svg {
  fill: currentColor;
  width: 100%;
  height: inherit; }

figure, img, video, iframe {
  margin-bottom: 1rem; }

figcaption {
  font-size: 0.85em;
  font-style: italic;
  margin-top: -0.75rem;
  padding: 0;
  text-align: center; }

/* 

Alineación de imágenes con clases WordPress

*/
.wp-block-image .alignleft {
  margin: 5px 1.5rem 1.5rem 0;
  float: left; }
  .wp-block-image .alignleft figcaption {
    text-align: left; }

.wp-block-image .alignright {
  margin: 5px 0 1.5rem 1.5rem;
  float: right; }
  .wp-block-image .alignright figcaption {
    text-align: right; }

.wp-block-image .aligncenter {
  margin: 0 auto 1.5rem auto;
  clear: both;
  text-align: center; }
  .wp-block-image .aligncenter figcaption {
    text-align: center; }

.wp-block-image.alignwide,
.wp-block-embed.alignwide {
  display: block;
  width: 100vw;
  max-width: 64rem;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }
  @media (min-width: 48em) {
    .wp-block-image.alignwide,
    .wp-block-embed.alignwide {
      margin: 2.25rem 0; } }

/* Requiere que el body tenga overflow-x hidden */
.wp-block-image.alignfull, .wp-block-image.hero,
.wp-block-embed.alignfull,
.wp-block-embed.hero {
  display: block;
  margin: 1.5rem calc( -100vw / 2 + 100% / 2);
  max-width: 100vw; }
  .wp-block-image.alignfull img, .wp-block-image.hero img,
  .wp-block-embed.alignfull img,
  .wp-block-embed.hero img {
    width: 100%; }
  @media (min-width: 48em) {
    .wp-block-image.alignfull, .wp-block-image.hero,
    .wp-block-embed.alignfull,
    .wp-block-embed.hero {
      margin: 2.25rem calc( -100vw / 2 + 100% / 2); } }

/*******************************

VIDEOS

********************************/
.wp-block-embed-youtube {
  margin: 1.5rem 0; }
  @media (min-width: 48em) {
    .wp-block-embed-youtube {
      margin: 2.25rem 0; } }
  .wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    height: 0;
    padding-top: 56.9%; }
  .wp-block-embed-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    width: 100%; }
  .wp-block-embed-youtube figcaption {
    margin-top: 12px; }

/***************************************

Versión propia basada en formalize

****************************************/
textarea,
select,
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
[type="file"] {
  display: block;
  margin: 0;
  width: 100%;
  height: 2.25rem;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.5rem;
  background-clip: padding-box;
  background-color: transparent;
  border-radius: 0;
  border: 1px solid #ddd;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: inherit;
  text-align: left;
  font-size: 0.875rem;
  vertical-align: top; }

textarea {
  height: 4.5rem;
  overflow: auto;
  resize: vertical; }

input[type="search"]::-webkit-search-decoration {
  display: none; }

select[size],
select[multiple] {
  height: auto; }

select[size="0"],
select[size="1"] {
  height: 3rem; }

optgroup {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: #333;
  font-style: normal;
  font-weight: normal; }

optgroup::-moz-focus-inner {
  border: 0;
  padding: 0; }

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  top: -2px; }

input[type="file"] {
  border: none;
  padding-left: 0; }

/* Reglas específicas para webkit */
@media (-webkit-min-device-pixel-ratio: 0) {
  /* Elimina la flecha del select y ajusta el padding */
  select[size],
  select[multiple],
  select[multiple][size] {
    background-image: none;
    padding-right: 0.375rem; }
  select,
  select[size="0"],
  select[size="1"] {
    background-image: url(data:image/png;base64,R0lGODlhDQAEAIAAAAAAAP8A/yH5BAEHAAEALAAAAAANAAQAAAILhA+hG5jMDpxvhgIAOw==);
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 1.5rem; } }

select[size],
select[multiple],
select[multiple][size] {
  background-image: none;
  padding-right: 0.375rem; }

select,
select[size="0"],
select[size="1"] {
  background-image: url(data:image/png;base64,R0lGODlhDQAEAIAAAAAAAP8A/yH5BAEHAAEALAAAAAANAAQAAAILhA+hG5jMDpxvhgIAOw==);
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 1.5rem; }

/* Triángulo de 13 x 4 de color blanco */
select.negative {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAICAYAAADnVO9eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG5JREFUeNpi+P//f8N/2oMGBhAAMhSAeD8NLACZqcCADoCCAUD8ngoWgMwIYMAHgAoEgLifAktAegUYiAVAxQZAfJ4EC0BqDRjIBUDNBQSCEyRXwEANAA3O9VgsWU9SMJFgoQMQ34diB1L0AgQYAGfK3zBZp7pwAAAAAElFTkSuQmCC");
  background-size: 11px 4px;
  background-position: calc(100% - 6px) center;
  background-repeat: no-repeat; }

/***************************************

EFECTOS SEGÚN ATRIBUTO O ESTADO

****************************************/
textarea[disabled],
select[disabled],
input[type="date"][disabled],
input[type="datetime"][disabled],
input[type="datetime-local"][disabled],
input[type="email"][disabled],
input[type="month"][disabled],
input[type="number"][disabled],
input[type="password"][disabled],
input[type="search"][disabled],
input[type="tel"][disabled],
input[type="text"][disabled],
input[type="time"][disabled],
input[type="url"][disabled],
input[type="week"][disabled] {
  background-color: #ddd; }

input[disabled],
select[disabled],
select[disabled] option,
select[disabled] optgroup,
textarea[disabled] {
  box-shadow: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #ddd;
  cursor: default; }

input:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none; }

/* Sustitución del outline */
input:focus,
button:focus,
select:focus,
textarea:focus {
  z-index: 1; }

/* Se debería dar outline para hacerlo accesible */
input[type="file"]:focus,
input[type="file"]:active,
input[type="radio"]:focus,
input[type="radio"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:active {
  box-shadow: none; }

button,
input[type="submit"],
input[type="reset"] {
  cursor: pointer; }

/***************************************

labels

****************************************/
label {
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
  width: 100%; }
  label:hover {
    cursor: pointer; }

/***************************************

Placeholders

****************************************/
/* Placeholders */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-size: 0.875rem;
  color: #888; }

input:-moz-placeholder,
textarea:-moz-placeholder {
  font-size: 0.875rem;
  color: #888; }

/***************************************

Botones

****************************************/
button,
[type="reset"],
[type="submit"],
[type="button"] {
  display: -webkit-inline-box;
  display: inline-flex;
  flex-flow: wrap;
  align-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: auto;
  min-height: 1.5rem;
  margin: 0;
  border-radius: 0;
  border: 1px solid #363636;
  padding: 0.5rem;
  background: transparent;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 700;
  text-shadow: none;
  text-decoration: none;
  cursor: pointer;
  outline: 0;
  overflow: visible;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

button:hover,
[type="reset"]:hover,
[type="submit"]:hover,
[type="button"]:hover {
  background-image: none;
  text-decoration: none;
  background: black;
  color: white; }

button:active,
input[type="reset"]:active,
input[type="submit"]:active,
input[type="button"]:active {
  background-image: none;
  background: #ddd;
  box-shadow: none; }

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner {
  border: 0;
  padding: 0; }

button[disabled] {
  box-shadow: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: default; }

/***************************************

Fieldset

****************************************/
fieldset {
  margin: 0;
  padding: 1.4375rem;
  border: 1px solid; }

legend {
  font-weight: 700;
  line-height: 1.5rem;
  font-size: 0.875rem;
  background: white;
  padding-left: 0.75rem;
  position: relative;
  left: -.6rem; }

/*

ICONOS
Cargar hoja de estilos del provedor de iconos

*/
/* Screen reader text */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important; }

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

/* 

figure.wp-block-image,
.wp-block-image figure,
[data-type="core/image"][data-align=center] .editor-block-list__block-edit figure,
[data-type="core/image"][data-align=left] .editor-block-list__block-edit figure,
[data-type="core/image"][data-align=right] .editor-block-list__block-edit figure,
[data-type="core/image"][data-align=wide] .editor-block-list__block-edit figure {
  margin: 4px 0 rem($mn*1.5);
}

Imágenes alignwide

*/
/* Si el ancho del bloque no está limitado, se verá practicamente como un alignfull 
.wp-block-image.alignwide,
.editor-block-list__block[data-type="core/image"][data-align="wide"] {

  padding: 0;

  img {
    width: calc(100% + 96px);
    display: block;
  }
}

.wp-block-image.alignwide {
  img {
    transform: translateX(-48px);
  }
}

.editor-block-list__block[data-type="core/image"][data-align=full] {
  margin: 0 0 rem($mn);
  width: calc(100% + 90px);
  transform: translateX(-45px);
}

*/
/*

Pies de fotos

*/
/*.wp-block-image figcaption {
	margin-top: rem($mn/4);

	font-style: italic;
	font-size: rem($fs/1.10);
	
	padding: rem($mn) 0 rem($mn/2);
}

.wp-block-image.alignwide figcaption,
.wp-block-image.alignfull figcaption,
[data-type="core/image"][data-align=center] .editor-block-list__block-edit figcaption,
[data-type="core/image"][data-align=wide] .editor-block-list__block-edit figcaption,
[data-type="core/image"][data-align=full] .editor-block-list__block-edit figcaption {
	text-align: center;
}

[data-type="core/image"][data-align=left] .editor-block-list__block-edit figcaption {
	text-align: left;
}

[data-type="core/image"][data-align=right] .editor-block-list__block-edit figcaption {
	text-align: right;
}*/
*, *:before, *:after {
  box-sizing: border-box; }

html, body {
  min-height: 100vh; }

body {
  background: white;
  overflow-x: hidden; }

body.mobile-menu-is-showing {
  height: 100vh;
  overflow-y: hidden; }
  body.mobile-menu-is-showing .site-header,
  body.mobile-menu-is-showing .site-footer,
  body.mobile-menu-is-showing .site-main {
    -webkit-filter: blur(10px);
            filter: blur(10px); }

.separator {
  width: 100%;
  border-top: 1px solid #eee; }

.clearfix {
  display: block;
  height: 0;
  clear: both; }

.wrapper, .alignwide {
  width: 100%;
  max-width: 48rem;
  margin: 0 auto;
  padding: 0 1rem; }
  @media (min-width: 48em) {
    .wrapper, .alignwide {
      padding: 0 1.5rem; } }
  @media (min-width: 64em) {
    .wrapper, .alignwide {
      padding: 0 3rem; } }

.wrapper--wide {
  max-width: 73.75rem; }

.alignwide {
  width: 100vw;
  max-width: 73.75rem;
  margin: 0;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }

.alignfull, .hero {
  width: 100vw;
  max-width: none;
  margin: 0 calc(-50vw + 50%); }

.module {
  margin: 3rem 0; }
  @media (min-width: 48em) {
    .module {
      margin: 6rem 0; } }
  @media (min-width: 64em) {
    .module {
      margin: 9rem 0; } }

.site-main .module:last-child {
  margin-bottom: 0; }

.grid {
  display: grid;
  grid-template-columns: [first] 1fr [end];
  grid-gap: 1.5rem; }

.grid--v-center {
  -webkit-box-align: center;
          align-items: center; }

.grid--v-top {
  -webkit-box-align: start;
          align-items: start; }

.grid--v-bottom {
  -webkit-box-align: end;
          align-items: end; }

.grid__header {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-bottom: 1.5rem; }

.grid__header + .grid__item {
  grid-column-start: 1; }

.grid__title {
  margin: 0; }

.grid__lead {
  margin-top: 1.5rem;
  font-weight: 700; }
  .grid__lead > *:last-child {
    margin-bottom: 0; }

.grid__header--halign-center {
  justify-self: center;
  width: 100%; }
  .grid__header--halign-center .grid__title,
  .grid__header--halign-center .grid__lead {
    text-align: center; }

.grid__header--halign-right {
  justify-self: end;
  width: 100%; }
  .grid__header--halign-right .grid__title,
  .grid__header--halign-right .grid__lead {
    text-align: right; }

@media (min-width: 37.5em) {
  .grid--2-cols,
  .grid--3-cols,
  .grid--4-cols {
    grid-template-columns: [first] repeat(2, 1fr) [end]; }
    .grid--2-cols .grid__header--halign-center,
    .grid--3-cols .grid__header--halign-center,
    .grid--4-cols .grid__header--halign-center {
      grid-column: 1 / 3;
      width: 50%; }
    .grid--2-cols .grid__header--halign-right,
    .grid--3-cols .grid__header--halign-right,
    .grid--4-cols .grid__header--halign-right {
      grid-column: 1 / 3;
      width: 50%; } }

@media (min-width: 64em) {
  .grid--3-cols,
  .grid--4-cols {
    grid-template-columns: [first] repeat(3, 1fr) [end]; }
    .grid--3-cols .grid__header,
    .grid--4-cols .grid__header {
      grid-column: 1 / 3; }
    .grid--3-cols .grid__header--halign-center,
    .grid--4-cols .grid__header--halign-center {
      grid-column: 1 / 4; }
    .grid--3-cols .grid__header--halign-right,
    .grid--4-cols .grid__header--halign-right {
      grid-column: 1 / 4; }
  .grid--3-cols .grid__header--halign-right {
    width: 66.666%; } }

@media (min-width: 73.75em) {
  .grid--4-cols {
    grid-template-columns: [first] repeat(4, 1fr) [end]; }
    .grid--4-cols .grid__header--halign-center {
      grid-column: 1 / 5;
      width: 50%; }
    .grid--4-cols .grid__header--halign-right {
      grid-column: 1 / 5; } }

/************************************************************

MODULES
Elementos que se repiten en toda la página web: header, footer,
logo, breadcrumbs...
Elementos genéricos que se pueden usar para componer páginas:
Heros, formulario de contacto, etc.

************************************************************/
.logo, .site-header__logo {
  display: block;
  height: 36px;
  width: 200px;
  margin: 0;
  background-image: url("images/logo.svg");
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
  text-indent: -9000px; }
  .logo a, .site-header__logo a {
    display: block;
    height: inherit; }

.site-header {
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
  padding: 1rem 0; }

.site-header__container {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center; }

.site-header__logo {
  background-position: left center; }

.menu-trigger {
  color: inherit;
  text-decoration: inherit;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  width: 2.25rem;
  height: 2.25rem;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center; }
  .menu-trigger span {
    display: block;
    width: 1.5rem;
    height: 0;
    border-top: 1px solid #363636;
    margin: 0.125rem 0; }

@media (min-width: 48em) {
  .site-header {
    padding: 1.5rem 0; }
  .menu-trigger {
    width: 3rem;
    height: 3rem; }
  .site-header__logo {
    height: 48px; } }

@media (min-width: 64em) {
  .menu-trigger span {
    width: 2rem;
    margin: 0.25rem 0; } }

.site-footer {
  margin-bottom: 0; }

.site-footer__main {
  background: black;
  padding: 1.5rem 0; }
  @media (min-width: 48em) {
    .site-footer__main {
      padding: 1.5rem 0; } }
  @media (min-width: 64em) {
    .site-footer__main {
      padding: 3rem 0; } }

.site-footer__brand {
  font-size: 16px;
  font-weight: 700;
  color: white; }

.site-footer__bottombar {
  background: #3b86cb;
  padding: 0.75rem 0; }

.site-footer__bottombar-container {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
          flex-flow: column-reverse;
  padding: 4px 0;
  color: white; }
  @media (min-width: 48em) {
    .site-footer__bottombar-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-flow: row;
      -webkit-box-pack: justify;
              justify-content: space-between; } }

.site-footer__copyright,
.site-footer__legal {
  margin-bottom: 0;
  font-size: 14px; }

.site-footer__copyright {
  margin-top: 12px; }
  @media (min-width: 48em) {
    .site-footer__copyright {
      margin-top: 0; } }

.site-footer__legal-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column; }
  @media (min-width: 48em) {
    .site-footer__legal-menu {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-flow: row;
      -webkit-box-pack: end;
              justify-content: flex-end; } }
  .site-footer__legal-menu li {
    margin: 0 0 12px 0; }
    @media (min-width: 48em) {
      .site-footer__legal-menu li {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
                flex-flow: row;
        -webkit-box-pack: justify;
                justify-content: space-between;
        margin: 0 0 0 4px; }
        .site-footer__legal-menu li:before {
          content: "|";
          margin-right: 4px; }
        .site-footer__legal-menu li:first-of-type {
          margin-left: 0; }
          .site-footer__legal-menu li:first-of-type:before {
            display: none; } }
  .site-footer__legal-menu a {
    color: inherit;
    text-decoration: inherit;
    -webkit-transition: .3s;
    transition: .3s; }

.no-touchevents .site-footer__legal a:hover {
  text-decoration: underline; }

.menu-mobile__container {
  background: rgba(88, 88, 88, 0.15);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  height: 100vh;
  width: 0;
  overflow: hidden;
  -webkit-transition: width .3s ease-in-out;
  transition: width .3s ease-in-out; }

body.mobile-menu-is-showing .menu-mobile__container {
  width: 100%; }

.menu-mobile {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000;
  height: 100vh;
  width: 100%;
  max-width: 33vw;
  min-width: 320px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  background: white;
  box-shadow: -1px 0px 2px rgba(0, 0, 0, 0.1); }

.menu-mobile__header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center;
  margin-bottom: 12px;
  height: 68px;
  padding: 12px; }

.menu-mobile__footer {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: end;
          justify-content: flex-end;
  height: 68px;
  padding: 12px; }

.menu-mobile__main {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  -webkit-box-flex: 1;
          flex: 1;
  overflow: hidden;
  text-align: right; }

.menu-mobile__trigger {
  color: inherit;
  text-decoration: inherit;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: 2.25rem;
  height: 2.25rem;
  background: #363636;
  font-size: 1.125rem;
  color: white; }

.close {
  position: relative;
  display: block;
  width: 32px;
  height: 32px;
  opacity: 1; }

.close:before, .close:after {
  position: absolute;
  left: 15px;
  content: ' ';
  height: 33px;
  width: 1px;
  background-color: white; }

.close:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.close:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

@media (min-height: 37.5em) {
  .menu-mobile__footer,
  .menu-mobile__header {
    height: 96px;
    padding: 24px; }
  .menu-mobile__header {
    margin-bottom: 24px; }
  .menu-mobile__trigger {
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem; } }

.menu-mobile__title {
  margin: 0;
  font-size: 14px;
  text-transform: uppercase; }

.menu {
  -webkit-box-flex: 1;
          flex: 1;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 0 1.5rem 0 1.5rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  -webkit-box-pack: center;
          justify-content: center; }

.sub-menu {
  list-style: none; }

.menu a {
  position: relative;
  color: inherit;
  text-decoration: inherit;
  font-size: 0.875rem;
  font-weight: 600; }

.sub-menu a {
  font-weight: 400; }

.current-menu-item > a:before {
  content: "";
  height: 2px;
  width: 20px;
  background: #8c0303;
  position: absolute;
  right: -24px;
  top: 50%; }

.menu-item-has-children > a {
  cursor: default; }

.menu-item:last-of-type {
  margin-bottom: 0; }

.menu-mobile__contact-link {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: 32px;
  height: 32px;
  margin-left: 8px;
  background: #363636;
  border-radius: 50%;
  color: white;
  text-decoration: none; }

.btn, .cta__container .wpcf7-submit {
  font-size: 13px;
  font-weight: 600;
  color: #8c0303;
  text-decoration: inherit;
  text-transform: uppercase; }

.btn--squared, .cta__container .wpcf7-submit {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 10px 20px;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
  -webkit-transition-delay: .2s;
          transition-delay: .2s; }
  .btn--squared:before, .cta__container .wpcf7-submit:before, .btn--squared:after, .cta__container .wpcf7-submit:after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 10px;
    height: 10px;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out; }
  .btn--squared:before, .cta__container .wpcf7-submit:before {
    top: 0;
    left: 0;
    border-top: 2px solid #8c0303;
    border-left: 2px solid #8c0303; }
  .btn--squared:after, .cta__container .wpcf7-submit:after {
    right: 0;
    bottom: 0;
    border-bottom: 2px solid #8c0303;
    border-right: 2px solid #8c0303; }
  .btn--squared:hover, .cta__container .wpcf7-submit:hover {
    background-color: #8c0303;
    color: white; }
  .btn--squared:hover:before, .cta__container .wpcf7-submit:hover:before, .btn--squared:hover:after, .cta__container .wpcf7-submit:hover:after {
    width: 100%;
    height: 100%; }

.btn--white {
  color: white; }
  .btn--white:before {
    border-top: 2px solid white;
    border-left: 2px solid white; }
  .btn--white:after {
    right: 0;
    bottom: 0;
    border-bottom: 2px solid white;
    border-right: 2px solid white; }
  .btn--white:hover {
    background-color: white;
    color: #2063a3; }

.site-address__contact {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  flex-wrap: wrap; }

.site-address__item {
  margin: 0 12px 12px 0;
  color: white;
  display: -webkit-box;
  display: flex; }
  .site-address__item:last-of-type {
    margin: 0; }
  .site-address__item a {
    color: inherit;
    text-decoration: inherit;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: baseline;
            align-items: baseline; }
  .site-address__item span {
    display: inline-block;
    width: 24px;
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    color: #3b86cb; }

.cta__container {
  display: -webkit-box;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
          justify-content: center;
  margin-top: 1.5rem; }
  .cta__container .wpcf7 {
    width: 100%; }
  .cta__container label {
    display: block;
    margin-bottom: 1.5rem;
    color: white; }
  .cta__container .wpcf7-submit {
    color: white;
    border: none;
    border-radius: 0;
    background: black; }
  .cta__container .wpcf7-response-output {
    margin: 1.5rem 0 0;
    background: #ddd;
    border: none;
    padding: 0.875rem;
    font-size: 0.875rem; }
  .cta__container span[role="alert"] {
    margin-left: 0;
    width: 100%; }

@media (min-width: 48em) {
  .cta__container form {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-flow: column;
    width: 100%;
    -webkit-box-align: end;
            align-items: flex-end; }
  .cta__container label {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -webkit-box-align: baseline;
            align-items: baseline;
    width: 100%;
    -webkit-box-flex: 1;
            flex: 1 0 auto;
    font-size: 1rem; }
    .cta__container label span {
      -webkit-box-flex: 0;
              flex: 0 0 75%;
      margin-left: 1.5rem; }
  .cta__container input, .cta__container textarea {
    background: #184978;
    border: none;
    border-radius: 5px; }
  .cta__container textarea {
    min-height: 9.375rem; } }

.page-header {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  margin-bottom: 3rem; }
  @media (min-width: 48em) {
    .page-header {
      margin-bottom: 6rem; } }
  @media (min-width: 64em) {
    .page-header {
      margin-bottom: 9rem; } }

.page-header__image,
.page-header__wrapper {
  grid-row: 1 / 2;
  grid-column: 1 / 2; }

.page-header__image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center; }

.page-header__wrapper {
  z-index: 1;
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center; }
  @media (min-width: 45.25em) {
    .page-header__wrapper {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media (min-width: 64em) {
    .page-header__wrapper {
      padding-top: 4.5rem;
      padding-bottom: 4.5rem; } }

.page-header__title {
  color: white;
  text-align: center;
  margin: 0; }

/************************************************************

BLOQUES

************************************************************/
.hero {
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr; }

.hero__image-container {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  height: 100%;
  width: 100%; }

.hero__text-container {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  z-index: 1;
  height: 100%;
  width: 100%;
  max-width: 48rem;
  margin: 0 auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 1.5rem; }
  @media (min-width: 48em) {
    .hero__text-container {
      padding: 2.25rem; } }
  @media (min-width: 64em) {
    .hero__text-container {
      padding: 3rem; } }

.hero__title {
  margin-bottom: 0;
  font-size: 2.25rem;
  line-height: 1.2;
  color: white;
  text-align: center; }
  @media (min-width: 48em) {
    .hero__title {
      font-size: 3rem; } }

.hero__lead {
  width: 100%;
  max-width: 550px;
  margin: 1.5rem auto 0;
  color: white;
  text-align: center; }
  .hero__lead *:last-child {
    margin-bottom: 0; }

.hero__scroll {
  display: none;
  margin: 3rem 0 0; }
  @media (min-height: 37.5em) {
    .hero__scroll {
      display: inline-block; } }

.btn-scroll {
  font-size: 2rem;
  color: white;
  -webkit-animation: sdb04 2s infinite;
          animation: sdb04 2s infinite; }

@-webkit-keyframes sdb04 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  20% {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px); }
  40% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes sdb04 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  20% {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px); }
  40% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

.hero__btn-container {
  margin: 2.25rem 0 0; }

.hero__image {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover; }

.cover, .cta {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr; }

.cover__image-container, .cta__image-container {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  z-index: 0;
  position: relative;
  height: 100%;
  overflow: hidden; }

.cover__image, .cta__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center; }

.cover__image--is-grayscaled {
  -webkit-filter: grayscale(1);
          filter: grayscale(1); }

.cover__image--is-multiplied:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#2063a3), color-stop(70%, #2063a3), to(#3b86cb));
  background-image: -webkit-linear-gradient(left, #2063a3 0%, #2063a3 70%, #3b86cb 100%);
  background-image: linear-gradient(to right, #2063a3 0%, #2063a3 70%, #3b86cb 100%);
  opacity: .75; }

@supports (mix-blend-mode: multiply) {
  .cover__image--is-multiplied:before {
    mix-blend-mode: multiply;
    opacity: 1; } }

.cover__text-container, .cta__text-container {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  z-index: 10;
  max-width: 768px;
  justify-self: center;
  padding: 3rem 1.5rem; }
  @media (min-width: 64em) {
    .cover__text-container, .cta__text-container {
      padding: 9rem 1.5rem; } }

.cover__title, .cta__title {
  font-size: 1.75rem;
  line-height: 1.1;
  color: white;
  text-align: center;
  margin: 0; }

.cover__lead, .cta__lead {
  color: white;
  text-align: center;
  margin-top: 1.5rem; }
  .cover__lead > *:last-child, .cta__lead > *:last-child {
    margin-bottom: 0; }

.cover__btn-container {
  margin-top: 2.25rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center; }

.grid-cols--have-numbers {
  counter-reset: grid-counter; }

.column {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  -webkit-box-pack: start;
          justify-content: flex-start; }

.column__image-container {
  position: relative;
  height: 0;
  padding-top: 56.25%;
  margin: 0; }

.column__image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center; }

.column__icon-container {
  font-size: 42px;
  line-height: 1;
  color: #8c0303; }

.column__counter-container {
  counter-increment: grid-counter; }
  .column__counter-container:before {
    content: counter(grid-counter, decimal-leading-zero);
    font-size: 13px;
    font-weight: 700;
    color: #8c0303; }

.column__texts {
  -webkit-box-flex: 1;
          flex: 1;
  margin-top: 24px; }

.column__counter-container + .column__texts {
  margin-top: 0; }

.column__title {
  margin: 0;
  text-transform: uppercase;
  font-size: 14px; }

.column__excerpt {
  font-size: 14px; }

.column__title + .column__excerpt {
  margin: 12px 0 0; }

.column--halign-center .column__icon-container,
.column--halign-center .column__title,
.column--halign-center .column__excerpt,
.column--halign-center .column__btn-container,
.column--halign-center .column__counter-container {
  text-align: center; }

.column--halign-right .column__icon-container,
.column--halign-right .column__title,
.column--halign-right .column__excerpt,
.column--halign-right .column__btn-container,
.column--halign-right .column__counter-container {
  text-align: right; }

.imagebox .grid {
  grid-template-columns: 1fr; }

@media (min-width: 768px) {
  .imagebox .grid {
    grid-template-columns: repeat(2, 1fr); } }

@media (min-width: 1024px) {
  .imagebox .grid {
    grid-gap: 3rem; } }

.imagebox__image {
  margin-bottom: 0;
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover; }
  .imagebox__image.left {
    grid-column: 1 / 2;
    grid-row: 1 / 2; }
  @media (min-width: 48em) {
    .imagebox__image {
      height: 100%; } }

.imagebox__image--is-shadowed {
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.2); }

.imagebox__text *:first-child {
  margin-top: 0; }

@media (min-width: 48em) {
  .imagebox__text {
    padding: 1.5rem 0; } }

@media (min-width: 64em) {
  .imagebox__text {
    padding: 3rem 0; } }

.imagebox__title {
  margin: 0; }

.imagebox__lead {
  margin-top: 1.5rem;
  font-weight: 600; }

.imagebox__content {
  margin-top: 1.5rem; }

.imagebox__btn {
  margin-top: 1.5rem; }

/************************************************************

PAGES
Composición del layout de páginas

************************************************************/
