/*
 Theme Name:   Idento Framework Child Theme
 Description:  Idento Framework Child Theme
 Author:       Idento
 Author URI:   https://idento.es
 Template:     identofmk
 Version:      1.0.0
 Text Domain:  identofmk
*/

/* --------------------------------------- Variables --------------------------------------- */

:root {
    --main-color: #1b72e7;
    --main-color-hover: #164fa6;
    --accent-color: #27C9AA;
    --accent-color-hover: #1BB99B;
    --warning-color: #f9bc06;
    --danger-color: #e94436;

    --black-color: #4E4F50;
    --light-color: #DFEAFA;
    --grey-color: #E8E7E7;
    --dark-grey-color: #A29F9F;

    --bronce: #A1887F;
    --plata: #BDBDBD;
    --oro: #FFA000;
    --platino: #718692;
    --diamante: #62A4FF;

    --font-base: 'Outfit', sans-serif;
    --font-w-regular: 400;
    --font-w-semibold: 600;
    --font-w-bold: 700;

    --space-small: 7.5px;
    --space-normal: 15px;
    --space-big: 30px;
    --space-extra: 60px;
    --space-extrabig: 90px;
    --space-pageheader: 160px;

    --space-small-n: -7.5px;
    --space-normal-n: -15px;
    --space-big-n: -30px;
    --space-extra-n: -60px;
    --space-extrabig-n: -90px;

    --size-base: 20px;
    --size-hero-title: 66px;
    --size-title: 54px;
    --size-subtitle: 42px;
    --size-lead: 26px;
    --size-small: 16px;
    --size-min: 12px;

    --lh-normal: 1.8rem;
    --lh-mobile: 1.6rem;
    --lh-titles: 1em;

    --radius-max: 300px;
    --radius-normal: 10px;

    --logo-desktop: 274px;
    --logo-mobile: 180px;

    --transition-normal: 0.5s;

    --shadow-small: 0px 9px 16px 0px rgba(0, 0, 0, 0.28);

    --gradient-white-tobottom: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    --gradient-white-totop: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}

/* --------------------------------------- RESET --------------------------------------- */
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,
dl,
dt,
dd,
ol,
ul,
li,
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;
    line-height: var(--lh-normal);
    scroll-behavior: smooth;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    font-family: var(--font-base);
    padding: 0 !important;
    overflow-x: hidden;
    color: var(--black-color);
    font-size: var(--size-base);
    font-weight: var(--font-w-regular);
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html {
    overflow-x: hidden;
}

/*.container {
    max-width: 1350px;
}*/
strong {
    font-weight: 700;
    line-height: 1em;
}

.text-center {
    text-align: center;
}

* {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-font-smoothing: antialiased;
}

i {
    font-style: italic;
}

.cookie-comprimida {
    padding: 0;
    background: #F1F1F1;
    margin: 15px 0;
    font-size: 16px;
}

/* --------------------------------------- COMUNES --------------------------------------- */

.the-content ul li, .single-blog-page .the-content ul li {
    list-style: circle;
    margin-left: 20px;
	line-height:33px;
}

.the-content ol li, .single-blog-page .the-content ol li {
    list-style-type: decimal;
    margin-left: 40px;
	line-height:33px;
}


div#content .politica-cookie a.ver-cookie[aria-expanded="false"] .arrow.down {
    transform: rotate(-135deg);
    left: calc(100% + 15px);
    top: calc(50% - 7px);
    transition: .5s;
}

div#content .politica-cookie a.ver-cookie[aria-expanded="true"] .arrow.down {
    transform: rotate(45deg);
    left: calc(100% + 15px);
    top: calc(50% + -1px);
}

div#content .politica-cookie a {
    position: relative;
}

.arrow {
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: transparent;
    text-indent: -9999px;
    border-top: 2px solid #505050;
    border-left: 2px solid #505050;
    transition: all 250ms ease-in-out;
    text-decoration: none;
    color: transparent;
}

div#content .politica-cookie .cookie-comprimida {
    padding: 15px;
}

div#content .politica-cookie .info {
    margin-top: 15px;
}

div#content .politica-cookie .card.card-body.container {
    padding: 15px;
}

a {
    text-decoration: none;
    color: var(--main-color);
    transition: var(--transition-normal);
}

a:hover {
    text-decoration: none;
    color: var(--main-color-hover);
}

.cta {
    text-align: center;
    display: inline-block;
    font-size: 1.5rem;
    color: var(--accent-color);
}

.cta-button {
    background: var(--accent-color);
    color: white !important;
    font-size: 18px;
    padding: 20px 40px;
    text-align: center;
    border-radius: 50px;
    display: inline-block;
    font-weight: 700;
    transition: ease 0.3s;
    cursor: pointer;
    border: 0px;
}

.boton {
    margin-top: 30px;
    display: inline-block;
}

.magic-link {
    cursor: pointer;
}

.wp-block-embed-youtube .wp-block-embed__wrapper,
.wp-block-embed__wrapper {
    /*padding-top: 56.2963%;*/
    width: 100%;
}

.wp-block-embed-youtube .wp-block-embed__wrapper iframe,
.wp-block-embed__wrapper iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
}

