/*CSS RESETS AND VARIABLES DEFINITIONS*/

:root, :host {

    --default-font-family: 'Inter', sans-serif;
    --headings-font-family: 'Bebas Neue', sans-serif;

    --blue: #223f61;
    --blue-hover: #385577;

    --blue-darker: #001D3F;
    --blue-darker-hover: #10335C;

	--orange: #ea8028;
	--orange-hover: #E9A46B;
	--orange-10: rgba(234, 128, 40, 0.1);

	--lightgrey: #F3F3F2;
    --grey: #f3f3f1;
}

*, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
}

html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif);
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
    scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
    @media (prefers-reduced-motion: reduce) {
        scroll-behavior: auto;
    }
}

body {
    background-color: #fff;
    border-bottom: 16px solid var(--orange) ;
}

:target:before {
    content: "";
    display: block;
    height: 80px;
    margin: -80px 0 0;
}

a, a:focus, a:active {
    outline: none;
}
  
a {
    color: inherit;
    text-decoration: none;
}
  
a:hover {
    text-decoration: underline;
}

hr {
	margin: calc(var(--default-section-padding) / 2) 0;
	border-top: 3px solid var(--orange);
}

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

/****************TRANSITIONS****************/

.transition {
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.transition.slow {
    -moz-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

.transition.fast {
    -moz-transition: all 0.15s ease-out;
    -o-transition: all 0.15s ease-out;
    -webkit-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out;
}
  
/********************************************/

/*****************CONTAINERS*****************/

.container {
    --container-offset: 70px;
    --container-max-width: 1920px;
    --container-width: calc(100% - calc(var(--container-offset) * 2));

    max-width: var(--container-max-width);
    margin-left: auto;
    margin-right: auto;
    width: var(--container-width);
    position: relative;
}

.container.narrow {
    --container-max-width: 1200px;
    --container-width: 70%;
}

.container.narrower {
    --container-max-width: 1050px;
    --container-width: 55%;
}

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

/******************COLORS********************/

.bg-white {
    background-color: #fff;
}

.bg-black {
    background-color: #000;
}

.bg-blue {
    background-color: var(--blue);
}

.bg-orange {
    background-color: var(--orange);
}

.bg-darkblue {
    background-color: var(--blue-darker);
}

.bg-lightgrey {
    background-color: var(--lightgrey);
}

.text-white {
    color: #fff;
}

.text-black {
    color: #000;
}

.text-blue {
    color: var(--blue);
}

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

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

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

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

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

/******************UL Styling*******************/

.content-center ul,
.content-center ul li {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.content-center ul li {
    position: relative;
    padding-left: 24px;
}

.content-center ul li:before {
    content: "\f45c"; 
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--orange);
    position: absolute;
    left: 0;
    top: 0.2em; 
    font-size: 0.75em;
}

/******************BUTTONS*******************/

.btn-container {
    display: flex;
    gap: 1rem;
    margin-block: 3rem;
    flex-wrap: wrap;
}

.btn-container.center {
    justify-content: center;
}

.btn-container.mega {
    margin-block: 60px;
}

.btn-container.no-top {
    margin-block-start: 0;
}

.btn-container.no-bottom {
    margin-block-end: 0;
}

input[type="submit"].gform_button {

    --btn-font-family: inherit;
    --btn-font-size: 14px;
    --btn-padding: 12px 30px;
    --btn-text-transform: uppercase;
    --btn-font-weight: 400;
    --btn-transition-property: all;
    --btn-transition-duration: 0.2s;
    --btn-transition-timing-function: ease-out;
    --btn-transition: var(--btn-transition-property) var(--btn-transition-duration) var(--btn-transition-timing-function);
    --btn-border-radius: 0;
    --btn-border-width: 0;
    --btn-border-color: var(--btn-foreground);
    --btn-border-style: solid;
    --btn-border: var(--btn-border-width) var(--btn-border-style) var(--btn-border-color);

    --btn-background: var(--orange);
    --btn-foreground: #fff;
    --btn-on-hover-background: var(--orange-hover);
    --btn-on-hover-foreground: #fff;

    background-color: var(--btn-background) !important;
    color: var(--btn-foreground) !important;
    font-family: var(--btn-font-family) !important;
    padding: var(--btn-padding) !important;
    font-size: var(--btn-font-size) !important;
    text-transform: var(--btn-text-transform) !important;
    font-weight: var(--btn-font-weight) !important;
    border: var(--btn-border) !important;
    border-radius: var(--btn-border-radius) !important;
    line-height: 24px !important;
  
    -webkit-transition: var(--btn-transition) !important;
    -moz-transition: var(--btn-transition) !important;
    -o-transition: var(--btn-transition) !important;
    transition: var(--btn-transition) !important;
}

input[type="submit"].gform_button:hover, input[type="submit"].gform_button:focus {
    background-color: var(--btn-on-hover-background) !important;
    color: var(--btn-on-hover-foreground) !important;
    border-color: var(--btn-on-hover-background) !important;
    text-decoration: none !important;
}

.btn {
    --btn-background: transparent;
    --btn-font-family: inherit;
    --btn-foreground: inherit;
    --btn-font-size: 14px;
    --btn-padding: 12px 30px;
    --btn-text-transform: uppercase;
    --btn-font-weight: 400;
    --btn-transition-property: all;
    --btn-transition-duration: 0.2s;
    --btn-transition-timing-function: ease-out;
    --btn-transition: var(--btn-transition-property) var(--btn-transition-duration) var(--btn-transition-timing-function);
    --btn-on-hover-background: var(--btn-background);
    --btn-on-hover-foreground: var(--btn-foreground);
    --btn-border-radius: 0;
    --btn-border-width: 0;
    --btn-border-color: var(--btn-foreground);
    --btn-border-style: solid;
    --btn-border: var(--btn-border-width) var(--btn-border-style) var(--btn-border-color);
  
    background-color: var(--btn-background);
    color: var(--btn-foreground);
    font-family: var(--btn-font-family);
    padding: var(--btn-padding);
    font-size: var(--btn-font-size);
    text-transform: var(--btn-text-transform);
    font-weight: var(--btn-font-weight);
    border: var(--btn-border);
    border-radius: var(--btn-border-radius);
    line-height: 24px;
  
    -webkit-transition: var(--btn-transition);
    -moz-transition: var(--btn-transition);
    -o-transition: var(--btn-transition);
    transition: var(--btn-transition);
  
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn:hover, .btn:focus {
    background-color: var(--btn-on-hover-background);
    color: var(--btn-on-hover-foreground);
    border-color: var(--btn-on-hover-background);
    text-decoration: none;
}

.btn.solid.orange {
    --btn-background: var(--orange);
    --btn-foreground: #fff;
    --btn-on-hover-background: var(--orange-hover);
    --btn-on-hover-foreground: #fff;
}

.alm-load-more-btn.btn.solid.orange {
    background-color: var(--orange);
    color: white;
}

.text-btn {
	display: inline-block;
	font-size: 13px;
	text-transform: uppercase;
	margin: 0 5px;
	padding-bottom: 3px;
	position: relative;
	overflow: hidden;
}
  
.text-btn:hover {
	text-decoration: none;
}

.text-btn::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 7px;
	content: '\f35a';
}

.text-btn::before {
	content: '';
	position: absolute;
	bottom: 0; /* Position at the bottom */
	left: 0;
	width: 100%;
	height: 1px; /* Thickness of the border */
	background-color: transparent;
	border-bottom: 1px solid var(--orange); /* Border effect */
	transform: scaleX(0); /* Full width initially */
	transform-origin: right; /* Animation starts from the left */
	transition: transform 0.2s ease-out;
	  
}

.text-btn:hover::before {
  transform: scaleX(1); /* Shrinks to 0, sliding out to the right */
  transform-origin: left; /* Ensures sliding effect from left to right */
}

.text-btn.orange {
    color: var(--orange);
}

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

/******************SECTIONS*******************/

section {
    --default-section-padding: 90px;
    --default-mega-section-padding: 120px;
    margin: var(--default-section-padding) 0;
}

section.small {
    --default-section-padding: 40px;
}

section.no-top {
    margin-top: 0;
}

section.no-bottom {
    margin-bottom: 0;
}

section.mega {
    margin: var(--default-mega-section-padding) 0;
}

section.mega-top {
    margin-top: var(--default-mega-section-padding);
}

section.mega-bottom {
    margin-bottom: var(--default-mega-section-padding);
}

section.margin-to-padded {
    margin: 0;
    padding: var(--default-section-padding) 0;
}

section.margin-to-padded.mega {
    padding: var(--default-mega-section-padding) 0;
}

section.margin-to-padded.mega-top {
    margin: 0;
    padding-top: var(--default-mega-section-padding);
}

section.margin-to-padded.mega-bottom {
    margin: 0;
    padding-bottom: var(--default-mega-section-padding);
}

section.margin-to-padded.no-top {
    padding-top: 0;
}

section.margin-to-padded.no-bottom {
    padding-bottom: 0;
}

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

/******************TYPOGRAPHY****************/

h1 {
    font-family: var(--headings-font-family);
    font-weight: 400;
    font-size: 3rem /*48px*/;
    text-transform: uppercase;
    color: #fff;

    line-height: 1em;
    margin: 0 0 1em;
}
  
h2 {
    font-family: var(--headings-font-family);
    color: var(--blue);
    font-weight: 400;
    font-size: 3rem /*48px*/;
    text-transform: uppercase;

    line-height: 1.2em;
    margin: 0 0 1.2em;
}

h1::after, h2::after {
  background-color: var(--orange);
  display: block;
  width: 55px;
  height: 6px;
  content: "";
  margin-top: 10px;
}
  
h3 {
    font-family: var(--headings-font-family);
    font-weight: 400;
    font-size: 2rem /*32px*/;
    text-transform: uppercase;
    color: #fff;

    line-height: 1em;
    margin: 0 0 1em;
}
  
  
h4 {
    font-family: var(--headings-font-family);
    font-weight: 400;
    font-size: 2rem /*32px*/;
    text-transform: uppercase;
    color: var(--blue);

    line-height: 1em;
    margin: 0 0 1em;
}

h3::after, h4::after {
    background-color: var(--orange);
    display: block;
    width: 55px;
    height: 6px;
    content: "";
    margin-top: 10px;
}
  
h5 {
	font-weight: normal;
	font-size:  1rem;
	color: var(--blue);

	line-height: 2em;
	margin-top: 0;
	margin-bottom: 0;

	text-align: left;
}
  
h6 {
	font-weight: normal;
	font-size:  1rem;
	color: var(--orange);

	line-height: 2em;
	margin-top: 0;
	margin-bottom: 0;

	text-align: left;

    font-weight: bold;
}

.text-center h1::after, .text-center h2::after, .text-center h3::after, .text-center h4::after {
    margin-left: auto;
    margin-right: auto;
}

h1.text-center::after, h2.text-center::after, h3.text-center::after, h4.text-center::after {
    margin-left: auto;
    margin-right: auto;
}

h1[style="text-align: center;"]::after, h2[style="text-align: center;"]::after, h3[style="text-align: center;"]::after, h4[style="text-align: center;"]::after {
    margin-left: auto;
    margin-right: auto;
}

h2.gform_submission_error::after {
    display: none;
}

p {
    font-weight: 400;
    font-size: 0.875rem /*14px*/;
    line-height: 1.75em;
    margin: 0 0 1.5em;
	text-align: justify;
}

b, strong {
    font-weight: 700;
}

.fw-700 {
    font-weight: 700;
}

.fw-400 {
    font-weight: 400;
}

.content-center h1 {
    margin-bottom: 15px;
}

.content-center h2 {
    margin-bottom: 15px;
}

.content-center h3 {
    margin-bottom: 15px;
}

.content-center h4 {
    margin-bottom: 15px;
}

.content-center h5 {
    margin-bottom: 15px;
}

.content-center h6 {
    margin-top: 15px;
    margin-bottom: 15px;
}

.content-center p {
    margin-bottom: 15px;
    
}

.content-center ul {
    padding-left: 50px;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.75em;
    margin: 0 0 1.5em;
    text-align: justify;
}

.content-center li {
    margin-bottom: 10px;
}

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

/******************DISPLAYS*****************/
.flex {
    display: flex;
}

.flex.column {
    flex-direction: column;
}

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

.flex.row {
    flex-direction: row;
}

.flex.wrap {
    flex-wrap: wrap;
}

.flex.nowrap {
    flex-wrap: nowrap;
}

.flex.items-center {
    align-items: center;
}

.flex.items-start {
    align-items: flex-start;
}

.flex.items-end {
    align-items: flex-end;
}

.flex.justify-between {
    justify-content: space-between;
}

.flex.justify-start {
    justify-content: flex-start;
}

.flex.justify-end {
    justify-content: flex-end;
}

.flex.justify-center {
    justify-content: center;
}

.flex.justify-around {
    justify-content: space-around;
}

.flex.justify-evenly {
    justify-content: space-evenly;
}

.flex.gap-xs {
    gap: 1.8rem;
}

.flex.gap-sm {
    gap: 2.5rem;
}

.flex.gap-md {
    gap: 3.5rem;
}   

.flex.gap-lg {
    gap: 4.5rem;
}

.flex.gap-xl {
    gap: 5.5rem;
}

.flex.gap-2xl {
    gap: 6.5rem;
}

.flex.gap-3xl {
    gap: 7.5rem;
}

.flex.gap-4xl {
    gap: 8.5rem;
}

.flex.row-gap-xs {
    row-gap: 2.5rem;
}

.flex.row-gap-0 {
    row-gap: 0;
}

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

/*******************RESPONSIVE****************/

.tablet-portrait, .tablet-landscape, .mobile {
    display: none;
}

.desktop {
    display: block;
}

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

header {
    padding-block: 65px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    color: #fff;
    font-weight: 700;
    background: transparent;
    transition: all 0.3s ease-out !important;
}

header .header-logo-anchor .header-logo {
    width: 240px;
    filter: brightness(0) invert(1);
    transition: filter, width 0.3s ease-out;
}

header.scrolled {
    color: var(--blue);
    background-color: #fff;
    box-shadow: 0 2px 4px rgb(0 0 0 / 0.1);
    padding-block: 20px;
}

header.scrolled .header-logo-anchor .header-logo {
    width: 175px;
    filter: brightness(1) invert(0);
}

header.inside {
    padding-block: 35px;
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: var(--grey);
    color: var(--blue);
}

header.scrolled.inside {
    padding-block: 20px;
    background-color: var(--grey);
}

header.inside .header-logo-anchor .header-logo {
    filter: brightness(1) invert(0);
}

header.home nav #mega-menu-wrap-header-menu #mega-menu-header-menu >  li.mega-menu-item > a.mega-menu-link {
	color: #fff;
}

header.home nav #mega-menu-wrap-header-menu #mega-menu-header-menu >  li.mega-menu-item > a.mega-menu-link:hover {
	background-color: var(--orange);
}


