/* font-size */
h2 {
    font-size: 1rem;
}
.title-txt {
    font-weight: 700;
    font-size: 2.25rem;
}
.sub-title-txt {
    font-size: 1.25rem;
    font-weight: 300;
}
.subtitle-txt {
    font-weight: 700;
    font-size: 1.4rem;
}
.contact-info-title {
    font-weight: 800;
    font-size: 1rem;
}
.contact-info-button {
    font-weight: 600;
}
.contact-subtitle {
    font-weight: 300;
    font-size: 1.5rem;
}
.contact-name {
    font-weight: 600;
}
.w-space {
    white-space: pre-line;
}
/* BASICS */
.container {
    max-width: calc(1920px - 16px);
    margin: 0 auto;
}
/* Body */
body {
    font-size: .9rem !important;
}
/* contact line */
.contact-bg-hover {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    background-image: linear-gradient(134deg, #3023AE, #D8927B);
    opacity: .3;
    transition: all .3s ease-in-out;
}
.contact-bg:hover .contact-bg-hover {
    opacity: 1;
}
.contact-bg:hover .contact-info-button {
    background-color: #3023AE;
}
.contact-bg a {
    padding-left: 8rem;
    padding-right: 8rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
    display: flex;
    align-items: center;
    position: relative;
}
.contact-subtitle {
    width: calc(50% - 2rem);
}
.contact-info {
    position: absolute;
    bottom: 0;
    right: 8rem;
    min-height: 100%;
    padding: 2rem 2rem 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .5);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    max-width: calc(50% - 4rem);
}
.contact-info div:first-child {
    width: 100%;
}
.contact-info div:first-child p:first-child {
    margin-bottom: .5rem;
}
.contact-info-button {
    padding: .5rem 1rem;
    transition: all .3s ease-in-out;
    background-color: #D8927B;
    margin-top: 1rem;
}
/* carousel */
.carousel {
    margin-left: 8rem;
    margin-right: 8rem;
}
.owl-carousel {
    width: 100%;
    margin-top: 2rem;
    position: relative;
}
.carousel-item {
    width: 100%;
    display: block;
    position: relative;
}
.carousel-hover {
    position: absolute;
    top: 0;
    left: 0;
    right: -1px;
    height: 200px;
    opacity: 0;
    transition: all .3s ease-in-out;
}
.carousel-item:hover .carousel-hover {
    opacity: 1;
}
.carousel-item-img {
    width: calc(100% + 1px) !important;
    height: 200px;
    object-fit: cover;
    object-position: center;
    margin-bottom: 2rem;
}
.carousel-item-txt {
    font-weight: 300;
    font-size: .9rem;
    margin-left: 2rem;
    margin-right: 2rem;
}
.carousel-item-txt span {
    font-weight: 700;
    font-size: 1.5rem;
    margin-right: .5rem;
}
.owl-stage .active:nth-child(even) .carousel-item {
    margin-top: 2rem;
}
.owl-nav {
    position: absolute;
    top: calc((200px + 2rem) / 2);
    left: -3rem;
    right: -3rem;
    display: flex;
    justify-content: space-between;
    height: 0;
    display: flex;
    align-items: center;
}
.owl-prev, .owl-next {
    font-size: 2rem !important;
    font-weight: 300 !important;
    color: #767676 !important;
    opacity: .6;
    height: 100px;
    width: 3rem;
    background-color: #fff;
    display: inline-flex;
    align-items: center;
    transition: all .3s ease-in-out;
}
.owl-prev:hover,
.owl-next:hover {
    opacity: .25;
}
.owl-prev {
    justify-content: flex-start;
}
.owl-next {
    justify-content: flex-end;
}
.disabled {
    opacity: 0 !important;
}
/* PAGINATOR */
.paginator {
    border-top: 1px solid #4A4A4A;
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-left: 8rem;
    margin-right: 8rem;
    margin-bottom: 6rem;
}
.paginator > button,
.paginator > a,
.paginator > p {
    width: calc(100% - 1rem);
    display: block;
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition: all .3s ease-in-out;
}
.paginator > button {
    width: 100%;
}
.paginator > a,
.paginator > p {
    width: calc(100% - 1rem);
}
.paginator > button > p,
.paginator > a,
.paginator > p {
    font-size: 1rem;
    font-weight: 700;
}
.paginator-prev {
    text-align: right;
    padding-right: 1rem;
    grid-column: 1 / 2;
}
.paginator-next {
    text-align: left;
    padding-left: 1rem;
    grid-column: 2 / 3;
}
/* HEADER */
/* Pop-Up Menu */
.pop-up-menu-mobile {
    display: none;
}
.pop-up-menu {
    background-color: rgba(51, 51, 51, .75);
    height: 75px;
    position: fixed;
    top: -82px;
    left: 0;
    right: 0;
    box-shadow: 0 0 7px rgba(0, 0, 0, .75);
    transition: all .3s ease-in-out;
    z-index: 500;
}
.pop-up-menu__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 2rem;
    height: 100%;
}
.pop-up-menu a img {
    height: 33px;
}
.pop-up-menu-list {
    display: flex;
    font-size: .9rem;
}
.quick-menu {
    position: relative;
}
.pop-up-menu-separator, .quick-menu-separator {
    margin: 0 .5rem
}
.pop-up-menu-contact, .quick-menu-contact {
    margin-right: 1.5rem;
}
.pop-up-menu-list li a::after, .quick-menu-list li a::after, .quick-menu-link a::after {
    content: '';
    display: block;
    width: 0%;
    height: 1px;
    border-top: 1px solid #fff;
    transition: all .3s ease-in-out;
}
.pop-up-menu-list li:hover a::after, .quick-menu-list li:hover a::after, .quick-menu-link:hover a::after {
    width: 100%;
}
/* Main Header */
.main-menu-mobile {
    display: none;
}
.header-home-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 20%;
    background-color: #333;
    opacity: .5;
    z-index: 2;
}
.header-home {
    height: 100vh;
    min-height: 700px;
    position: relative;
}
.header-home__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 20%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.menu-cover {
    height: 80%;
    display: grid;
    grid-template-columns: 1fr 4fr;
    grid-template-rows: 90px calc(100% - 90px);
    grid-template-areas:
        'menuLogo quickMenu'
        'projectMenu subMenu'
}
.main-menu-logo {
    grid-area: menuLogo;
    padding-left: 2rem;
    padding-top: 2rem;
    position: relative;
    z-index: 2;
}
.main-menu-logo a {
    height: 100%;
}
.main-menu-logo a img {
    width: 135px;
}
.quick-menu {
    grid-area: quickMenu;
    display: flex;
    justify-content: flex-end;
}
.quick-menu-list {
    display: flex;
    justify-content: flex-end;
    padding-right: 2rem;
    padding-top: 2rem;
    font-weight: 400;
    font-size: .9rem;
}
.project-menu {
    grid-area: projectMenu;
    position: relative;
}
.project-menu-list {
    padding-left: 2rem;
    padding-top: 3rem;
    display: flex;
    flex-direction: column;
    font-weight: 400;
    font-size: .9rem;
}
.project-menu-list li {
    margin-bottom: .5rem;
    display: inherit;
}
.project-menu-list li a::after {
    content: '';
    display: block;
    width: 0%;
    margin-left: -2rem;
    height: 1px;
    background-color: #fff;
    transition: all .3s ease-in-out;
}
.project-menu-list li:hover a::after {
    width: calc(100% + 2rem);
}
.industry-and-energy-main .project-menu-list li:nth-child(3) a::after {
    width: calc(100% + 2rem);
}
.civil-work-main .project-menu-list li:nth-child(1) a::after {
    width: calc(100% + 2rem);
}
.building-main .project-menu-list li:nth-child(2) a::after {
    width: calc(100% + 2rem);
}
.consulting-main .project-menu-list li:nth-child(4) a::after {
    width: calc(100% + 2rem);
}
.project-menu-sub-mobile {
    display: none;
}
.project-menu-sub, .project-menu-sub-home {
    grid-area: subMenu;
    padding-right: 2rem;
    padding-left: 2rem;
    position: relative;
    z-index: 5;
}
@media screen and (min-width: 1200px) {
    .project-menu-sub {
        padding-right: calc(2rem + 260px);

    }
}
.project-menu-phrase {
    display: flex;
    justify-content: center;
    align-items: center;
}
.project-menu-phrase h1 {
    width: 100%;
    padding-left: 2rem;
    padding-right: 8rem;
    font-weight: 700;
    font-size: 2rem;
    text-align: right;
}
.project-menu-subtitle {
    height: 20%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #313B55;
}
.project-menu-subtitle h2 {
    font-weight: 300;
    font-size: 1.5rem;
    text-align: center;
    padding-left: 4rem;
    padding-right: 4rem;
}
.project-menu-sub-nav {
    display: flex;
    justify-content: flex-start;
}
@media screen and (min-width: 1200px) {
    .project-menu-sub-nav {
        justify-content: center;
    }
}
.project-menu-sub-nav ul {
    display: flex;
    border-top: 1px solid #fff;
    padding-top: .75rem;
}
.project-menu-sub-nav ul li {
    position: relative;
    cursor: pointer;
}
.project-menu-sub-nav ul li h2 {
    font-weight: 400;
    font-size: .9rem;
}
.project-menu-sub-separator {
    margin: 0 .5rem;
}
.project-menu-sub-triangle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
}
.project-menu-sub-triangle::after {
    content: '';
    width: 0; 
    height: 0; 
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 14px solid rgba(255, 255, 255, .75);
    margin-top: .5rem;
    visibility: hidden;
    opacity: 0;
    transition: all .5s ease-in-out .25s;
}
.project-menu-sub-hover {
    position: absolute;
    width: calc(250px - 3rem);
    left: calc(50% - 125px);
    visibility: hidden;
    opacity: 0;
    transition: all .5s ease-in-out .25s;
}
.project-menu-sub-nav ul li:first-child div div:first-of-type {
    left: 0;
}
.project-menu-sub-nav ul li:last-child div div:last-of-type {
    left: initial;
    right: 3rem;
}
.project-menu-sub-hover-info {
    background-color: rgba(255, 255, 255, .7);
    width: 100%;
    height: 245px;
    padding: 1.5rem;
    line-height: 1.25rem;
    box-shadow: 0px 3px 6px rgba(0,0,0,.25);
    color: #333;
}
.project-menu-sub-hover-info p {
    overflow: hidden;
}
.project-menu-sub-hover-button {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-content: center;
    padding: 1rem 1.5rem;
    margin-top: 1rem;
    text-transform: uppercase;
    transition: all .3s ease-in-out;
}
.project-menu-sub-hover-button p {
    font-weight: 600;
    font-size: .9rem;
}
.project-menu-sub-nav ul li div:hover .project-menu-sub-triangle::after, .project-menu-sub-nav ul li div:hover .project-menu-sub-hover {
    visibility: visible;
    opacity: 1;
}
.project-hover-bg {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    background-color: #D8927B;
    box-shadow: 0px 3px 6px rgba(0,0,0,.25);
    transition: all .3s ease-in-out;
}
.project-menu-sub-hover-button:hover .project-hover-bg {
    top: -1rem;
    height: calc(100% + 3rem);
}
.project-hover-gradient {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    background-image: linear-gradient(134deg, #3023AE, #D8927B);
    opacity: .3;
    transition: all .3s ease-in-out;
}
.project-menu-sub-hover-button:hover .project-hover-gradient  {
    top: -1rem;
    height: calc(100% + 3rem);
    opacity: 1;
}
.project-menu-sub-hover-button p {
    z-index: 500;
}
.project-menu-sub-hover-arrow {
    position: absolute;
    background-image: url('../img/arrow-down.svg');
    background-repeat: no-repeat;
    background-position: center;
    height: 25px;
    width: 10px;
    z-index: 500;
    bottom: -1rem;
    left: calc(50% - 5px) !important;
    transform: scaleY(0);
    transform-origin: top;
    transition: all .3s ease-in-out;
}
.project-menu-sub-hover-button:hover .project-menu-sub-hover-arrow {
    transform: scaleY(1);
}

/* LOADING */
.loading-project-hover {
    position: absolute;
    bottom: -1rem;
    height: 25px;
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    z-index: 9;
}
.loading-project-hover > div {
    height: 7px;
    width: 7px;
    border-radius: 100%;
    margin-right: 7px;
    background-color: #fff;
    animation-name: loadingUp;
    animation-duration: .75s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.project-menu-sub-nav li:last-child .loading-project-hover {
    right: 0 !important;
}
/* Alternative Header */
.alternative-header {
    height: calc(400px + 1.5rem);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}
.alternative-header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #333;
    opacity: .5;
    z-index: 2;
}
.alternative-header-menu {
    height: calc(90px - 2rem);
    padding-top: 2rem;
    padding-bottom: 1.5rem;
    position: relative;
    z-index: 7;
}
.alternative-header-menu__wrapper {
    display: flex;
    justify-content: space-between;
    padding-left: 2rem;
    padding-right: 2rem;
}
.alternative-menu-logo {
    display: inline-flex;
    height: 100%;
    align-items: center;
}
.pop-up-menu-logo {
    height: 100%;
}
.alternative-menu-logo > a > img {
    width: 110px;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.alternative-quick-menu-list {
    display: flex;
    justify-content: flex-end;
}
.quick-menu-sectors {
    position: relative;
    margin-top: -2rem;
    margin-right: 2rem;
    height: calc(90px + 1.5rem);
    width: 170px;
    transition: all .3s ease-in-out;
}
.quick-menu-sectors-gradient-bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(135deg, rgba(48, 35, 174, .7), rgba(216, 146, 123, .7));
    opacity: 1;
    transition: all .3s ease-in-out;
}
.quick-menu-sectors-grey-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 114px;
    background-color: rgba(74, 74, 74, .5);
    opacity: 0;
    transition: all .3s ease-out;
    display: inline-flex;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.quick-menu-sectors:hover .quick-menu-sectors-gradient-bg {
    opacity: 0;
}
.quick-menu-sectors:hover .quick-menu-sectors-grey-bg {
    opacity: 1;
}
.submenu-open {
    opacity: 1;
    height: calc(114px - 43px);
    transition: all .3s ease-out;
}
.quick-menu-sectors-title {
    position: absolute;
    width: 100%;
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 5rem;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-weight: 800;
    font-size: .9rem;
    z-index: 5;
}
.alternative-header-title {
    position: relative;
    height: calc(400px - 90px);
    display: flex;
    padding-left: 8rem;
    padding-right: 8rem;
    z-index: 5;
}
.alternative-header-title-txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: 75%;
}
.alternative-header-title-txt p {
    margin-top: .5rem;
}
.sectors-submenu {
    position: absolute;
    bottom: 0;
    left: calc(-230px + 85px);
    width: max-content;
    height: 0px;
    overflow: hidden;
    display: inline-flex;
    align-items: flex-end;
    background-color: rgba(74, 74, 74, .5);
    transition: all .3s ease-out;
}
.sectors-submenu-list {
    display: flex;
    align-items: center;
    height: 42px;
    align-content: center;
    padding-left: 1rem;
    padding-right: 1rem;
    opacity: 0;
    z-index: 550;
    transition: all .3s ease-in-out;
}
.sectors-submenu-list li a {
    color: #fff;
    font-weight: 400;
}
.sectors-submenu-list li a::after {
    content: '';
    display: block;
    width: 0%;
    height: 1px;
    border-top: 1px solid #fff;
    transition: all .3s ease-in-out;
}
.sectors-submenu-list li:hover a::after {
    width: 100%;
}
.sectors-submenu .quick-menu-separator {
    font-weight: 400;
}
.submenu-triangle {
    width: 0; 
    height: 0; 
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 11px solid rgba(255, 255, 255, .75);
    margin-top: .5rem;
    opacity: 0;
    transition: all .3s ease-out;
}
.contact-checkbox-g:checked + label .contact-check {
    background-image: url('../img/check.svg');
}
.contact-checkbox-g {
    position: absolute;
    left: -3px;
    height: 30px;
    width: 30px;
    margin: initial;
    opacity: 0;
}
/* HOME */
.home-carousel-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 20%;
    overflow: hidden;
}
.home-news {
    margin-top: 4rem;
    margin-bottom: 4rem;
}
.home-news-mobile {
    display: none;
}
/* PROJECT LIST */
.active-project-list {
    cursor: default !important;
}
.active-project-list .project-menu-sub-triangle::after {
    visibility: visible;
    opacity: 1;
}
.active-project-list .project-menu-sub-hover {
    visibility: visible;
    opacity: 1;
}
.active-list .project-hover-gradient {
    top: -1rem;
    height: calc(100% + 3rem);
    opacity: 1;
}
.active-list .project-menu-sub-hover-button p {
    z-index: 500;
}
.active-list .project-menu-sub-hover-arrow {
    bottom: -1rem;
    transform: scale(1);
}
.active-list .project-hover-bg {
    top: -1rem;
    height: calc(100% + 3rem);
}
.project-list {
    padding-left: 8rem;
    padding-right: 8rem;
    margin-bottom: 8rem;
    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 {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1rem;
    margin-bottom: 4rem;
}
.project-list-intro-text {
    width: calc(100% - 1.5rem);
    text-align: left;
    padding-top: 4rem;
    padding-left: 1.5rem;
    align-self: end;
    grid-column: 2 / 3;
}
.project-list-intro-text-category {
    font-size: 1rem;
    font-weight: 600;
}
.project-list-intro-img {
    display: block;
    width: calc(100% + 8rem);
    margin-right: .5rem;
    margin-left: -8rem;
    min-height: 350px;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    font-size: 1.5rem;
    position: relative;
}
.project-list-intro-img-wrapper {
    position: absolute;
    left: 8rem;
    right: 2rem;
    bottom: 4rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 3;
    transition: all .5s ease-in-out;
}
.project-list-intro-img-title {
    font-weight: 900;
    text-align: right;
    transition: all .5s ease-in-out;
}
.project-list-intro-img-intro {
    font-size: .9rem;
    font-weight: 400;
    text-align: right;
    max-height: 0px;
    height: max-content;
    opacity: 0;
    overflow: hidden;
    transition: all .3s ease-in-out;
}
/* subarea description */
.subarea-description div,
.subarea-description p {
    margin-bottom: .75rem;
}
.subarea-description div:last-child,
.subarea-description p:last-child {
    margin-bottom: initial;
}
.project-list-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    min-height: 250px;
}
.project-list-grid .loading-project-hover {
    position: absolute;
    top: 0;
    height: 100%;
    background-color: rgba(255, 255, 255, .9);
}
.project-list-grid .loading-project-hover > div {
    background-image: linear-gradient(135deg, rgba(48, 35, 174, 1), rgba(216, 146, 123, 1));
    height: 20px;
    width: 20px;
    margin-right: 20px;
}
.project-list-grid .loading-project-hover > div:last-child {
    margin-right: initial;
}
.project-list-grid-item {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.project-list-grid .project-list-grid-item:nth-child(6n+1) {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    height: 250px;
}
.project-list-grid .project-list-grid-item:nth-child(6n+2) {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    height: 250px;
}
.project-list-grid .project-list-grid-item:nth-child(6n+3) {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    height: calc(500px + 1rem);
}
.project-list-grid .project-list-grid-item:nth-child(6n+4) {
    grid-row: 3 / 5;
    grid-column: 1 / 2;
    height: calc(500px + 1rem);
}
.project-list-grid .project-list-grid-item:nth-child(6n+5) {
    grid-row: 3 / 4;
    grid-column: 2 / 3;
    height: 250px;
}
.project-list-grid .project-list-grid-item:nth-child(6n) {
    grid-row: 4 / 5;
    grid-column: 2 / 3;
    height: 250px;
}
.project-list-grid .project-list-grid-item:first-child .project-list-grid-item-wrapper {
    text-align: right;
}
.project-list-grid .project-list-grid-item:nth-child(2) .project-list-grid-item-wrapper {
    text-align: right;
}
.project-list-grid .project-list-grid-item:nth-child(4) .project-list-grid-item-wrapper {
    text-align: right;
}
/* PROJECT */
.project-details {
    padding-left: 8rem;
    padding-right: 8rem;
    padding-top: 4rem;
    display: flex;
    margin-bottom: 10rem;
}
.project-details-info {
    width: 200px;
    flex-shrink: 0;
    font-weight: 700;
    opacity: .7;
    padding-bottom: 2rem;
}
.project-details-main {
    margin-left: 2rem;
    width: calc(100% - 200px - 2rem);
    padding-bottom: 4rem;
}
.project-details-main p {
    margin-bottom: .75rem;
    line-height: 1.25rem;
}
.project-details-main p:last-child {
    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 {
    width: calc(100% + 8rem);
    margin-right: -8rem;
    min-height: 350px;
    max-height: 1000px;
    height: max-content;
    margin-top: 2rem;
    margin-bottom: 2rem;
    margin-left: initial;
}
.project-details-main .wp-block-image:last-child {
    margin-bottom: -10rem;
}
.project-details-main .wp-block-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.project-details-main ul {
    padding-left: 1rem;
    margin-bottom: .75rem;
}
.project-details-main ul li {
    list-style-position: outside;
    list-style-image: none;
    position: relative;
}
.project-details-main ul li:before {
    content:''; 
    display:inline-block; 
    height: .5rem; 
    width: .5rem; 
    background-image:url('../img/list-point.svg'); 
    background-size:contain; 
    background-repeat:no-repeat; 
    padding-left: 2rem; 
    position: absolute;
    left: -15px;
    top: 6px;
}
.related-projects {
    margin-left: 8rem;
    margin-right: 8rem;
    margin-bottom: 6rem;
}
.related-projects h3 {
    margin-bottom: 2rem;
}
.related-projects-list {
    display: flex;
    justify-content: space-between;
}
.related-project {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    width: calc(50% - 2rem);
    height: 250px;
}
.our-clients {
    text-align: center;
    padding-bottom: 4rem;
}
.our-clients h5 {
    text-align: center;
    margin: initial;
}
.our-clients__title-wrapper {
    padding: 8rem 8rem 2rem;
}
.our-clients-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2rem;
    padding-right: 8rem;
    padding-left: 8rem;
}
.our-clients-logos > a {
    align-self: center;
    margin: 2rem 1rem 0;
    max-width: calc(25% - 2rem);
    max-height: 200%;
}
.our-clients-logos a img {
    width: 100%;
    height: 100%;
    max-height: 50px;
    object-fit: contain;
    object-position: center;
}
/* ABOUT GEA */
.about-gea {
    display: grid;
    grid-template-columns: 2fr 1fr 2fr;
    grid-template-areas:
        'textOne imgOne imgOne'
        'textTwo textTwo textTwo'
        'imgTwo imgTwo textThree';
    border-collapse: collapse;
    padding-left: 8rem;
    padding-right: 8rem;
    margin-bottom: 8rem;
}
.about-gea-intro {
    grid-area: textOne;
    padding: 4rem 2rem 4rem 0;
}
@media screen and (min-width: 1200px) {
    .about-gea-intro {
        padding: 4rem 2rem 4rem 4rem;
    }
}
.about-gea-first-img {
    grid-area: imgOne;
    background-size: cover;
    background-position: center;
    margin-right: -8rem;
}
.about-gea-text {
    grid-area: textTwo;
    padding: 4rem 0;
}
@media screen and (min-width: 1200px) {
    .about-gea-text {
        padding: 4rem;
    }
}
.about-gea-second-img {
    grid-area: imgTwo;
    background-size: cover;
    background-position: center;
    margin-left: -8rem;
}
.about-gea-info {
    grid-area: textThree;
    padding: 4rem 0 4rem 2rem;
}
@media screen and (min-width: 1200px) {
    .about-gea-info {
        padding: 4rem 4rem 4rem 2rem;
    }
}
.about-gea-info p:first-child {
    margin-bottom: 1rem;
    font-weight: 700;
    font-size: 1rem;
}


/* WORK WITH US */
.work-with-us {
    display: flex;
    width: 100vw;
    flex-wrap: wrap;
    min-height: calc(100vh - 424px - 260px - 15px);
}
.work-with-us div {
    width: 50vw;
    display: flex;
    height: max-content;
}
.work-with-us div:nth-child(2n+1) {
    justify-content: flex-end !important;
}
.work-with-us div:nth-child(2n) .work-with-us-container {
    padding-left: 2rem;
    padding-right: 8rem;
}
.work-with-us div:nth-child(2n+1) .work-with-us-container {
    padding-left: 8rem;
    padding-right: 2rem;
}
.work-with-us div:nth-child(4n+2), .work-with-us div:nth-child(4n+3) {
    background-color: #F4F4F4;
}
.work-with-us-container {
    max-width: 960px;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.work-with-us-container h2 {
    margin-bottom: 1rem;
}
.work-with-us__empty,
.page-not-found {
    padding: 8rem;
}

/* NEWS */
.news {
    padding-right: 8rem;
    padding-left: 8rem;
    padding-top: 2rem;
    margin-bottom: 6rem;
}
.news-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.news-article-preview {
    width: 50%;
    position: relative;
}
.news-article-preview-hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 350px;
    opacity: 0;
    transition: all .3s ease-in-out;
}
.news-article-preview:nth-child(2n + 1) {
    margin-top: 4rem;
}
.news-article-preview:nth-child(2n) {
    margin-top: 8rem;
}
.news-article-preview img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center;
}
.news-article-preview-text {
    padding-right: 4rem;
}
.news-article-preview-text h2 {
    font-weight: 300;
    font-size: .9rem;
    margin-top: 2rem;
}
.news-article-preview-text p {
    font-weight: 300;
    margin-top: 1rem;
}
.article-mobile-info {
    display: none;
}
/* ARTICLE */
.news-mobile-suggestion {
    display: none;
}
.contact-form-small-mobile {
    display: none;
}
.article {
    padding-right: 8rem;
    padding-left: 8rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
    display: flex;
}
.article-contain {
    width: calc(100% - 200px - 4rem);
    margin-right: 4rem;
}
.article-contain p {
    margin-bottom: .75rem;
    line-height: 1.25rem;
    max-width: 875px;
    margin-left: auto;
}
.article-contain p:last-child {
    margin-bottom: initial;
}
.article-contain ul {
    padding-left: 1rem;
    margin-bottom: .75rem;
}
.article-contain ul li {
    list-style-position: outside;
    list-style-image: none;
    position: relative;
}
.article-contain ul li:before {
    content:''; 
    display:inline-block; 
    height: .5rem; 
    width: .5rem; 
    background-image:url('../img/list-point.svg'); 
    background-size:contain; 
    background-repeat:no-repeat; 
    padding-left: 2rem; 
    position: absolute;
    left: -15px;
    top: 6px;
}
.article-contain a {
    font-weight: 500;
    transition: opacity .4s ease-in-out;
}
.article-contain a:hover {
    opacity: .5;
}
.article-contain .wp-block-image {
    margin-top: 1.75rem;
    margin-bottom: 2rem;
    margin-left: -8rem;
    margin-right: 0;
    max-width: calc(100% + 8rem);
}
.article-contain .wp-block-image > img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    min-height: 250px;
    max-height: 500px;
}
.article-additional {
    width: 200px;
    display: flex;
    flex-direction: column;
}
.article-info {
    margin-bottom: 6rem;
}
.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-category-title {
    font-weight: 300;
    font-size: 1.1rem;
}
.contact-form-small h2 {
    margin-bottom: 1rem;
}
.contact-form-small form {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact-form-small form input,
.contact-form-small 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 form input {
    margin-bottom: .75rem;
}
.contact-form-small form textarea {
    height: 55px;
    margin-bottom: 2rem;
}
.contact-form-small form input:focus::placeholder,
.contact-form-small form textarea:focus::placeholder {
    opacity: 0;
}
.contact-form-small > form > .contact-form-small__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-bottom: 1rem;
    padding-top: 1rem;
    transition: .3s ease-in-out;
    cursor: not-allowed;
}
.contact-form-small > form > .submit-enabled {
    opacity: 1;
    background-color: #333333;
    color: #FFFFFF;
    cursor: pointer;
}
.contact-form-small > form > .contact-form-small__submit:hover {
    background-color: #FFFFFF;
    color: #333333;
}
.contact-form-small__check {
    display: flex;
    align-items: center;
}
.contact-form-small__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__notes {
    margin-top: 1rem;
    margin-bottom: 2rem;
}
.contact-form-small__obligatory-fields {
    font-size: .75rem;
}
.contact-form-small__success {
    margin-top: 1rem;
    color: #417505;
}
.contact-form-small__success > p:first-child {
    margin-bottom: .5rem;
    font-size: 1.25rem;
    font-weight: 500;
}
.contact-form-small__error {
    color: #D0021B;
    white-space: pre-line;
    overflow: hidden;
    height: auto;
    transition: max-height .4s ease-in-out;
}
.contact-form-small__error > p {
    margin-top: 1rem;
}
.contact-form-small__error--show {
    max-height: 100px;
}
.contact-form-small__error--hide {
    max-height: 0;
}
.article-related-news {
    background-color: #F4F4F4;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
/* CONTACT */
.contact-form {
    margin-top: 6rem;
    margin-bottom: 4rem;
    padding-left: 8rem;
    padding-right: 8rem;
}
.contact-form-main {
    display: grid;
    grid-template-columns: repeat(2, 3fr) 2fr;
    grid-template-rows: repeat(4, 42px);
    grid-row-gap: .5rem;
    grid-column-gap: 4rem;
    margin-top: 4rem;
}
@media screen and (max-width: 1050px) {
    .contact-form-main {
        grid-column-gap: 2rem;
    }
}
.contact-form-main > input,
.contact-form-main > textarea {
    border: initial;
    border-bottom: 1px solid #4A4A4A;
    padding: .75rem;
    font-weight: 400;
    font-size: .9rem;
    width: calc(100% - 24px);
    box-shadow: 0 0 #D0021B;
    transition: .3s ease-in-out;
}
.contact-form-main > input:focus::placeholder ,
.contact-form-main > textarea:focus::placeholder {
    opacity: 0;
}
.contact-form-main__name {
    grid-column: 1/2;
    grid-row: 1/2;
}
.contact-form-main__email {
    grid-column: 1/2;
    grid-row: 2/3;
}
.contact-form-main__phone {
    grid-column: 1/2;
    grid-row: 3/4;
}
.contact-form-main__company {
    grid-column: 1/2;
    grid-row: 4/5;
}
.contact-form-main__comment {
    grid-column: 2/3;
    grid-row: 1/3;
}
.contact-form-main__check {
    grid-column: 2/3;
    grid-row: 4/5;
    display: flex;
    align-items: center;
}
.contact-form-main__messages {
    grid-column: 3/4;
    grid-row: 1/4;
    overflow-y: auto;
}
.contact-form-main__obligatory-fields {
    font-size: .75rem;
}
.contact-form-main__success {
    margin-top: 1rem;
    color: #417505;
}
.contact-form-main__success > p:first-child {
    margin-bottom: .5rem;
    font-size: 1.25rem;
    font-weight: 500;
}
.contact-form-main__error {
    color: #D0021B;
    white-space: pre-line;
    height: auto;
    overflow: hidden;
    transition: max-height .4s ease-in-out;
}
.contact-form-main__error > p {
    margin-top: 1rem;
}
.contact-form-main__error--show {
    max-height: 100px;
}
.contact-form-main__error--hide {
    max-height: 0;
}
.contact-form-main > .contact-form-main__submit {
    grid-column: 3/4;
    grid-row: 4/5;
    border-bottom: initial;
    opacity: .25;
    background-color: #FFFFFF;
    color: #333333;
    font-weight: 600;
    box-shadow: inset 1px 1px #333333, inset -1px -1px #333333;
    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: #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: 25px;
    width: 25px;
    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: 35px;
    width: 35px;
    margin: initial;
}
.contact-checkbox__check {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 25px;
    width: 25px;
    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;
}
.contact-address-container {
    padding-left: 8rem;
    padding-right: 8rem;
}
.contact-address-container h2 {
    margin-bottom: 3rem;
}
.contact-addresses {
    display: flex;
    justify-content: flex-start;
}
.contact-addresses button {
    color: #fff;
    font-weight: 300;
    font-size: .9rem;
    text-align: left;
    width: 50%;
    max-width: 450px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 4rem;
    padding-top: initial;
    border-left: 1px solid transparent;
    opacity: .4;
    transition: all .3s ease-in-out;
    position: relative;
}
.contact-address-line {
    height: 0%;
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all .3s ease-in-out;
}
.contact-address-active .contact-address-line {
    height: 100%;
    transition: all .3s ease-in-out;
}
.contact-form-check {
    grid-area: terms;
    display: flex;
    position: relative;
    align-items: flex-end;
    align-self: end;
}
/* JOB OFFER */
.job-offer {
    padding: 0 8rem 4rem;
    display: flex;
    min-height: calc(100vh - 424px - 260px - 15px);
}
.job-offer-description {
    padding: 4rem 8rem 0 0;
    width: calc(100% - 8rem);
}
.job-offer-description p {
    margin-bottom: .75rem;
    line-height: 1.25rem;
}
.job-offer-description p:last-child {
    margin-bottom: initial;
}
.job-offer-data {
    background-color: #F4F4F4;
    width: calc(350px - 8rem);
    margin-right: -8rem;
    flex-shrink: 0;
    padding: 4rem;
    height: min-content;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5rem;
}
@media screen and (min-width: 1200px) {
    .job-offer-data {
        margin-right: initial;
    }
}
.job-offer-data h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.job-offer-data h3, .job-offer-data ul {
    opacity: .7;
}
/* LEAGAL INFO */
.legal-info-content {
    padding-right: 8rem;
    padding-left: 8rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
    min-height: calc(100vh - 424px - 260px - 15px - 12rem);
}
.legal-info-content h2 {
    margin-top: 2.25rem;
    margin-bottom: 1rem;
    font-weight: 700;
    font-size: 1.4rem;
}
.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;
}
/* SEARCH RESULTS */
.search-results {
    padding-right: 8rem;
    padding-left: 8rem;
    padding-top: 6rem;
    margin-bottom: 6rem;
}
.search-results-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.search-results-list > p {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.75rem;
}
.search-results-link {
    width: 50%;
    position: relative;
}
.search-results-link-hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 350px;
    opacity: 0;
    transition: all .3s ease-in-out;
}
.search-results-link:nth-child(2n + 1) {
    margin-top: 4rem;
}
.search-results-link:nth-child(2n) {
    margin-top: 8rem;
}
.search-results-link > img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center;
}
.search-results-link-text {
    padding-right: 4rem;
}
.search-results-link-text > h2 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.75rem;
    margin-bottom: 1rem;
}
/* FOOTER */
footer section {
    padding-left: 8rem;
    padding-right: 8rem;
}
.footer-grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas:
    'madrid geaInfo search'
    'madridAddress geaInfoLinks searchInput'
    'valencia geaInfoLinks social'
    'valenciaAddress legal social';
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.footer-grid-item1 {
    grid-area: madrid;
}
.footer-grid-item2 {
    grid-area: madridAddress;
    
}
.footer-grid-item2 a {
    transition: opacity .3s ease-in-out;
}
.footer-grid-item3 {
    grid-area: valencia;
}
.footer-grid-item4 {
    grid-area: valenciaAddress;
}
.footer-grid-item4 a {
    transition: opacity .3s ease-in-out;
}
.footer-grid-item2 p a:hover, .footer-grid-item4 p a:hover {
    opacity: .5;
}
.footer-grid-item5 {
    grid-area: geaInfo;
}
.footer-grid-item6 {
    grid-area: geaInfoLinks;
}
.footer-grid-item6 a {
    transition: opacity .3s ease-in-out;
}
.footer-grid-item7 {
    grid-area: legal;
}
.footer-grid-item7 a {
    transition: opacity .3s ease-in-out;
}
.footer-grid-item6 p a:hover, .footer-grid-item7 p a:hover {
    opacity: .5;
}
.footer-grid-item8 {
    grid-area: social;
    align-self: end;
    display: inline-flex;
    justify-content: flex-end;
}
.footer-grid-item8 div {
    width: 175px;
}
.footer-grid-item8 a:nth-child(-n+2) {
    margin-right: 1rem;
}
.footer-grid-item8 a img {
    width: 27px;
    height: 27px;
}
.footer-grid-item8 a {
    transition: opacity .3s ease-in-out;
}
.footer-grid-item8 a:hover {
    opacity: .5;
}
.footer-grid-item9 {
    grid-area: search;
    display: inline-flex;
    justify-content: flex-end;
}
.footer-grid-item10 {
    grid-area: searchInput;
}
.footer-grid-item10 form {
    display: inline-flex;
    justify-content: flex-end;
    width: 100%;
}
.footer-grid-item9 h3 {
    width: 175px;
}
.footer-search {
    width: calc(150px - .5rem);
    height: calc(30px - .5rem);
    border: initial;
    padding: .25rem;
    font-size: .85rem;
}
.footer-search-button {
    height: 30px;
    width: 30px;
    background-color: #4A4A4A;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../img/lupa.svg');
    background-size: 75%;
    transition: all .3s ease-in-out;
}
.footer-grid-item {
    padding: .25rem .5rem;
    line-height: 1.25rem;
    font-size: .85rem;
}
.footer-grid-item h3 {
    font-weight: 800;
}
/* COOKIES */
.cookies {
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    padding: 2rem;
    width: calc(350px - 4rem);
    background-color: #D8927B;
    color: #FFFFFF;
    z-index: 100;
    transition: .4s 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 {
    margin-top: .5rem;
}
.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 {
    left: -110%;
}
.opacity-1 {
    opacity: 1;
}
/* ReCaptcha */
.contact-form > p,
.contact-form-small > p {
    font-size: .75rem;
    line-height: 1.25rem;
}
.contact-form > p {
    text-align: center;
    margin-top: 3rem;
}
.contact-form-small > p {
    margin-top: 1.5rem;
}
.contact-form > p > a,
.contact-form-small > p > a {
    text-decoration: underline;
    transition: opacity .4s ease-in-out;
}
.contact-form > p > a:hover,
.contact-form-small > 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;
}