.btn {
    display: inline-flex;
    font-family: var(--font-base);
    font-weight: var(--font-w-semibold);
    font-size: var(--size-base);
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    transition: var(--transition-normal);
    border-radius: var(--radius-max);
    padding: var(--space-small) var(--space-big);
    border-color: transparent !important;
}

.btn-light {
    background: var(--light-color);
    color: var(--main-color);
}

.btn-light:hover {
    background: var(--main-color);
    color: white;
}

.btn-success {
    background: var(--accent-color);
    color: white;
}

.btn-success:hover {
    background: var(--accent-color-hover);
}

.cta-button:hover,
.cta-button:active {
    background: var(--accent-color-hover);
    text-shadow: 1px 1px rgb(0 0 0 / 30%);
}

.centrado-verticalmente {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

p {
    margin-bottom: 1em;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: var(--font-base)
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong {
    color: var(--accent-color);
}

h1 em,
h2 em,
h3 em,
h4 em,
h5 em {
    color: var(--main-color-hover);
    font-style: normal;
}

h1,
.h1 {
    font-size: var(--size-hero-title);
    margin-bottom: var(--space-big);
    line-height: var(--lh-titles);
    font-weight: var(--font-w-bold);
    color: var(--main-color-hover);
}

h2,
.h2 {
    font-size: var(--size-title);
    margin-bottom: var(--space-big);
    font-weight: var(--font-w-bold);
    color: var(--main-color-hover);
    line-height: var(--lh-titles);
}

h3,
.h3 {
    font-size: var(--size-subtitle);
    margin-bottom: var(--space-big);
    line-height: var(--lh-titles);
    font-weight: var(--font-w-bold);
    color: var(--main-color);
}

h4,
.h4 {
    font-size: var(--size-lead);
    margin-bottom: var(--space-normal);
    line-height: var(--lh-titles);
    font-weight: var(--font-w-bold);
    color: var(--main-color);
	margin-top: 15px;
}

h5,
.h5 {
    font-size: 1.1rem;
    margin-bottom: 0.5em;
    line-height: 100%;
    color: var(--main-color);
    font-weight: var(--font-w-semibold);
}

img {
    max-width: 100%;
}

.icono-lista {
    padding-left: 30px;
}

.icono-lista li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.icono-lista li p {
    margin: 0;
}

.icono-lista li i {
    margin-right: 15px;
}

/* --------------------------------------- HEADER --------------------------------------- */

header {
    background: white;
    padding: 0;
    width: 100%;
    z-index: 99;
}

header .site-branding {
    padding: var(--space-normal) 0;
    transition: 0.5s;
}

header .site-title {
    width: var(--logo-desktop);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

header .site-title img {
    max-width: 100%;
    height: auto;

}

header#masthead {
    position: fixed;
    top: 0;
    transition: 0.5s;
}

header#masthead .flex-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

nav#site-navigation,
nav#site-navigation>* {
    flex-grow: 1;
}

header#masthead ul.nav-link {
    display: flex;
    justify-content: flex-end;
}

header#masthead ul.nav-link li {
    padding: 0;
    margin: 0 var(--space-small);
}

header#masthead ul.nav-link>li>a {
    position: relative;
    display: block;
    font-weight: var(--font-w-semibold);
    padding: var(--space-small) var(--space-normal);
    border-radius: var(--radius-max);
    display: flex;
    align-items: center;
    justify-content: center;
}

header#masthead ul.nav-link>li.current-menu-item a {
    color: var(--main-color-hover);
}

header#masthead ul.nav-link>li.menu-item-has-children>a {
    padding-right: var(--space-normal);
}

header#masthead ul.nav-link>li.menu-item-has-children>a::after {
    content: "";
    display: block;
    border-radius: var(--radius-max);
    position: absolute;
    right: 0;
    top: 40%;
    width: var(--space-small);
    height: var(--space-small);
    background: var(--main-color);
}

header#masthead ul.nav-link>li:last-child>a {
    background: var(--main-color);
    color: white;
}

header#masthead ul.nav-link>li:last-child>a:hover,
header#masthead ul.nav-link>li.current-menu-item:last-child>a {
    background: var(--main-color-hover);
    color: white;
}

nav#site-navigation ul.sub-menu {
    position: absolute;
    background: white;
    display: none;
    border-radius: var(--radius-normal);
    overflow: hidden;
    top: var(--space-extra);
    box-shadow: var(--shadow-small);
}

nav#site-navigation ul.sub-menu li {
    border-bottom: solid 1px var(--grey-color);
}

nav#site-navigation ul.sub-menu li:last-child {
    border-bottom: none;
}

nav#site-navigation ul.sub-menu li a {
    color: var(--black-color);
    padding: var(--space-normal) var(--space-small);
    font-size: var(--size-small);
}

nav#site-navigation ul.sub-menu li a:hover {
    color: var(--main-color);
}

.navbar-toggler {
    border-radius: var(--radius-max);
    border-color: transparent;
    background: var(--main-color);
    width: var(--space-extra);
    height: var(--space-extra);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-color: transparent;
}

.navbar-toggler span {
    filter: invert(1);
    opacity: 1;
}

section {
    padding: var(--space-extra) 0;
    width: 100%;
}

/* --------------------------------------- HERO  --------------------------------------- */
.direct-access {
    display: flex;
    justify-content: flex-end;
}

.direct-access ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: var(--space-pageheader);
    z-index: 500;
    list-style: none;
    margin-right: var(--space-extra-n);
}