header.inside nav #mega-menu-wrap-header-menu #mega-menu-header-menu >  li.mega-menu-item > a.mega-menu-link {
	color: var(--blue);
}

header.inside nav #mega-menu-wrap-header-menu #mega-menu-header-menu >  li.mega-menu-item > a.mega-menu-link:hover {
	color: #fff;
    background-color: var(--orange);
}

header.scrolled nav #mega-menu-wrap-header-menu #mega-menu-header-menu >  li.mega-menu-item > a.mega-menu-link {
	color: var(--blue);
}

header.scrolled nav #mega-menu-wrap-header-menu #mega-menu-header-menu >  li.mega-menu-item > a.mega-menu-link:hover {
	color: #fff;
    background-color: var(--orange);
}

header.scrolled nav #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item-159.mega-toggle-on > a.mega-menu-link {
    color: #fff;
}

header.has-grey-bg nav #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item-159.mega-toggle-on > a.mega-menu-link {
    color: #fff;
}

  
.hero-slider-section {
    position: relative;
    background-color: var(--blue-darker);
}

.hero-slider-section .bg-gradient {
    z-index: 10;
    position: absolute;
    width: 100%;
    height: 50%;
    inset: 0;
    background: linear-gradient(0deg,rgba(178, 212, 103, 0) 70%, rgba(0, 0, 0, 0.5) 100%);
}

