/* Centramos ReCaptcha */

.captcha {
  text-align: center;
  margin: 20px 0;
}

.g-recaptcha {
  margin: 0 auto;
  display: inline-block;
}

/* CAMBIOS ACORDEONES a  AZUL Y AMARILLO */
#header .cab-izq img {
  background-color: #154481;
}

body.galeria-fotografica-del-arquitecto-y-sus-obras .galeria-img.col-4 li a {
  background-color: #ffffff;
}

/* Estilos menu ocultos */
.ancho .main_column {
  float: left;
  width: 100% !important;
}

.ancho .aside_left {
  display: none;
}

/* Mostrar ocultar aside */
.full-page {
  width: 100% !important;
  transition: width 0.5s;
}

.hide-aside {
  display: none;
  transition: display 0.5s;
}

/* Menu */
.main_column.full {
  float: left;
  width: 100% !important;
}

.ancho .main_column {
  float: left;
  width: 100% !important;
}

.ancho .aside_left {
  display: none;
}

#contenedor_cerrar {
  position: absolute;
  top: 10px;
  width: 378px;
  padding-right: 2px;
}

a#cerrar-menu:hover, a#abrir-menu:hover {
  background: #5076aa;
  color: #ffffff;
}

a#cerrar-menu, a#abrir-menu {
  background: #f0f0f0;
  padding: 5px 7px;
  margin-top: -10px;
  margin-bottom: 9px;
  border-radius: 50%;
  color: #000000;
}

a#cerrar-menu {
  float: right;
}

a#abrir-menu {
  float: left;
  margin-left: 10px;
}

@media only screen and (max-width: 1280px) {
  #contenedor_cerrar {
    position: absolute;
    top: 10px;
    width: 30%;
    padding-right: 2px;
  }
}
@media only screen and (max-width: 992px) {
  #contenedor_cerrar {
    display: none;
  }
}
/* Listado bullets */
.listado--bullets li:before {
  content: "" !important;
  width: 6px;
  height: 6px;
  background-color: #2e6bad;
  border-radius: 12px;
  margin-top: 2px;
  display: inline-block;
  position: absolute;
  top: 10px !important;
}

/* FORMULARIO TRANSPORTE SOSTENIBLE */
.container-fluid .webform-progressbar {
  margin: 20px;
  display: block;
  margin-bottom: 60px;
  width: 80%;
  margin: 40px auto;
}
.container-fluid .webform-progressbar-outer {
  position: relative;
  border: 0px solid #2e6bad;
  width: 100%;
  height: 4px;
  margin: 0.35em -1px 2em;
  background-color: #396aac;
}
.container-fluid .webform-progressbar-page.current {
  background-color: #2e6bad;
}
.container-fluid .webform-progressbar-page {
  position: absolute;
  width: 12px;
  height: 12px;
  margin: -8px -4px;
  border: 1px solid #2e6bad;
  background-color: #ffffff;
  border-radius: 12px;
}
.container-fluid .webform-progressbar-page.completed {
  background-color: #74c421;
  border: 1px solid #74c421;
}
.container-fluid .webform-progressbar-inner {
  height: 1em;
  background-color: #74c421;
  height: 4px;
}
.container-fluid .webform-progressbar-page .webform-progressbar-page-label {
  position: relative;
  top: 16px;
  margin: 0 -10em;
}

@media only screen and (min-width: 650px) {
  .container-fluid .webform-progressbar {
    margin: 20px;
    display: block;
    margin-bottom: 60px;
    width: 90%;
    margin: 60px auto;
  }
}
.form-transporte-sostenible .form-item .description {
  float: inherit;
}

.form-transporte-sostenible .current {
  font-weight: bold;
  color: #2e6bad;
}

.form-transporte-sostenible .webform-component-fieldset {
  border: solid 2px #396aac;
  border-radius: 12px;
  padding: 12px;
  background-color: #f2f2f2;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n):before {
  content: "";
  width: 100%;
  height: 12px;
  background-color: transparent;
  position: absolute;
  top: -20px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-top: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #396aac;
  margin: 0 auto;
  display: inline-block;
  margin: 0 auto;
  left: 50%;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n) {
  background-color: #ffffff;
  border: solid 1px #396aac;
  position: relative;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n) .webform-component-fieldset {
  background-color: #f2f2f2;
  border: solid 1px #396aac;
  margin-top: 12px;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n) .webform-component-fieldset input {
  background-color: #ffffff;
  border: solid 1px #396aac;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n) .form-item {
  background-color: #ffffff;
  padding: 0;
  text-align: center;
  margin-bottom: 0;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n) .webform-component-fieldset p {
  font-size: 1.4em;
}