.direct-access ul li::before {
    display: none !important;
    position: relative;
}

.direct-access ul li a {
    background: none;
    border-color: transparent;
    display: block;
    outline: none;
}

.direct-access ul li a img {
    max-width: 100%;
    height: auto;
}

.direct-access ul li .card {
    width: 260px;
    height: auto;
    position: absolute;
    left: 100%;
    right: 0;
    top: -5px;
    border-color: transparent;
    opacity: 0;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-small);
}

.direct-access ul li .card:after {
    position: absolute;
    top: var(--space-big);
    right: -10px;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8.7px;
    border-color: transparent transparent transparent #ffffff;
}

.direct-access ul li .card .card-body {
    padding: var(--space-normal);
}

.direct-access ul li .card .card-body p {
    font-size: var(--size-small);
    font-weight: var(--font-w-regular);
    color: var(--black-color);
    line-height: 1.2em;
    margin: 0;
}

.direct-access ul li:hover .card {
    opacity: 1;
    left: inherit;
    right: calc(100% - 20px);
}

section.hero,
header.hero {
    background: var(--light-color);
    padding-bottom: 0;
    padding-top: var(--space-pageheader);
    position: relative;
    z-index: 1;
}

section.hero::after,
header.hero::after {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(img/bg-imago-color.svg) right top no-repeat;
    z-index: 1;
}

section.hero::before,
header.hero::before {
    position: absolute;
    content: "";
    display: block;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--space-pageheader);
    background: var(--gradient-white-totop);
    z-index: 2;
}

section.hero .container,
header.hero .container {
    position: relative;
    z-index: 2;
}

section.texto-imagen ul,
section.hero ul {
    list-style: none;
    margin-bottom: var(--space-normal);
}

section.texto-imagen ul li,
section.hero ul li {
    position: relative;
    color: var(--main-color);
    font-weight: var(--font-w-semibold);
    padding: 0 0 0 var(--space-big);
    margin: 0 0 3px;
}

section.texto-imagen ul li::before,
section.hero ul li::before {
    content: "";
    display: block;
    width: var(--space-normal);
    height: var(--space-normal);
    border-radius: var(--radius-max);
    border: solid 3px var(--main-color);
    opacity: 0.5;
    position: absolute;
    left: 0;
    top: var(--space-small);
}

header.hero time {
    font-size: var(--size-min);
    color: var(--main-color-hover);
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

section.texto-imagen .text-team,
section.texto-imagen .foto {
    margin-bottom: var(--space-big);
}

section.texto-imagen .text-team .btn {
    margin-bottom: var(--space-small);
}

.list-expert li.list-expert--bronce::before {
    background: var(--bronce);
    border-color: var(--bronce);
}

.list-expert li.list-expert--plata::before {
    background: var(--plata);
    border-color: var(--plata);
}

.list-expert li.list-expert--oro::before {
    background: var(--oro);
    border-color: var(--oro);
}

.list-expert li.list-expert--platino::before {
    background: var(--platino);
    border-color: var(--platino);
}

.list-expert li.list-expert--diamante::before {
    background: var(--diamante);
    border-color: var(--diamante);
}

section.hero .col-hero-img {
    line-height: 0;
}

section.hero .col-hero-text {
    margin-bottom: var(--space-normal);
}

section.hero .col-hero-text--form {
    background: white;
    z-index: 5;
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 767px;
    border-radius: var(--radius-normal);
    box-shadow: var(--shadow-small);
    padding: var(--space-big) var(--space-normal) var(--space-normal);
    margin: 0 var(--space-big-n) var(--space-big-n) var(--space-big-n);
}

.col-hero-text--form .gform_footer {
    padding-bottom: 0 !important;
}

.col-hero-text--form img {
    max-width: 100%;
    margin: 0 0 var(--space-extra-n) var(--space-small-n);
}

.col-hero-text--form h4 {
    margin-bottom: var(--space-small);
}

.col-hero-text--form p {
    margin: 0;
}

.col-hero-text--form .gfield {
    padding-bottom: 0px !important;
}

section.hero.hero-home-special .col-hero-text {
    padding-bottom: 315px;
}

section.hero.hero-home-special .col-hero-img img {
    margin-bottom: 0;
    margin-top: var(--space-extrabig-n);
    width: 110%;
    max-width: 110%;
}

section.hero.hero-home-special::before {
    display: none;
}

section.texto-imagen-repeater .row-repeater {
    margin-bottom: var(--space-normal);
    margin-top: var(--space-big);
    border-bottom: solid 1px var(--grey-color);
}

section.texto-imagen-repeater .row-repeater .row-repeater--photo {
    margin-bottom: var(--space-normal);
}

section.texto-imagen-repeater .row-repeater .row-repeater--photo img {
    max-width: 100%;
}

.single-blog-page h1,
.single-blog-page h2,
.single-blog-page h3,
.single-blog-page h4,
.single-blog-page h5,
.single-blog-page h6 {
    margin-top: var(--space-extra);
}

.single-blog-page .footer-content-blog {
    border-top: var(--grey-color) solid 1px;
    padding: var(--space-big) 0;
    font-size: var(--size-small);
}

.single-blog-page .footer-content-blog .cat-blog-nav .elem span {
    color: var(--black-color);
    font-weight: var(--font-w-semibold);
}

.single-blog-page .attachment-full {
    margin-bottom: var(--space-big);
}

#ez-toc-container {
    border-color: transparent;
    background: var(--light-color);
    padding: var(--space-normal);
    margin: var(--space-normal) 0 var(--space-big);
}