.hero-slider-section .swiper {
    height: 95dvh;
}

.hero-slider-section .hero-slide {
    position: relative;
    display: flex;
    align-items: end;
}

.hero-slider-section .hero-slide .bottom-block {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 50px;
    background-color: var(--blue-darker);
}

.hero-slider-section:has(+ .bg-blue) .hero-slide .bottom-block {
    background-color: var(--blue);
}

.hero-slider-section:has(+ .bg-darkblue) .hero-slide .bottom-block {
    background-color: var(--blue-darker);
}

.hero-slider-section:has(+ .bg-darkblue) .hero-slide .bottom-block {
    background-color: var(--blue-darker);
}

.hero-slider-section .hero-slide img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.hero-slider-section .hero-slide .slide-box {
    position: relative;
    display: inline-block;
    background-color: var(--blue);
    min-width: 340px;
    max-width: 500px;
    padding: 60px;
    padding-bottom: 0;
}

.hero-slider-section .hero-slide .slide-box p {
    line-height: normal;
}

.hero-slider-section .hero-slide .slide-box .square {
    --square-size: 100px;
    position: absolute;
    width: var(--square-size);
    height: var(--square-size);
    background-color: var(--blue);
}

.hero-slider-section .hero-slide .slide-box .square.top {
    top: calc(var(--square-size) * -1);
    right: 0;
}

