/* BASICS */
/* Body */
body {
    font-size: .9rem !important;
    font-weight: 300;
}
/* TYPOGRAPHY */
.subtitle-txt {
    font-weight: 700;
    font-size: 1.25rem;
}
.txt-bold {
    font-weight: 700 !important;
}
.title-txt {
    font-size: 1.75rem;
}
.sub-title-txt {
    margin-top: 1rem;
    font-size: 1.25rem;
}
/* HEADER */
/* pop-up menu */
.pop-up-menu {
    background-color: rgba(51, 51, 51, .75);
    height: 50px;
    position: fixed;
    top: -82px;
    left: 0;
    right: 0;
    box-shadow: 0 0 7px rgba(0, 0, 0, .75);
    transition: all .4s ease-in-out;
    z-index: 480;
}
.pop-up-menu__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
}
.pop-up-menu-mobile {
    position: fixed;
    top: 0;
    bottom: 0;
    background-color: #333333;
    z-index: 490;
    padding: 7rem 2rem 2rem;
    overflow-x: auto;
    transition: all .5s ease-in-out;
}
.pop-up-menu-mobile-closed {
    left: -100%;
    right: 100%;
}
.pop-up-menu-mobile-open {
    left: 0;
    right: 0;
}
.pop-up-menu-mobile::after {
    content: '';
    height: 2rem;
    display: block;
}
.pop-up-menu-mobile > ul:nth-child(2) > li {
    min-height: 30px;
    margin-bottom: .5rem;
}
.pop-up-menu-mobile > ul:nth-child(2) > li > a {
    font-weight: 400;
    font-size: 1rem;
    height: 100%;
    width: 100%;
    display: inline-block;
}
.pop-up-menu-mobile > ul:nth-child(2) > li:nth-child(4) {
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #ffffff;
    margin-bottom: 1.5rem;
}
.pop-up-menu-mobile-header {
    position: absolute;
    top: 1rem;
    right: 2rem;
    left: 2rem;
    height: 4rem;
    display: flex;
}
.pop-up-menu-mobile-header > li {
    width: 50%;
    height: 100%;
}
.pop-up-menu-mobile-img {
    display: inline-block;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: auto 30px;
    background-position: left center;
}
.pop-up-menu-mobile-close {
    display: inline-block;
    height: 100%;
    width: 100%;
    background-image: url('../img/close.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 20px;
    transition: all .5s ease-in-out;
}
.pop-up-menu-mobile-closed .pop-up-menu-mobile-close {
    left: -100%;
}
.pop-up-menu-mobile-open .pop-up-menu-mobile-close {
    left: 0;
}
.pop-up-menu-mobile-subareas {
    margin-left: 1.5rem;
}
.pop-up-menu-mobile-subareas > li {
    height: 30px;
    margin-top: .5rem;
    position: relative;
}
.pop-up-menu-mobile-subareas > li::after {
    content: '.';
    display: block;
    position: absolute;
    top: -3px;
    left: -9px;
    color: #fff;
}
.pop-up-menu-mobile-subareas > li:first-child {
    margin-top: 1rem;
}
.pop-up-menu-mobile-subareas > li:last-child {
    margin-bottom: 2rem;
}
.pop-up-menu-mobile-subareas > li > a {
    font-size: .9rem;
    height: 100%;
    width: 100%;
}
/* alternative header */
.quick-menu-sectors {
    display: none;
}
.quick-menu-separator {
    display: none;
}
/* home header */
.alternative-header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 400px;
    background-color: #333;
    opacity: .5;
    z-index: 2;
}
.header-home {
    position: relative;
}
.header-home__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 164px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -1;
}
.alternative-header-menu {
    position: relative;
    z-index: 5;
}
.alternative-header {
    height: 400px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-position: center;
}
.alternative-header-title-txt {
    height: calc(334px - 4rem);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 5;
}
.main-menu-logo a, .alternative-menu-logo a {
    height: 50%;
}
.main-menu-logo a > img, .alternative-menu-logo a > img {
    height: 100%;
}
.home-carousel-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(100vh - 162px);
    overflow: hidden;
}
.menu-cover {
    height: calc(100vh - 162px);
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.quick-menu, .alternative-quick-menu {
    position: absolute;
    top: 0;
    right: 0;
}
.quick-menu .quick-menu-separator, .quick-menu-news, .quick-menu-contact {
    display: none;
}
.main-menu-logo,
.alternative-menu-logo,
.pop-up-menu {
    height: 66px;
    display: flex;
    align-items: center;
}
.main-menu-logo a,
.alternative-menu-logo a,
.pop-up-menu a {
    height: 45%;
}
.quick-menu .quick-menu-separator,
.pop-up-menu-list .pop-up-menu-separator,
.quick-menu-news,
.quick-menu-contact,
.pop-up-menu-news,
.pop-up-menu-contact {
    display: none;
}
.quick-menu-es > a,
.quick-menu-en > a,
.pop-up-menu-es > a,
.pop-up-menu-en > a {
    height: 30px;
    width: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.quick-menu-es > a,
.pop-up-menu-es > a {
    position: relative;
}
.quick-menu-es > a::after,
.pop-up-menu-es > a::after {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: calc(50% - 10px);
}
.project-menu {
    display: none;
}
.project-menu-phrase {
    height: calc(100% - 50px - 1rem);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: right;
}
.project-menu-phrase h1 {
    font-size: 1.75rem;
    font-weight: 900;
}
/* mobile menu */
.main-menu-logo > .main-menu-mobile,
.alternative-menu-logo > .main-menu-mobile {
    height: calc(33px - 1rem);
    width: 23px;
    padding: .5rem 1rem;
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
    flex-shrink: 0;
}
.main-menu-mobile > div {
    border-bottom: 1px solid #fff;
}
/* slogan */
.project-menu-subtitle {
    height: 164px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #313B55;
}
.project-menu-subtitle h2 {
    font-weight: 300;
    font-size: 1.25rem;
    text-align: center;
    padding: 2rem;
}
/* sub-menu */
.project-menu-sub {
    display: none;
}
.project-menu-sub-mobile {
    padding: 4rem 2rem;
}
.project-menu-sub-mobile-nav > ul > li > a {
    position: relative;
    font-size: 1rem;
    font-weight: 400;
}
.project-menu-sub-mobile-nav > ul > li > a::after {
    position: absolute;
    content: '';
    display: block;
    right: 0;
    width: 0%;
    margin-right: -2rem;
    height: 1px;
    background-color: #fff;
    transition: all .4s ease-in-out;
}
.project-menu-sub-mobile-nav > ul > li > a:hover::after {
    width: calc(100% + 2rem);
}
.project-menu-sub-mobile-nav > ul > li {
    min-height: 30px;
    margin-bottom: .5rem;
    text-align: right;
    max-width: max-content;
}
.project-menu-sub-mobile-nav > ul {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
/* LOADING */
.loading-project-hover {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loading-project-hover > div {
    height: 13px;
    width: 13px;
    border-radius: 100%;
    background-color: #fff;
    margin-right: 21px;
    animation-name: loadingUp;
    animation-duration: .75s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
/* PAGINATOR */
.paginator {
    margin-bottom: 3rem;
    margin-top: 1rem;
    display: flex;
}
.paginator > button,
.paginator > a,
.paginator > p {
    width: 50%;
    transition: all .4s ease-in-out;
}
.paginator > button > p,
.paginator > a,
.paginator > p {
    font-size: .9rem;
    font-weight: 700;
}
.paginator-prev {
    text-align: right;
    padding-right: 1rem;
}
.paginator-next {
    text-align: left;
    padding-left: 1rem;
}
/* HOME */
.home-news {
    display: none;
}
.home-news-mobile {
    padding: 2rem;
}
.home-news-mobile > a {
    width: 100%;
    display: block;
    margin-top: 2rem;
    position: relative;
}
.home-news-mobile-article > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 250px;
    opacity: 0;
    transition: all .4s ease-in-out;
}
.home-news-mobile-article:hover > div {
    opacity: 1;
    transition: all .4s ease-in-out;
}
.home-news-mobile-article-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
}
.home-news-mobile-article-text {
    margin-top: 1rem;
}
.home-news-mobile-article-text > span {
    font-weight: 700;
    font-size: 1.25rem;
}
/* PROJECTS */
.subarea-description div,
.subarea-description p {
    margin-bottom: .75rem;
}
.subarea-description div:last-child,
.subarea-description p:last-child {
    margin-bottom: initial;
}
.project-list {
    opacity: 0;
    transform: translateY(50%);
}
.project-list__open {
    animation-name: slideUp;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out;
    animation-delay: .25s;
}
.project-list-intro-img {
    display: block;
    width: 100%;
    height: 350px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    font-size: 1.5rem;
    position: relative;
}
.project-list-intro {
    display: block;
}
.project-list-intro-img-wrapper {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    right: 2rem;
    display: flex;
    flex-direction: column;
    z-index: 3;
    transition: all .5s ease-in-out;
}
.project-list-intro-img-intro {
    font-size: .9rem;
    font-weight: 400;
    max-height: 0px;
    height: max-content;
    opacity: 0;
    overflow: hidden;
    transition: all .4s ease-in-out;
}
.project-list-intro-text-category {
    font-size: 1rem;
    font-weight: 600;
    margin-top: 2rem;
}
.project-list-intro-text {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 2rem;
}
.project-list {
    padding-bottom: 2rem;
}
.project-list-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
.project-list-grid .project-list-grid-item {
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.project-list .paginator {
    margin-top: 2rem;
    margin-bottom: initial;
}
/* SINGLE PROJECT */
.project {
    padding: 2rem;
}
.project-details-info {
    font-weight: 700;
    margin-bottom: 2rem;
    opacity: .7;
}
.project-details-main > p {
    margin-bottom: .5rem;
}
.project-details-main > p:last-of-type {
    margin-bottom: initial;
}
.project-details-main a {
    font-weight: 500;
    transition: opacity .4s ease-in-out;
}
.project-details-main a:hover {
    opacity: .5;
}
.project-details-main > .wp-block-image {
    max-width: calc(100% + 4rem);
    margin: 2rem -2rem;
}
.project-details-main > .wp-block-image:last-child {
    margin-bottom: -2.25rem;
}
.project-details-main > .wp-block-image > img {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
    object-position: center;
}
.related-projects {
    padding: 2rem 2rem 0;
}
.related-project {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    width: calc(100% + 4rem);
    height: 200px;
    margin: 2rem 2rem 2rem -2rem;
    display: block;
    position: relative;
}
.our-clients {
    padding-bottom: 3rem;
    text-align: center;
}
.our-clients h5 {
    margin: initial !important;
}
.our-clients__title-wrapper {
    padding: 4rem 1.25rem 2rem;
}
.our-clients-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.our-clients-logos > a {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: calc(50% - 1.5rem);
    margin-top: 1.5rem;
    margin-left: .75rem;
    margin-right: .75rem;
    max-height: 100px;
}
.our-clients-logos > a > img {
    width: 100%;
    height: 100%;
    max-width: 200px;
    object-fit: contain;
    object-position: center;
}
/* NEWS */
.news-list {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 3rem;
    margin-bottom: 3rem;
}
.news-article-preview {
    width: 100%;
    display: block;
    margin-top: 2rem;
    position: relative;
}
.news-article-preview:first-child {
    margin-top: initial;
}
.news-article-preview > img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
}
.news-article-preview-text h2 {
    font-weight: 300;
    font-size: .9rem;
    margin-top: 1rem;
}
.news-article-preview-text p {
    display: none;
}
.news-article-preview-hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 250px;
    opacity: 0;
    transition: all .4s ease-in-out;
}
/* SINGLE NEWS */
.single-news-mobile > p {
    display: none;
}
.article-additional {
    display: none;
}
.article-mobile-info {
    margin-bottom: 2rem;
    margin-top: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
.article-mobile-info__download {
    font-weight: 700;
    display: inline-flex;
    flex-direction: column;
    margin-top: 1rem;
}
.article-mobile-info__download::after {
    display: block;
    content: '';
    width: 100%;
    margin-top: .25rem;
    border-top: 1px solid #333;
    transition: width .4s ease-in-out;
}
.article-mobile-info__download:hover::after {
    width: 0%;
}
.article-contain {
    background-color: #F4F4F4;
    padding: 2rem;
}
.article-contain > p {
    margin-bottom: .75rem;
}
.article-contain > p:last-child {
    margin-bottom: initial;
}
.article-contain a {
    font-weight: 500;
    transition: opacity .4s ease-in-out;
}
.article-contain a:hover {
    opacity: .5;
}
.article-contain > figure {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.article-contain > figure > img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    min-height: 250px;
    max-height: 300px;
}
.article-contain > figure:last-child {
    margin-bottom: initial;
}
.article-related-news {
    display: none;
}
.news-mobile-suggestion {
    padding-top: 3rem;
    padding-bottom: 2rem;
}
.news-mobile-suggestion > .subtitle-txt,
.news-mobile-suggestion > a > p {
    padding-left: 2rem;
    padding-right: 2rem;
}
.news-mobile-suggestion > a {
    margin-top: 2rem;
    display: block;
    position: relative;
}
.news-mobile-suggestion > .subtitle-txt {
    margin-top: initial;
}
.news-mobile-suggestion > a > p {
    margin-top: 1rem;
}
.news-mobile-suggestion > a > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 250px;
    opacity: 0;
    transition: all .4s ease-in-out;
}
.news-mobile-suggestion > a:hover > div {
    opacity: 1;
    transition: all .4s ease-in-out;
}
.contact-form-small-mobile {
    padding: 2rem;
}
.contact-form-small-mobile h2 {
    margin-bottom: 1rem;
}
.contact-form-small-mobile form {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact-form-small-mobile form input,
.contact-form-small-mobile form textarea {
    border-bottom: 1px solid #333;
    font-size: .9rem;
    padding: .5rem;
    flex-shrink: 0;
    width: calc(100% - 1rem);
    box-shadow: 0 0 #D0021B;
    transition: .3s ease-in-out;
}
.contact-form-small-mobile form input {
    margin-bottom: .75rem;
}
.contact-form-small-mobile form textarea {
    height: 55px;
    margin-bottom: 2rem;
}
.contact-form-small-mobile form input:focus::placeholder,
.contact-form-small-mobile form textarea:focus::placeholder {
    opacity: 0;
}
.contact-form-small-mobile > form > .contact-form-small-mobile__submit {
    border-bottom: initial;
    opacity: .25;
    background-color: #FFFFFF;
    color: #333333;
    font-weight: 600;
    width: 100%;
    box-shadow: inset 1px 1px #333333, inset -1px -1px #333333;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: .3s ease-in-out;
    cursor: not-allowed;
    margin-bottom: initial;
}
.contact-form-small-mobile > form > .submit-enabled {
    opacity: 1;
    background-color: #333333;
    color: #FFFFFF;
    cursor: pointer;
}
.contact-form-small-mobile > form > .contact-form-small-mobile__submit:hover {
    background-color: transparent;
    color: #333333;
}
.contact-form-small-mobile__check {
    display: flex;
    align-items: center;
}
.contact-form-small-mobile__check > label > .contact-checkbox__input {
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: -5px;
    right: -5px;
    height: 35px;
    width: 35px;
    margin: initial;
    border-bottom: initial;
}
.contact-form-small-mobile__notes {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.contact-form-small-mobile__obligatory-fields {
    font-size: .75rem;
    text-align: center;
}
.contact-form-small-mobile__success {
    margin-top: 2rem;
    color: #417505;
    text-align: center;
}
.contact-form-small-mobile__success > p:first-child {
    margin-bottom: .5rem;
    font-size: 1.25rem;
    font-weight: 500;
}
.contact-form-small-mobile__error {
    color: #D0021B;
    text-align: center;
    white-space: pre-line;
    overflow: hidden;
    height: auto;
    transition: max-height .4s ease-in-out;
}
.contact-form-small-mobile__error > p {
    margin-top: 2rem;
}
.contact-form-small-mobile__error--show {
    max-height: 100px;
}
.contact-form-small-mobile__error--hide {
    max-height: 0;
}
/* ABOUT GEA */
.about-gea {
    padding: 2rem
}
.about-gea-first-img {
    background-size: cover;
    background-position: center;
    margin: 2rem -2rem;
    min-height: 300px;
}
.about-gea-second-img {
    background-size: cover;
    background-position: center;
    margin: 2rem -2rem;
    min-height: 300px;
}
.about-gea-info p:first-child {
    margin-bottom: 2rem;
    font-weight: 700;
    font-size: 1rem;
}
/* WORK */
.work-with-us > div {
    background-color: #F4F4F4;
    padding: 2rem;
}
.work-with-us > div:nth-child(2n) {
    background-color: initial;
}
.work-with-us > div > a > p:first-of-type {
    margin-top: 1rem;
}
.work-with-us > div > a > p {
    margin-top: .25rem;
}
.work-with-us__empty,
.page-not-found {
    padding: 4rem 2rem;
}
.job-offer {
    display: flex;
    flex-direction: column-reverse;
}
.job-offer-data {
    background-color: #F4F4F4;
    padding: 2rem;
    font-weight: 700;
    font-size: 1.15rem;
    color: #4A4A4A !important;
}
.job-offer-data > h3 {
    font-size: 1.15rem;
    opacity: .7;
    margin-bottom: 1rem;
}
.job-offer-data > ul {
    opacity: .7;
    line-height: 1.6rem;
}
.job-offer-description {
    padding: 2rem;
}
.job-offer-description > p {
    margin-bottom: .75rem;
    line-height: 1.25rem;
}
.job-offer-description > p:last-child {
    margin-bottom: initial;
}
/* LEGAL TEXTES */
.legal-info-content {
    padding: 2rem;
}
.legal-info-content > h2 {
    margin-bottom: 1rem;
    margin-top: 1.5rem;
    font-weight: 700;
    font-size: 1.25rem;
}
.legal-info-content > h2:first-child {
    margin-top: initial;
}
.legal-info-content > p {
    margin-bottom: .75rem;
    line-height: 1.25rem;
}
.legal-info-content > p:last-child {
    margin-bottom: initial;
}
/* CONTACT */
.contact-form {
    padding: 4rem 2rem;
}
.contact-form-main {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
}
.contact-form-main > input,
.contact-form-main > textarea {
    border: initial;
    border-bottom: 1px solid #4A4A4A;
    padding: .75rem;
    font-weight: 400;
    font-size: .9rem;
    margin-bottom: .5rem;
    width: calc(100% - 1.5rem);
    box-shadow: 0 0 #D0021B;
    transition: .3s ease-in-out;
}
.contact-form-main > textarea {
    display: inline-flex;
    align-items: center;
    height: 75px;
}
.contact-form-main > input:focus::placeholder ,
.contact-form-main > textarea:focus::placeholder {
    opacity: 0;
}
.contact-form-main__check,
.contact-form-main__messages {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
}
.contact-form-main__messages {
    flex-direction: column;
    margin-top: 2rem;
}
.contact-form-main__obligatory-fields {
    font-size: .75rem;
    width: 100%;
    text-align: center;
}
.contact-form-main__success {
    margin-top: 2rem;
    color: #417505;
    text-align: center;
}
.contact-form-main__success > p:first-child {
    margin-bottom: .5rem;
    font-size: 1.25rem;
    font-weight: 500;
}
.contact-form-main__error {
    color: #D0021B;
    text-align: center;
    white-space: pre-line;
    overflow: hidden;
    height: auto;
    transition: max-height .4s ease-in-out;
}
.contact-form-main__error > p {
    margin-top: 2rem;
}
.contact-form-main__error--show {
    max-height: 100px;
}
.contact-form-main__error--hide {
    max-height: 0;
}
.contact-form-main > .contact-form-main__submit {
    border-bottom: initial;
    opacity: .25;
    background-color: #FFFFFF;
    color: #333333;
    font-weight: 600;
    box-shadow: inset 1px 1px #333333, inset -1px -1px #333333;
    width: 100%;
    max-width: 400px;
    margin: 3rem auto 0;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: .2s ease-in-out;
    cursor: not-allowed;
}
.contact-form-main > .submit-enabled {
    opacity: 1;
    background-color: #333333;
    color: #FFFFFF;
    cursor: pointer;
}
.contact-form-main > .contact-form-main__submit:hover {
    background-color: transparent;
    color: #333333;
}
.contact-form-main > .submit-disabled {
    opacity: .25;
    background-color: #FFFFFF;
    color: #333333;
}
.contact-terms {
    display: inline-block;
    font-size: .75rem;
    cursor: pointer;
    transition: opacity .4s ease-in-out;
}
.contact-terms:hover {
    opacity: .5;
}
.contact-checkbox {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    height: 20px;
    width: 20px;
    box-shadow: inset 1px 1px #333333, inset -1px -1px #333333;
    margin-right: .75rem;
    cursor: pointer;
}
.contact-checkbox__input {
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: -5px;
    right: -5px;
    height: 30px;
    width: 30px;
    margin: initial;
}
.contact-checkbox__check {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    width: 20px;
    background-image: url("../img/check.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 75%;
    opacity: 0;
    transition: opacity .4s ease-in-out;
}
.contact-checkbox__input:checked ~ .contact-checkbox__check {
    opacity: 1;
}
.contact-address {
    padding-top: 4rem;
    padding-bottom: 2rem;
}
.contact-address-container {
    padding-left: 2rem;
    padding-right: 2rem;
    width: calc(100% - 4rem);
    margin: 0 auto;
}
.contact-address-container h2 {
    margin-bottom: 1rem;
    width: 100%;
    text-align: left;
}
.contact-addresses {
    display: flex;
    flex-wrap: wrap;
}
.contact-addresses > button {
    color: #fff;
    font-weight: 300;
    font-size: .9rem;
    text-align: left;
    padding: 2rem;
    border-left: 1px solid transparent;
    opacity: .4;
    transition: all .4s ease-in-out;
    position: relative;
}
.contact-address-line {
    height: 0;
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
    bottom: 2rem;
    transition: all .4s ease-in-out;
}
.contact-address-active .contact-address-line {
    height: calc(100% - 4rem);
    transition: all .4s ease-in-out;
}
/* CONTACT footer*/
.contact-bg-hover {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    background-image: linear-gradient(134deg, #3023AE, #D8927B);
    opacity: .3;
}
.contact-bg a {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}
.contact-subtitle {
    padding: 3rem 2rem;
    font-size: 1.5rem;
    line-height: 2rem;
}
/* CONTACT footer*/
.contact-info {
    margin: 0 auto;
    padding-top: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: 0 0 5px rgba(0, 0, 0, .5);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 6rem);
    max-width: 400px;
    text-align: center;
}
.contact-info > div:first-child > p {
    font-size: 1rem;
    line-height: 1.5rem;
}
.contact-info > div:first-child > p:first-of-type {
    margin-bottom: 1rem;
}
.contact-info-title {
    font-size: 1.1rem;
    line-height: 1.5rem;
    font-weight: 700;
}
.contact-info-button {
    padding: .75rem 1rem;
    background-color: #D8927B;
    font-weight: 600;
    margin-top: 1.5rem;
}
.contact-name {
    font-weight: 600;
}
/* SEARCH RESULTS */
.search-results-list {
    padding-top: 3rem;
    margin-bottom: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
.search-results-list > p {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.75rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.search-results-link {
    position: relative;
    display: block;
    width: 100%;
}
.search-results-link-hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 250px;
    opacity: 0;
    transition: all .4s ease-in-out;
}
.search-results-link {
    margin-top: 2rem;
}
.search-results-link > img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
}
.search-results-link-text > h2 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.75rem;
    margin-bottom: .5rem;
}
/* FOOTER */
footer > section {
    margin: 0 auto;
    width: 75vw;
    padding-top: 3rem;
    padding-bottom: 3rem;
    line-height: 1.5rem;
}
.footer-grid-container {
    display: grid;
    grid-template-columns: 1fr;
}
.footer-grid-item1 {
    margin-bottom: .75rem;
}
.footer-grid-item3, .footer-grid-item5 {
    margin-bottom: .75rem;
    margin-top: 2rem;
}
.footer-grid-item7 {
    margin-top: .75rem;
}
.footer-grid-item9 {
    margin-top: 2rem;
}
.footer-grid-item8 {
    margin-top: 4rem;
}
.footer-grid-item8 > div > a {
    margin-right: 1rem;
    margin-left: 1rem;
}
.footer-grid-item8 > div > a:first-child {
    margin-left: initial;
}
.footer-grid-item8 > div > a:last-child {
    margin-right: initial;
}
.footer-grid-item8 > div > a > img {
    height: 30px;
}
.footer-search {
    width: calc(100% - 1rem - 30px);
    height: calc(30px - .5rem);
    padding: .25rem .5rem;
    font-size: .9rem;
}
.footer-search-button {
    height: 30px;
    width: 30px;
    background-color: #4A4A4A;
    background-image: url('../img/lupa.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
    transition: all .4s ease-in-out;
}
.footer-grid-item10 {
    margin-top: .75rem;
}
.footer-grid-item10 form {
    display: inline-flex;
}
/* COOKIES */
.cookies {
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    right: 1rem;
    padding: 2rem;
    max-width: calc(350px - 4rem);
    background-color: #D8927B;
    color: #FFFFFF;
    z-index: 100;
    transition: .75s ease-in-out;
}
.cookies > h4 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 1rem;
}
.cookies > p {
    font-size: .9rem;
    line-height: 1.25rem;
}
.cookies > p:last-of-type > a {
    color: #FFFFFF;
    font-weight: 500;
    text-decoration: underline;
    cursor: pointer;
    padding: .5rem 2rem .5rem 0;
    transition: opacity .4s ease-in-out;
}
.cookies > p:last-of-type > a:hover {
    opacity: .5;
}
.cookies > button {
    position: relative;
    color: #333333;
    background-color: #FFFFFF;
    padding: .5rem 1rem;
    font-weight: 700;
    margin-top: 2rem;
    font-size: .9rem;
    transition: .75s ease-in-out;
}
.cookies > button:hover {
    background-color: #3023AE;
    color: #FFFFFF;
}
.hide-cookies {
    bottom: -110%;
}
.opacity-1 {
    opacity: 1;
}
/* ReCaptcha */
.contact-form > p,
.contact-form-small-mobile > p {
    font-size: .75rem;
    text-align: center;
    margin-top: 3rem;
    line-height: 1.25rem;
}
.contact-form > p > a,
.contact-form-small-mobile > p > a {
    text-decoration: underline;
    transition: opacity .4s ease-in-out;
}
.contact-form > p > a:hover,
.contact-form-small-mobile > p > a:hover {
    opacity: .5;
}

/* 404 */
.page-not-found > p:last-child {
    margin-top: 1rem;
}
.page-not-found > p > a {
    position: relative;
}
.page-not-found > p > a::after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    border-top: 1px solid #333333;
    left: 0;
    bottom: 0;
    transition: width .4s ease-in-out;
}
.page-not-found > p > a:hover::after {
    width: 0;
}