#ez-toc-container .ez-toc-title {
    margin-bottom: var(--space-normal);
    font-weight: var(--font-w-semibold);
    color: var(--main-color-hover);
}

#ez-toc-container .ez-toc-list a {
    color: var(--main-color);
}

.rank-math-howto-duration {
    font-size: var(--size-min);
    color: var(--main-color-hover);
    text-transform: uppercase;
}

/* ------- SLIDER ----------- */

#tns1-ow .tns-controls,
#tns1-ow .tns-nav,
#tns1-ow button[data-action="stop"] {
    display: none !important;
}

.slider .carousel-item img {
    max-height: 700px;
    object-fit: cover;
}

.slider .carousel-caption {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
}

/* --- BULLETS --- */
.contenedores-bullets {
    flex: 1 1 220px;
    margin-bottom: 15px;
}

.hero-bullets .col-md-4.p-0:first-child .cuadrado {
    margin: 0 15px;
}

/* --- listado pfuertes --- */
.listado-pfuertes {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.listado-pfuertes li {
    flex: 1;
}

/* --- cuadrado --- */
.cuadrado {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
}

.cuadrado img {
    max-width: 100%;
    height: auto;
    margin: 0 auto var(--space-small);
}

section.hero-bullets {
    margin: 0 auto;
}

/* --- CONTENIDO 3 COLUMNAS --- */

.contenido-columnas .cuadrado {
	color: var(--black-color);
}

.contenido-columnas .cuadrado:hover {
	opacity:0.8;
}

/* --- PRODUCTOS SELECCIONADOS --- */

.box-seleccionados {
	margin-bottom:30px;
}

/* --- BREADCRUMBS --- */

.box-breadcrumbs img {
    max-width: 30px;
	box-shadow: none;
    vertical-align: bottom;
}

.migas ol li {
    margin: 0px !important;
    list-style: none !important;
    list-style-type: none;
    padding: 0px;
}



/* --- BANNER DATOS --- */
section.banner-datos {
    width: 100%;
    background: var(--light-color);
    padding: 30px 0;
}

section.banner-datos h3 {
    font-size: 65px;
    color: var(--main-color);
    text-align: center;
    margin: 0;
    white-space: nowrap;
}

section.banner-datos h5 {
    font-size: 24px;
    text-align: center;
    color: #444;
}

/* --- CONTACTO --- */
.gform_confirmation_message {
    text-align: center;
    font-size: var(--size-lead);
    font-weight: var(--font-w-semibold);
}

.gform_wrapper.gravity-theme {
    padding: var(--space-normal) 0;
}

.gform_wrapper.gravity-theme .gfield {
    padding-top: 0;
}

.gform_wrapper.gravity-theme input[type=color],
.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    display: inline-flex;
    font-family: var(--font-base);
    font-weight: var(--font-w-semibold);
    font-size: var(--size-base) !important;
    color: var(--main-color-hover);
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    position: relative;
    transition: var(--transition-normal);
    border-radius: var(--radius-normal);
    padding: var(--space-normal) !important;
    min-height: inherit !important;
    height: auto;
    border: solid 2px var(--light-color);
}

.gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
    display: inline-flex;
    font-family: var(--font-base);
    font-weight: var(--font-w-semibold);
    font-size: var(--size-base) !important;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    position: relative;
    transition: var(--transition-normal);
    border-radius: var(--radius-max);
    padding: var(--space-small) var(--space-big) !important;
    border-color: transparent !important;
    min-height: inherit !important;
    height: auto;
    background: var(--accent-color);
    color: white;
}

.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover {
    background: var(--accent-color-hover)
}

/* --- NOTICIAS --- */
.noticias .card {
    border: 0;
    box-shadow: none;
    transition: 0.5s;
    cursor: pointer;
    margin-bottom: var(--space-big);
}

.noticias .card .card-header {
    background: none;
    border: none;
}

.noticias .card .card-body {
    display: block;
    padding: var(--space-normal);
}

.noticias .card .card-body .small {
    color: var(--main-color-hover);
    font-size: var(--size-min);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: var(--space-small);
}

.noticias .card-body .excerpt {
    max-height: 205px;
    overflow: hidden;
}

.noticias .card-body .btn {
    width: auto;
    flex: 0 0 auto;
}

.noticias .img-container {
    height: 100%;
}




/* --- Video  --- */
.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
	/*padding-top: 56.2963%;*/
    overflow: hidden;
}

.embed-responsive::before {
    display: block;
    content: "";
}

/*.embed-responsive-16by9::before {
    padding-top: 56.25%;
}*/

.embed-responsive-4by3::before {
    padding-top: 75%;
}

.embed-responsive iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* --- CONTENIDO  --- */
.content-wrapper {
    margin-bottom: 2em;
}

.contenido-texto {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 15px;
}

/* --- FORMULARIOS  --- */
.form-container form {
    background: white;
    border-radius: 15px;
    border: 5px solid var(--grey-color);
    box-shadow: 0 2px 6px rgb(51 51 51 / 30%);
    padding: 25px;
}