.hero-slider-section .hero-slide .slide-box .square.right-middle {
    top: var(--square-size);
    right: calc(var(--square-size) * -1);
}

.hero-slider-section .hero-slide .slide-box .square.right-top {
    top: 0;
    right: calc(var(--square-size) * -2);
}

.hero-slider-section .swiper-nav {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
}

.hero-slider-section .button-prev {
    border-right: 1px solid var(--orange);
}

.hero-slider-section .button-prev,
.hero-slider-section .button-next {
    color: #fff;
    font-size: 25px;
    padding-inline: 15px;
    padding-block: 40px;
    background-color: var(--blue);
    transition: all 0.3s ease-out;
    cursor: pointer;
}

.hero-slider-section .button-prev:hover,
.hero-slider-section .button-next:hover {
    background-color: var(--blue-hover);
}

.image-content-section .flex {
    gap: 90px;
    @media (width <= 1300px) {
        flex-direction: column;
    }
}

.image-content-section .image-content {
    flex: 2;
    object-fit: cover;
    object-position: center center;
    height: 100%;
    width: 100%;
    margin-bottom: -60px;
    position: relative;
}

.image-content-section .content {
    flex: 1;
}

.image-content-section .content .btn-container.no-bottom {
    margin-bottom: 70px;
}

.image-content-section .image-placeholder {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding-top: 30%;
    width: 55%;
    margin-bottom: -100px;
}