.form-transporte-sostenible .webform-component-fieldset:nth-child(2n) .webform-component-fieldset .form-item {
  background-color: #f2f2f2;
  padding: 0;
  text-align: center;
}

.form-transporte-sostenible input.button-primary {
  color: #fff;
  border-color: #396aac;
  border: none;
  padding: 6px 16px;
  border-radius: 12px;
}

.form-transporte-sostenible input[type=submit] {
  color: #fff;
  border-color: #396aac;
  border: none;
  padding: 6px 16px;
  border-radius: 12px;
  margin: 12px;
}

.form-transporte-sostenible .form-item {
  padding: 12px;
}

.form-transporte-sostenible .form-item input[type=text],
.form-transporte-sostenible .form-item textarea {
  padding: 12px !important;
  resize: vertical;
  margin-bottom: 6px;
}

.form-transporte-sostenible .form-item textarea {
  min-height: 200px;
}

.form-transporte-sostenible .form-item:nth-child(odd) {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  background-color: #f2f2f2;
  border-radius: 12px;
  display: block;
}

.form-transporte-sostenible .form-item:nth-child(even) {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  background-color: #ffffff;
  border-radius: 12px;
  display: block;
}

.form-transporte-sostenible .form-item:nth-child(odd) input {
  background-color: #ffffff;
}

.form-transporte-sostenible .description {
  font-weight: bold;
  color: #2e6bad;
}

.form-transporte-sostenible label {
  font-weight: bold;
  margin-bottom: 8px !important;
}

.form-transporte-sostenible select {
  width: 100%;
}

@media only screen and (min-width: 650px) {
  .form-transporte-sostenible select {
    width: 50%;
  }
}
.form-transporte-sostenible .form-item .form-radios {
  float: left;
  border: solid 1px #f2f2f2;
  border-radius: 12px;
  padding: 12px;
}

.form-transporte-sostenible .form-item .form-checkboxes label.option, form .form-item .form-radios label.option {
  margin-right: 0;
}

.form-transporte-sostenible .form-item .form-managed-file input {
  background-color: #2e6bad;
  color: #ffffff;
}

.form-transporte-sostenible .messages {
  display: inline-block;
}

.form-transporte-sostenible .form-managed-file span img {
  max-width: max-content !important;
  height: auto !important;
  margin: 0px auto;
  display: inline-block !important;
}

.form-transporte-sostenible .form-managed-file .file:before {
  content: "" !important;
}

/* HERMES */
/** Posiciones del logo de la UE **/
img.top-left,
img.top-right,
img.bottom-left,
img.bottom-right {
  position: absolute;
}

img.top-left,
img.top-right {
  top: 16px;
}

img.bottom-left,
img.bottom-right {
  bottom: 80px;
}

img.top-right,
img.bottom-right {
  right: 12px;
}

img.top-left,
img.bottom-left {
  left: 12px;
}

img.top-center {
  position: absolute;
  top: 16px;
  width: 100%;
}

img.bottom-center {
  position: absolute;
  bottom: 80px;
  width: 100%;
}

/* body.hermes .header_group {
  background: #f0f0f0 url("https://cdn.mitma.gob.es/portal-web-drupal/hermes/bg-top-hermes-grey.jpg") repeat center -15px;
}

body.hermes .header_group {
  background: #f0f0f0 url("https://cdn.mitma.gob.es/portal-web-drupal/hermes/bg-top-hermes-grey.jpg") repeat center -15px;
} */

body.node-type-subhome-microsite #cab_subhome_full {
  height: auto;
  min-height: 220px;
  background-size: cover;
  background-position-y: 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

body.node-type-subhome-microsite #cab_subhome_full.alto {
    min-height: calc(100vh - 130px);
}
body.node-type-subhome-microsite #cab_subhome_full.cienxcien {
  min-height: calc(100vh - 60px);
}

.cab_subhome_full__subtitulo.claim {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

.logo-hermes, .arrow-bottom {
  background-color: transparent;
  border-bottom: 0;
  height: 100%;
  text-align: center;
}

body.hermes h1:after {
  content: "";
  background-color: #f7d117;
  height: 6px;
  width: 20px;
  margin: 8px 0 0 0;
  display: block;
}

body.hermes h1 {
  font-family: encode_sans, Helvetica, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 20px;
}

#cab_subhome_full > div.logo-hermes:before,
#cab_subhome_full > div.arrow-bottom:before {
  background-color: transparent;
  border-bottom: 0;
  height: auto;
}

#cab_subhome_full .logo-hermes {
  display: contents;
}

.logo-hermes img {
  min-height: 90px;
  max-height: 100px;
}

.arrow-bottom img {
  max-height: 60px;
}

body.hermes .main_column #descrip li:before {
  content: "";
  display: none;
}