.single-productos .form-container {
    margin-top: 60px;
}

.background-main .form-container form {
    background: transparent;
    border: 5px solid transparent;
    padding: 0;
}

.background-main .form-container {
    top: 0;
}

.ancla-form {
    display: inline !important;
}

.form-cabecera form {
    text-align: left;
    margin-top: 1em;
}

.form-container .gform_wrapper .top_label input.medium,
.gform_wrapper .top_label select.medium {
    width: 100%;
}

.form-container .gform_wrapper .top_label .gfield_label,
.form-container .gform_wrapper legend.gfield_label {
    line-height: 2;
}

form label {
    width: 100%;
    margin-bottom: 0.3em;
}

form input[type="text"],
form input[type="email"],
select {
    width: 100%;
    padding: 20px 15px 10px 15px !important;
    font-size: 16px;
    border: 1px solid var(--grey-color);
}

select {
    padding: 15px !important;
}

select {
    -webkit-appearance: none;
    font-size: 16px;
}

form select+.error {
    pointer-events: none;
    line-height: 14px;
}

.gfield[type=text] label {
    position: absolute;
    left: 30px;
    top: 10px;
    transition: 0.5s;
}

.gfield input+.error,
.gfield select+.error {
    text-align: right;
    padding: 0px 60px;
    width: 100%;
    font-size: 14px;
}

.gfield input:not(:placeholder-shown)+label,
.gfield input:focus~label,
.gfield input:not(:placeholder-shown)+.error~label {
    white-space: nowrap;
    text-overflow: ellipsis;
    transform-origin: left bottom;
    font-size: 10px;
    top: 0px;
    left: 30px;
}

.gfield input:focus+label.error {
    top: -15px;
    left: 0;
    padding: 0 20px;
}

.gfield input:not(:placeholder-shown)+label.error,
.gfield input:focus+label.error {
    top: 45px;
    left: 0;
}

.gfield .form textarea {
    width: 100%;
    padding: 0.5em 0em;
    font-size: 1em;
    border: none;
    border-bottom: 1px solid #1f1f1f;
    font-size: 18px;
}

.gfield input:focus,
.gfield textarea:focus,
.gfield select:focus {
    outline: 0px solid transparent;
}

.gfield::placeholder,
.gfield:-ms-input-placeholder {
    color: #1D252C;
    font-size: 18px !important;
    padding: 5px;
}

.gfield .check input[type="checkbox"],
.gfield .check label {
    display: inline-block;
    width: auto;
}

.gfield .check label {
    padding-left: 0.5em;
    display: inline;
}

.gfield li.check input:focus {
    outline: none;
}

.gfield .wildcard {
    font-size: 1em;
    padding-left: 3px;
    vertical-align: top;
}

.gfield {
    padding-bottom: 1rem;
    padding-top: 4rem;
}

.content-legal {
    padding: 2rem;
}

.content-legal ul {
    padding-left: 2rem;
}

.content-legal ul li {
    list-style: disc;
}

.content-legal table td {
    border: 1px solid #000001;
    padding: 0.5rem;
}

.content-legal table p {
    margin-bottom: 0rem;
}

.form-group.campo-movil input {
    width: 100%;
    padding: 15px 15px 0 15px;
    border-radius: 5px;
    border: 1px solid var(--grey-color);
}

form h3 {
    margin-bottom: 25px;
}

label.form-check-label {
    margin-right: 15px;
}

.oculto {
    display: none;
}

form#contact-form input#aceptocondiciones {
    margin-top: 6px;
    margin-right: 10px;
}

form#contact-form input.cta-button {
    padding: 10px 40px;
    width: 100%;
}

.gform_wrapper ul.gform_fields .gfield {
    position: relative;
}

.form-container .gform_wrapper .top_label select.medium {
    width: 100%;
    line-height: 1;
}

/* - Verificación formulario  - */

.form_box label.error,
#contact-form>ul>li.check>label.error {
    color: #c40000;
    margin: 5px;
}

.form_box .sms_ok {
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    padding: 30px 30px 50px 30px;
}

.form_box .sms_ok h5 {
    color: #6b737e;
    font-weight: 700;
    margin-bottom: 15px;
}

.sms_ok .tpv_response_code {
    background: #c4e8c4;
    padding: 1em 2em;
    color: #234423;
    font-size: 0.9em;
}

.sms_ko .tpv_response_code {
    background: #e8c4c4;
    padding: 1em 2em;
    color: #981414;
    font-size: 0.9em;
}

/* --- WIDGET --- */
li.widget {
    margin-bottom: var(--space-normal);
}

.widget-group .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
}

.widget-group .wp-block-group__inner-container h5 {
    flex: 0 0 100%;
}

.widget-group .wp-block-group__inner-container .widget_media_image {
    flex: 0 0 50%;
    margin: 3px 0;
}

.widget a {
    color: var(--dark-grey-color);
    font-weight: 700;
    white-space: nowrap;
}

.widget a:hover {
    color: var(--main-color);
}

/* --- PAGINATION --- */
.blog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: var(--space-big);
}

.blog-pagination>* {
    width: var(--space-extra);
    height: var(--space-extra);
    border-radius: var(--radius-max);
    background: var(--light-color);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--main-color-hover);
    font-size: var(--size-small);
    transition: var(--transition-normal);
    margin: 0 var(--space-small);
}