.image-content-section {
    overflow: visible;
}


/* Information  */

.left-information {
	padding-top: 120px;
	padding-bottom: 60px;
	padding-right: 90px;
	flex: 1;
    background-color: var(--lightgrey);
    @media (width >= 1600px) {
        padding-top: 160px;
    }
}

.right-information {
	padding-top: 120px;
	padding-bottom: 60px;
	padding-left: 90px;
	flex: 2;
    background-color: #fff;
    color: var(--blue);
    @media (width >= 1600px) {
        padding-top: 160px;
    }

}

.googlefont {
	display: flex;
	margin-bottom: 20px;
	font-weight: bold;
    font-size: 13px;
}

.googlefont div {
	margin-right: 10px;
}

.googlefont div::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}

.salary::before {
    content: '\f153';
}

.location::before {
    content: '\f3c5';
}

.folder::before {
    content: '\f07b';
}

.right-information .vacancy {
	border-bottom: 2px dotted var(--blue);
	margin-bottom: 60px;
}

.right-information  .vacancy:last-child {
	border-bottom: none;
}


h1.vacancy-title {
    color: var(--blue);
}

.vacancy-section-lining {
    width: 100%;
    height: 10px;
    background-color: var(--lightgrey);
}

a.vacancy-title-link {
    text-decoration-color: var(--orange);
    
}