/* Columnas 2, 3 y 4 */
.element-2columnas {
  float: inherit;
  display: grid;
  grid-template-columns: repeat(1fr);
  grid-gap: 12px;
}

.element-3columnas {
  float: inherit;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 12px;
}

.element-4columnas {
  float: inherit;
  display: grid;
  grid-template-columns: repeat(1fr);
  grid-gap: 12px;
}

@media only screen and (min-width: 768px) {
  .element-2columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 12px;
  }

  .element-3columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 12px;
  }

  .element-3columnas > *:nth-child(3n) {
    grid-column: span 2;
  }

  .element-4columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 12px;
  }
}
@media only screen and (min-width: 992px) {
  .element-3columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 12px;
  }

  .element-3columnas > *:nth-child(3n) {
    grid-column: span 2;
  }

  .element-4columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 12px;
  }
}
@media only screen and (min-width: 1200px) {
  .element-3columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 12px;
  }

  .element-3columnas > *:nth-child(3n) {
    grid-column: initial;
  }

  .element-4columnas {
    float: inherit;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 12px;
  }
}
.element {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 340px;
}

.element-overlay {
  background-color: #000000;
  opacity: 0.25;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.element-content h2 {
  color: #ffffff !important;
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.3;
  text-align: left;
  display: inline-block;
  width: 100%;
  margin: 0;
  text-shadow: 1px 1px 2px black;
}

.element-content h2:after {
  content: "";
  background-color: #f7d117;
  height: 6px;
  width: 20px;
  margin: 8px 0 0 0;
  display: block;
}

.element-content p {
  color: #ffffff;
  width: 100%;
  margin-top: 12px;
  text-shadow: 1px 1px 2px #000000;
}

.element-content {
  margin: 0;
  padding: 12px;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: start;
}

.element-content h2 {
  color: #ffffff;
}

.element-content a:visited {
  color: #ffffff;
}

.element-content a:link {
  color: #ffffff;
}

.element-content a:hover {
  color: #f7d117;
}

.element-content a::before {
  content: "";
  width: 100%;
  position: absolute;
  height: 100%;
  top: -20px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: transparent;
  display: none;
}

.element-content a::after {
  content: "";
  width: 100%;
  position: absolute;
  height: 350px;
  top: -20px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: transparent;
}

.cab_subhome_full__subtitulo p {
  color: #ffffff;
  text-align: center;
  font-size: 2em;
  margin: 16px 0;
}

.logo_ue {
  bottom: 80px;
  right: 12px;
  position: absolute;
}

/* barra separación título */

.cab_subhome_full__subtitulo .barra {
  width:6%;
  border-top:solid 4px #ffffff;
  border-radius:12px;
}

/* Estilos del menú específicos */

body.node-type-subhome-microsite #cab_subhome {
  background-image: none;
  height: auto;
  min-height: 220px;
}

/* Estilos caja sin before */

.element-content.sin_before h2:after {
 display: none;
}

.element-content.sin_before h2 {
  text-indent: -9999px;
  white-space: nowrap;
}

/* BTN Anterior */

input.webform-previous.form-submit {
  background-color: #333333;
}

.element-video a::after {
  background:transparent url("https://cdn.mitma.gob.es/portal-web-drupal/mitma/play-button-white.svg") center no-repeat;
  background-size: 40% 40%;
}
.element-video a {
  transition:all 0.5s;
}

.element-video a:hover:after {
  opacity:0.5;
  transition:all 0.5s;
}

.element-video-con a::after {
  background:transparent url("https://cdn.mitma.gob.es/portal-web-drupal/mitma/play-button-white.svg") right bottom no-repeat;
  background-size: 20% 20%;
  margin-left:-12px;
  margin-top:-12px;
}
.element-video-con a {
  transition:all 0.5s;
}

.element-video-con a:hover:after {
  opacity:0.5;
  transition:all 0.5s;
}

/* evitar salto de columnas */

.element-1columna,
.element-2columnas,
.element-3columnas,
.element-4columnas {
  clear:both;
  margin:20px 0px;
}

.content-columns {
  display: inline-block;
  width: 100%;
}

/* Modal Button */

.modal button.close {
  font-size: 1.2em;
  margin: 12px;
  color: #ffffff;
  background-color: #396aac;
  border: none;
  border-radius: 52px;
  line-height: initial;
  padding: 6px;
  width: 26px;
  height: 28px;
}
.modal button.close:hover, .modal button.close:active,.modal button.close:focus {
  font-size: 1.2em;
  margin: 12px;
  color: #333333;
  background-color: #f2f2f2;
  border: none;
  border-radius: 52px;
  line-height: initial;
  padding: 6px;
  width: 26px;
  height: 28px;
}