.blog-pagination>a:hover,
.blog-pagination .current {
    background: var(--main-color-hover);
    color: white;
}


/* --- BLOG --- */
.thumbnail-single-block img {
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    display: block;
    margin-bottom: 30px;
}

/* --- FOOTER  --- */

.site-footer {
    height: auto;
    padding: var(--space-extrabig) 0 var(--space-big);
    margin-top: 0;
    font-size: var(--size-small);
    font-weight: var(--font-w-semibold);
    background: var(--main-color-hover) url(img/bg-imago-white.svg) right top no-repeat !important;
    background-size: cover;
}

.site-footer .site-title {
    max-width: var(--logo-mobile);
    display: flex;
    flex-wrap: wrap;
}

.site-footer .site-title img {
    width: 100%;
    height: auto;
}

.site-footer .logo-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: var(--space-big)
}

.site-footer .bottom {
    margin-top: var(--space-big);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.site-footer .gform_wrapper.gravity-theme {
    padding-top: 0;
}

#box-social .list-inline {
    align-items: center;
    display: inline-flex !important;
}

#box-social .list-inline li {
    padding: 0;
    margin-right: var(--space-small);
}

#box-social .list-inline li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--space-big);
    height: var(--space-big);
    background: white;
    color: var(--main-color-hover);
    border-radius: var(--radius-max);
}

#box-social .list-inline li a svg{
    fill: var(--main-color-hover);
    max-width: 14px;
    height: auto;
}

.menu-footer {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.menu-footer li {
    margin: 0;
    padding: 0;
}

/* - Firma Idento - */

.firma-idento {
    background: url(img/idento.svg);
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    display: inline-block;
    background-size: 53px;
    margin: 0;
    transition: width 0.3s;
    margin-top: 0px;
}

.firma-idento.white {
    background-image: url(/images/idento_neg.svg);
}

.firma-idento:hover {
    width: 53px;
}

/* Mail */

#contact-form #mail,
#contact-form2 #mail {
    visibility: hidden;
    position: absolute;
    opacity: 0;
    left: -100vw;
}


.content-legal {
    padding: 2rem;
}

.content-legal ul {
    padding-left: 2rem;
}

.content-legal ul li {
    list-style: disc;
}

.content-legal .h2:after {
    display: none;
}

.content-legal table td {
    border: 1px solid #000001;
    padding: 0.5rem;
}

.content-legal table p {
    margin-bottom: 0rem;
}

/* Texto imagen */
.aligncenter {
    display: block;
    margin: 0 auto;
}


/* FONDOS y colores */

.bg-dark {
    color: white;
}

.bg-dark .btn-light {
    color: var(--main-color) !important;
}

.bg-dark .btn-light:hover {
    color: white !important;
}

.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6 {
    color: white;
}

.bg-dark a {
    color: white;
}

.bg-dark a:hover {
    color: white;
    opacity: 0.8;
}

.bg-blue {
    background-color: var(--main-color-hover) !important;
}

.color-light {
    color: var(--light-color);
}

.color-red {
    color: var(--danger-color);
}

/* --- PRODUCTOS  --- */
section.productos .row-repeater {
    margin-bottom: var(--space-normal);
    margin-top: var(--space-normal);
    padding-bottom: var(--space-big);
    padding-top: var(--space-big);
    border-bottom: solid 1px var(--grey-color);
}

section.productos .row-repeater .row-repeater--photo {
    margin-bottom: var(--space-normal);
}

section.productos .row-repeater .row-repeater--photo img {
    max-width: 100%;
}

.navbar-youtube {
    display: none;
    width: 45px;
    height: 45px;
    position: absolute;
    right: var(--space-extra);
}

.navbar-youtube img {
    max-width: 100%;
    height: auto;
}

.foto .embed-container::before {
    padding: 0;
}

/* --- RESPONSIVE  --- */
@media only screen and (max-width: 1400px) {
    .direct-access ul{
        margin-right: var(--space-big-n) !important;
    }

    .direct-access ul li a {
        width: var(--space-extra);
    }
}

@media only screen and (max-width: 1199px) {
    .container {
        max-width: 100%;
    }
}