.mini-h2 h2::after {
	margin-left: auto;
	margin-right: auto;
}

.mini-h2 h2{
	font-size: 30px;
}

.image-slider {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.image-slider .carousel.slider.swiper {
    height: 100%;
    margin: auto;
}

.image-slider .carousel-slide.swiper-slide img {
    width: 50%;
    height: 400px;
    object-fit: cover;
    object-position: center;
}

.image-slider .carousel .carousel-slide img {
    width: 100%;
    height: 613px;
}

.image-slider .carousel .carousel-slide {
    display: inline-block;
    animation: fade 20s;
}

.image-slider .swiper-wrapper {
    height: 200%;
}

.image-slider .carousel-slide.swiper-slide {
    width: 100%;
}

.image-slider .carousel .carousel-slide img {
    margin: 0;
}

.image-slider .swiper-nav {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 6px;
    z-index: 10;
}

.image-slider .button-prev {
    border-right: 1px solid var(--orange);
}

.image-slider .button-prev,
.image-slider .button-next {
    color: #fff;
    font-size: 25px;
    padding-inline: 15px;
    padding-block: 40px;
    background-color: var(--blue);
    transition: all 0.3s ease-out;
    cursor: pointer;
}

.image-slider .button-prev:hover,
.image-slider .button-next:hover {
    background-color: var(--blue-hover);
}


.carousel {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    margin-top: 90px;
}

.carousel .carousel-slide {
    display: inline-block;
    animation: slide 20s infinite linear;
}

.carousel:hover .carousel-slide {
    animation-play-state: paused;
}

.carousel .carousel-slide img {
    height: 50px;
    margin: 0 40px;
    display: inline;
}

@keyframes slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);    
    }
}

.ig {
	font-family: var(--headings-font-family);
	font-size: 50px;
	font-weight: normal;

	padding: 60px 0;
}

#sb_instagram #sbi_images {
	padding:0;
}

footer .footer-left {
    font-size: 14px;
}

footer .footer-img {
	width: 110px;
	margin-bottom: 60px;
}

footer .contact {
	justify-content: center;
}
footer .contact p {
	margin: 0;
}

footer .fb-ig {
	display: inline-block;
	height: 0;
}

footer .fb-ig a {
    transition: all 0.3s ease-out;
}

footer .fb-ig a:hover {
    opacity: 0.7;
}

footer .fb-footer {
	font-size: 30px;
    margin-left: 20px;
}

footer .ig-footer {
	font-size: 30px;
}

footer .company-email {
	display: inline-block;
}

footer.firm {
	opacity: 0.5;
	font-size: 14px;
}

footer .branding {
    height: 16px;
}

footer ul.menu {
    list-style: none;
    display: flex;
    gap: 25px;
    justify-content: end;
    font-size: 14px;
}

footer ul.menu a {
    position: relative;
    display: inline-block;
    padding: 0;
    padding-bottom: 4px;
    text-transform: capitalize;
    text-decoration: none;
    color: #FFF;
}

footer ul.menu a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--orange);
}

footer ul.menu a::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--orange-hover);
    transition: transform 0.25s ease-out;
    transform-origin: bottom left;
}

footer ul.menu a:hover::after {
    transform: scaleX(1);
}

footer .ff-copyright {
    color: #ffffff7f;
}
  
footer .ff-copyright .ff-logo {
    display: inline-block;
    margin-left: .7em;
    transition: color 0.2s ease-in-out;
}
  
footer .ff-copyright .ff-logo:hover {
    color: #ffffff;
    text-decoration: none;
}
  
footer .ff-copyright .ff-logo img {
    vertical-align: middle;
    margin-left: 3px;
    width: 20px;
    height: 20px;
    display: inline-block;
    opacity: 0.5;
    transition: opacity 0.2s ease-in-out;
}

footer .ff-copyright .ff-logo:hover img {
    opacity: 1;
}

section.full-width-image-section {
    margin: 15px 0;
}