@media only screen and (max-width: 991px) {
    .direct-access{
        display: none;
    }

    section.hero,
    header.hero {
        height: fit-content;
        padding-top: var(--space-extrabig);
    }

    section.hero .col-hero-text {
        text-align: center;
    }

    section.hero .col-hero-text--form {
        max-width: initial;
        position: relative;
        margin-bottom: var(--space-small-n);
    }

    section.hero.hero-home-special .col-hero-text {
        padding-bottom: var(--space-extra);
    }

    header .site-branding {
        padding-top: var(--space-small);
        padding-bottom: var(--space-small);
    }

    .navbar-toggler {
        width: 45px;
        height: 45px;
    }

    .navbar-toggler-icon {
        width: 1em;
    }

    .navbar-youtube {
        display: block;
    }

    section {
        padding-top: var(--space-big);
        padding-bottom: var(--space-big);
    }

    h1,
    .h1 {
        font-size: var(--size-subtitle);
        margin-bottom: var(--space-normal);
    }

    h2,
    .h2 {
        font-size: var(--size-lead);
        margin-bottom: var(--space-normal);
    }

    h3,
    .h3 {
        font-size: var(--size-lead);
        margin-bottom: var(--space-normal);
    }

    h4,
    .h4 {
        font-size: var(--size-base);
    }

    header .site-title {
        width: var(--logo-mobile);
    }

    .container {
        max-width: 100%;
    }

    /* HEADER MENU */
    .flex-header {
        flex-grow: 1;
    }

    header#masthead ul.nav-link {
        flex-direction: column;
        padding-top: var(--space-big);
        align-items: center;
        justify-content: center;
    }

    header#masthead ul.nav-link li {
        width: 100%;
        margin: 0;
    }

    header#masthead ul.nav-link li>a {
        text-align: center;
        width: 100%;
        flex: 1;
        text-align: center;
    }

    nav#site-navigation ul.sub-menu {
        position: relative;
        top: inherit;
        display: block;
        box-shadow: none;
        background: none;
    }

    .menu-toggle {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    section.hero::after {
        background-size: 150%;
    }

    .form-cabecera {
        top: 15px;
    }

    .cuadrado:first-child {
        margin-left: 15px;
    }

    section.hero-bullets {
        margin: 0 auto;
        margin-bottom: 50px;
        margin-top: 15px;
    }

    .home section.hero-bullets+section {
        margin-top: 0;
    }

    section.productos .row.w-100.column.justify-content-center .col-md-6.col-lg-3 {
        margin-bottom: 30px;
    }

    section.productos article.card {
        min-height: 400px;
    }

    section.productos article.card .card-body {
        justify-content: flex-end;
        align-items: center;
    }

    section.productos article.card h4.card-title {
        /*color: white;*/
        position: relative;
        background: transparent;
        margin-bottom: 15px;
		color: var(--main-color);
    }

    section.productos article.card a.read_more {
        padding: 7px 30px;
        border: 2px solid white;
        font-weight: bold;
        border-radius: 100px;
        z-index: 1;
        /*color: white;*/
		color: var(--main-color);
    }

    section.productos article.card a.read_more i {
        margin-left: 5px;
    }

    section.productos article.card::after {
        position: absolute;
        content: '';
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 0.5;
        /*background: rgba(0, 0, 0, 0.3);*/
    }

    section.productos article.card .card-body .contenido-texto::after {
        background: rgba(0, 0, 0, 0.3);
    }

    .team .text-team {
        padding: 50px 15px;
    }

    .carousel-control-next,
    .carousel-control-prev {
        color: black;
    }

    .carousel-control-next {
        right: -13px;
    }

    .carousel-control-prev {
        left: -13px;
    }

    .carousel .carousel-item {
        padding: 15px;
    }

    .carousel .carousel-inner {
        padding-bottom: 30px;
    }

    .carousel-indicators .active {
        background-color: black;
    }

    .carousel-control-prev:hover,
    .carousel-control-next:hover {
        color: black;
    }

    .carousel-indicators li {
        background-color: rgba(0, 0, 0, .5);
    }

    footer#colophon .col-sm-12.col-md-6.col-lg-3 {
        margin-bottom: 30px;
    }

    ul#menu-menu-superior {
        flex-direction: column;
        padding-bottom: 15px;
    }

    button#button-main-menu-toggle {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    section.cabecera {
        padding-top: 30px;
    }

    .form-container form {
        padding: 15px;
    }

    .gfield {
        padding-bottom: 0;
    }

    .row-reverse-tablet {
        flex-direction: column-reverse;
    }

    section.proceso.steps .col-lg-6.text-center {
        margin-bottom: 30px;
    }

    .cabecera .img.right {
        width: 100vw;
        height: fit-content;
        min-height: 400px;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 0;
    }

    .cabecera .img.right::after {
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.3);
    }

    .single-productos section.cabecera>.container>.row>.col-12.col-lg-6>span,
    .single-productos section.cabecera>.container>.row>.col-12.col-lg-6>h2,
    .single-productos section.cabecera>.container>.row>.col-12.col-lg-6>h4,
    .single-productos section.cabecera>.container>.row>.col-12.col-lg-6>p {
        color: white;
    }

}