.full-width-image-section .full-width-image {
    width: 100%;
    aspect-ratio: 16 / 6;
    object-fit: cover;
    object-position: center center;
}

.vacancies-section .right-information h3 {
    color: var(--orange);
}

header + .vacancies-section .left-information {
   padding-top: 90px;
}
header + .vacancies-section .right-information {
    padding-top: 90px;
}

.image-content-section + .ig-section .ig {
    padding-top: 200px !important;
}

/*.vacancies-section .left-information, .vacancies-section .right-information {
    padding-top: 60px;
}

.image-content-section + .vacancies-section {
    padding-top: 90px;
}*/



.meet-the-team-section .flex {
    gap: 15px;
}

.meet-the-team-section .teambox {
    flex-basis: 24%;
    flex-shrink: 0;
}

.meet-the-team-section .teambox img {
    width: 100%;
    object-fit: cover;
    object-position: center center;
    aspect-ratio: 1;
    display: block;
}

.meet-the-team-section .teambox .names {
    padding-inline: 15px;
}

.meet-the-team-section .teambox .names h4 {
    padding-top: 15px;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    font-family: var(--default-font-family);
    font-weight: 700;
    text-transform: capitalize;
}

.meet-the-team-section .teambox .names h4::after {
    display: none;
}

.meet-the-team-section .teambox .names p {
    text-align: center;
    padding-bottom: 15px;
}

h1.inside-heading {
    color: var(--blue);
}

.gallery {
	margin: 30px 0px !important;
	display: block;
}

.gallery-item {
	margin: 5px  0px!important;
}

.gallery-item img {
	width: calc(94% - 20px);
	height: auto;
	border: 3px solid var(--grey) !important;
    aspect-ratio: 1;
    object-fit: cover;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.gallery-item img:hover {
	opacity: 0.85;
}

.gallery-item .gallery-caption {
	padding-bottom: 15px;
	padding-top: 5px;
	font-weight: normal;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  transition: 0.5s all ease;
}

.card:hover{
    transform:scale(1.035);
}

.card img {
  width: 100%; 
  height: 100%;        /* ajusta la altura */
  object-fit: cover;      /* recorta para encajar */
  display: block;
}

.card .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px;
  background: linear-gradient(transparent, var(--blue));
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}


.video-section .video-container {
    aspect-ratio: 16 / 6;
    position: relative;
}

.video-container .nav {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    gap: 15px;
}

.video-container .nav button {
    background-color: var(--blue);
    color: #fff;
    appearance: none;
    cursor: pointer;
    padding: .5em;
    font-size: 20px;
    border-radius: 50%;
    transition: all 0.2s ease-out;
}

.video-container .nav button.selected {
    display: none;
}

.video-container .nav button:hover{
    background-color: var(--blue-hover);
}

.video-container .nav button:hover{
    background-color: var(--blue-hover);
}

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

.gform_footer {
    justify-content: center !important;
}

.gform_confirmation_message {
    text-align: center !important;
    color: var(--blue) !important;
}

section.image-content-section.margin-to-padded:has(+ footer) {
    padding-bottom: calc(var(--default-section-padding)*2.5);
}

/* --- error 404 ----- */

.error404 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background-image: url('../images/test/404img.jpg');
    background-size: cover;
    background-position: center center;*/
    background-color: var(--blue);
    color: #fff;
}

.error404 table {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.error404 .logocontainer {
    margin-bottom: 50px;
}

.error404 p {
    color: #fff;
    font-size: 16px;
    text-align: center;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}


/* End information  */

@media(width <= 1599px) {
    .image-content-section + .vacancies-section .left-information, .image-content-section + .vacancies-section .right-information {
        padding-top: 160px;
    }
}

@media (width <= 1502px) {
    .image-content-section + .margin-to-padded.bg-lightgrey {
        padding-top: 150px;
    }
    
    .image-content-section .image-placeholder {
        padding-top: 50%;
    }
}

@media (width <= 1400px) {
    .image-content-section .image-placeholder {
        padding-top: 50%;
    }
}

@media (width <= 1300px) {
    .image-content-section + .margin-to-padded.bg-lightgrey {
        padding-top: 90px;
    }

    .image-content-section .image-placeholder {
        width: 100%;
        padding-top: 50%;
        margin-bottom: -30px;
    }

}

@media (width <= 1200px) {

    .desktop, .tablet-portrait, .tablet-landscape, .mobile {
      display: none;
    }
  
    .tablet-landscape {
      display: block;
    }
	
	.container.narrow {
        --container-width: calc(100% - calc(var(--container-offset) * 2));
    }
    
    .container.narrower {
        --container-width: calc(100% - calc(var(--container-offset) * 2));
    }

    .meet-the-team-section .teambox {
        flex-basis: 30%;
    }
}

@media (width <= 820px) {

    .desktop, .tablet-landscape, .mobile {
      display: none;
    }
  
    .tablet-portrait {
      display: block;
    }
  
    .container {
        --container-offset: 20px;
    }

    .vacancies-section > .flex {
        flex-direction: column;
    }

    .vacancies-section .left-information {
        padding-top: 60px;
        padding-right: 20px;
    }

    .vacancies-section .right-information {
        padding-top: 60px;
        padding-left: 20px;
    }

    .vacancies-section .vacancy:last-child .btn-container {
        margin-bottom: 0;
    }

    .image-content-section + .vacancies-section .left-information {
        padding-left: 20px;
        padding-top: 60px;
    }

    .image-content-section + .vacancies-section .right-information {
        padding-top: 60px;
        padding-bottom: 30px;
    }

    .meet-the-team-section .teambox {
        flex-basis: 45%;
    }

    .full-width-image-section .full-width-image {
        aspect-ratio: 14 / 8;
    }

    .image-slider .carousel.slider.swiper {
        height: 123%;
    }

    .image-slider .carousel .carousel-slide img {
        height: 400px;
    }


    .image-slider .button-prev,
    .image-slider .button-next {
        padding-block: 14px;
    }

    header, header.inside {
        background-color: var(--blue);
        padding-block: 20px;
        color: #fff;
    }

    header.scrolled, header.scrolled.inside {
        background-color: var(--blue);
        padding-block: 20px;
        color: #fff;
    }

    header .header-logo-anchor .header-logo {
        width: 175px;
    }

    header.inside .header-logo-anchor .header-logo {
        filter: brightness(0) invert(1);
    }

    header.scrolled .header-logo-anchor .header-logo {
        filter: brightness(0) invert(1);
    }

    header a.right-button {
        font-size: 28px;
        background-color: var(--orange);
        padding: 10px 15px;
        border-radius: 50%;
    }

    .mm-menu {
        --mm-color-background: var(--blue) !important;
        --mm-listitem-size: 95px;
        --mm-color-text: white !important;
        text-transform: uppercase;
        font-size: 18px;
        font-weight: 400;
        --mm-color-button: #fff;
        --mm-color-border: rgba(255,255,255,0.1);
    }

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

    .mm-menu_opened.mm-menu_pagedim-black ~ .mm-wrapper__blocker {
        background: var(--blue-darker) !important;
    }

    .mm-navbar {
        border: none !important;
        background-color: var(--blue-darker) !important;
        padding-block: .4em;
    }

    a.mm-navbar__title {
        color: rgba(255,255,255,0.5) !important;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 1rem;
    }

    .mm-btn::before {
        border-color: #fff !important;
    }

    .mm-btn_next::after{
        border-color: #fff !important;
    }

    .mm-listitem::after {
        border-color: #fff !important;
    }
    footer .footer {
        flex-direction: column;
        row-gap: 60px;
    }

    footer ul.menu {
        justify-content: center;
        flex-wrap: wrap;
    }

    footer .foot-right {
        row-gap: 60px;
    }

    footer .firm {
        text-align: center;
    }

    footer .foot-left {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (width <= 640px) {
  
    .desktop, .tablet_portrait, .tablet_landscape, .mobile {
      display: none;
    }
  
    .mobile {
      display: block;
    }

    .btn.solid {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .meet-the-team-section .teambox {
        flex-basis: 100%;
    }
  
}