@media only screen and (max-width: 767px) {

    body,
    .btn,
    .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
    .gform_wrapper.gravity-theme input[type=color],
    .gform_wrapper.gravity-theme input[type=date],
    .gform_wrapper.gravity-theme input[type=datetime-local],
    .gform_wrapper.gravity-theme input[type=datetime],
    .gform_wrapper.gravity-theme input[type=email],
    .gform_wrapper.gravity-theme input[type=month],
    .gform_wrapper.gravity-theme input[type=number],
    .gform_wrapper.gravity-theme input[type=password],
    .gform_wrapper.gravity-theme input[type=search],
    .gform_wrapper.gravity-theme input[type=tel],
    .gform_wrapper.gravity-theme input[type=text],
    .gform_wrapper.gravity-theme input[type=time],
    .gform_wrapper.gravity-theme input[type=url],
    .gform_wrapper.gravity-theme input[type=week],
    .gform_wrapper.gravity-theme select,
    .gform_wrapper.gravity-theme textarea {
        font-size: var(--size-small) !important;
    }

    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,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    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 {
        line-height: var(--lh-mobile);
    }

    section.acceso-directo {
        text-align: center;
    }

    .puntos-fuertes-contexto {
        text-align: center;
    }

    .container {
        max-width: 100%;
    }

    .content-legal {
        padding: 1rem;
    }

    .content-legal h3,
    .content-legal .h3 {
        font-size: 17px;
        font-weight: 700;
        line-height: 23px;
    }

    .content-legal a {
        word-break: break-word;
    }

    .content-legal ul {
        padding-left: 1rem;
    }

    .content-legal h2,
    .content-legal .h2 {
        font-size: 21px;
        line-height: 27px;
    }

    .content-legal p,
    .content-legal li {
        font-size: 14px;
        line-height: 21px;
    }

    .content-legal h1 {
        font-size: 1.4rem;
        margin-bottom: 0.5rem;
    }

    a.telefono.gtm_phone {
        position: fixed;
        bottom: 30px;
        right: 30px;
        border-radius: 100px;
        width: 50px;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    a.telefono.gtm_phone span {
        display: none;
    }

    a.telefono.gtm_phone i {
        margin: 0;
        font-size: 24px;
    }

    section.hero-bullets .col-md-4.p-0 {
        margin-bottom: 15px;
    }

    section.hero-bullets .col-md-4.p-0:last-child {
        margin-bottom: 0;
    }

    .team .foto {
        position: relative;
        top: 0;
    }

    .team .row.position-relative {
        flex-direction: column-reverse;
    }

    .cuadrado p {
        min-height: auto;
    }

    .form-container input[type="submit"] {
        line-height: 1 !important;
    }

    .carousel-control-next {
        right: -6px;
    }

    .carousel-control-prev {
        left: -6px;
    }

    .row-reverse-movil {
        flex-direction: column-reverse;
    }

    .row-reverse-movil .sidebar {
        margin-bottom: 30px;
    }

    .widget .sidebar h2.widgettitle {
        position: relative;
        transition: 0.5s;
        cursor: pointer;
    }

    .sidebar .widget h2.widgettitle::after {
        position: absolute;
        content: "\f107";
        font-family: 'Font Awesome 5';
        font-weight: 900;
        right: 15px;
        font-size: 24px;
        cursor: pointer;
        transition: 0.5s;
        width: 44px;
        height: 44px;
        border-radius: 500px;
        background: var(--main-color);
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        top: 0;
    }

    .sidebar .widget h2.widgettitle+ul {
        max-height: 0;
        overflow: hidden;
        transition: .5s;
    }

    .sidebar .widget h2.widgettitle.desplegado::after {
        transform: rotate(180deg);
    }

    .sidebar .widget h2.widgettitle.desplegado+ul {
        max-height: 500px;
    }

    .steps .step {
        max-width: 100%;
    }

    section.proceso.steps .row.mb-4:last-child {
        margin-bottom: 0 !important;
    }

    section.productos article.card .card-body {
        justify-content: center;
        text-align: center;
    }

    .background-main .form-container {
        padding: 30px 0;
    }

    /* CABECERA SINGLE PRODUCTOS */

    .single-productos section.cabecera>.container>.row>.col-12 {
        order: 2;
    }

    .single-productos section.cabecera {
        padding-top: 0;
    }

    .single-productos .form-container {
        margin-top: 30px;
    }

    .cabecera .img.right.bg-seccion-absolute img {
        object-fit: cover;
        display: block;
        width: auto;
        max-width: 500%;
        height: 400px;
        min-height: 100%;
        min-width: 100%;
    }


    .single-productos section.cabecera>.container>.row>.col-12.col-lg-6 {
        margin-top: 35px;
    }

    .single-productos section.cabecera>.container>.row.row-reverse-tablet>.col-12.col-lg-6 {
        margin-top: 0;
    }

    section.banner-datos h3 {
        font-size: 60px;
    }

    .boton {
        padding: 0 15px;
    }

    a.cta-button {
        padding: 15px 20px;
        font-size: 16px;
    }

    .single-productos section.productos {
        margin-top: 45px;
    }

    footer {
        margin-top: 45px;
        padding-top: 45px;
    }

    section.faq {
        margin: 45px 0 45px 0;
    }

    section {
        margin-top: 0;
    }

    section.cabecera h2.h1 {
        font-size: 2rem;
    }

    .site-footer {
        padding-top: var(--space-extra);
        justify-content: center;
        text-align: center;
    }

    .site-footer .logo-footer {
        justify-content: center;
        flex-direction: column;
    }

    #box-social {
        margin-top: var(--space-normal);
        text-align: center;
    }

    #box-social .list-inline li {
        margin-left: var(--space-small);
    }

    .col-newsletter {
        margin-top: var(--space-big);
    }
}

@media only screen and (max-width: 575px) {
    .col-hero-text--form .col-sm-auto {
        justify-content: center;
        text-align: center;
    }

    .col-hero-text--form img {
        margin: 0 auto;
        max-width: 100px;
        margin-bottom: 0;
    }

    .col-hero-text--form h4 {
        text-align: center;
    }

    .col-hero-text--form .gform_footer {
        display: flex;
        justify-content: center;
    }
	
	.contenido-columnas .cuadrado {
    margin-bottom: 50px;
	}
	
	.box-seleccionados {
    margin-bottom: 60px;
	}
}

@media only screen and (max-width: 479px) {
    section.productos article.card {
        min-height: 250px;
    }

    .listado-pfuertes li {
        flex: 0 0 50%;
    }
}