/*
 sm     =   small   =   phone-small     = 576px     = 36em;
 md     =   medium  =   phone-large     = 768px     = 48em;
 lg     =   large   =   phone-tablet    = 992px     = 62em;
 xl     =   xlarge  =   desktop         = 1200px    = 75em;
 xxl    =   xxl     =   big desktop     = 1400px    = 87.5em;

 1em = 16px;
*/
/*
When using MAX and Desktop first approach the biggest screen size
shall be on top for right cascading of styles(smallest shall be last)
*/
/*
When using MIN and Mobile first approach the smalles screen size
shall be on top for right cascading of styles(bigest shall be last)
*/
* {
  margin: 0;
  padding: 0;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

*:focus {
  outline: none;
  box-shadow: none !important;
}

*:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none !important;
}

*:focus-visible {
  outline: 2px solid #0023D8;
  box-shadow: 0 0 0 2px #0023D8 !important;
}

html {
  box-sizing: border-box;
  font-size: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--scroll-padding-top, 100px);
}

img {
  max-width: 100%;
}

button {
  padding: 1rem 2rem;
  color: #0E4E2E;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
  background-color: #26CF7B;
  border-color: transparent;
}
button:hover, button:focus {
  color: #0B4851;
  background-color: #21CAE1;
}

@font-face {
  font-family: "Montserrat";
  src: url(../fonts/montserrat/Montserrat-Regular.ttf);
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/montserrat/Montserrat-Medium.ttf);
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/montserrat/Montserrat-SemiBold.ttf);
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/montserrat/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Sofia";
  src: url(../fonts/sofia/SofiaSans-Regular.woff);
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Sofia";
  src: url(../fonts/sofia/SofiaSans-SemiLight.woff);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Sofia";
  src: url(../fonts/sofia/SofiaSans-Medium.woff);
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Sofia";
  src: url(../fonts/sofia/SofiaSans-MediumItalic.woff);
  font-weight: 550;
  font-style: italic;
}
@font-face {
  font-family: "Sofia";
  src: url(../fonts/sofia/SofiaSans-SemiBold.woff);
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Sofia";
  src: url(../fonts/sofia/SofiaSans-Bold.woff);
  font-weight: 700;
  font-style: normal;
}
body {
  font-family: "Sofia", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  text-rendering: geometricPrecision;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

h1,
h2,
h3 {
  text-transform: uppercase;
  font-weight: 700;
}

a {
  text-decoration: none;
}

p:not([class]):last-child {
  margin-bottom: 0;
}

a:not([class]) {
  color: #0023D8;
  text-decoration: underline;
}
a:not([class]):hover, a:not([class]):focus {
  color: #FC5830;
}

.section-title {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  color: #00072B;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}

hgroup:has(.section-title + p) .section-title {
  margin-bottom: 0;
}
hgroup:has(.section-title + p) p {
  color: #4D516B;
}

.page-title {
  color: #00072B;
  font-size: 2rem;
  letter-spacing: -0.5px;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}

.form-title {
  text-transform: uppercase;
  font-size: 0.9rem;
}

.footer-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.title-wide {
  color: #4D516B;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.625rem;
  text-transform: uppercase;
}

@media screen and (max-width: 47.9em) {
  .page-title {
    font-size: 1.3rem;
    line-height: 1.3;
  }
}
small {
  display: block;
  font-size: 0.75rem;
  line-height: 1.2;
  letter-spacing: 0.01563rem;
}

.box-shadow {
  filter: drop-shadow(0px 180px 50px rgba(67, 41, 24, 0)) drop-shadow(0px 115px 46px rgba(67, 41, 24, 0.01)) drop-shadow(0px 65px 39px rgba(67, 41, 24, 0.05)) drop-shadow(0px 29px 29px rgba(67, 41, 24, 0.09)) drop-shadow(0px 7px 16px rgba(67, 41, 24, 0.1));
  box-shadow: 0px 30px 8px 0px rgba(0, 0, 0, 0), 0px 19px 8px 0px rgba(0, 0, 0, 0.01), 0px 11px 6px 0px rgba(0, 0, 0, 0.02), 0px 5px 5px 0px rgba(0, 0, 0, 0.03), 0px 1px 3px 0px rgba(0, 0, 0, 0.04);
}

.u-send {
  background-image: url(../images/svg/arrow-right-green.svg);
  background-position: center;
  background-repeat: no-repeat;
}

.u-label {
  color: black;
  margin-bottom: 0.125rem;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}

.u-title {
  margin-bottom: 0;
  font-weight: 700;
  font-size: 1.125rem;
}

.btn {
  font-weight: 700;
  padding: 1rem 2rem;
  border-radius: 0;
  border: none;
}

.btn-primary {
  color: #0E4E2E;
  background-color: #26CF7B;
}
.btn-primary:hover, .btn-primary:focus {
  color: #0B4851;
  background-color: #21CAE1;
}

.btn-transparent {
  color: black;
  background-color: white;
  border: 1px solid #D3D6E0;
}
.btn-transparent:hover, .btn-transparent:focus {
  background-color: #D3D6E0;
}

.btn-inverted {
  color: #0B4851;
  background-color: #21CAE1;
}
.btn-inverted:hover, .btn-inverted:focus {
  color: #0E4E2E;
  background-color: #26CF7B;
}

.bordered-grid__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: grid;
  row-gap: 0.5rem;
  grid-template-columns: 1fr 1fr;
}
.bordered-grid__item {
  font-size: 1rem;
  padding: 1rem;
  border-right: 1px dotted transparent;
}
.bordered-grid__item > a:has(+ .bordered-grid__link) {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
}
.bordered-grid__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 1rem;
  margin-bottom: 0;
  color: #000;
  text-align: center;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}
.bordered-grid__link:hover, .bordered-grid__link:focus {
  cursor: auto;
  color: #0023D8;
}
.bordered-grid:has(.bordered-grid__link) .bordered-grid__item {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 61.9em) {
  .bordered-grid__item {
    align-items: center;
  }
}
@media screen and (max-width: 47.9em) {
  .bordered-grid__list {
    grid-template-rows: auto;
    display: flex;
    flex-wrap: wrap;
  }
  .bordered-grid__item {
    margin-bottom: 1rem;
    width: 100%;
    border-color: transparent;
  }
}
@media screen and (min-width: 48em) {
  .bordered-grid__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
  .bordered-grid__item {
    flex-basis: 0;
  }
  .bordered-grid__item:not(:last-child) {
    border-color: #7C84A2;
  }
}

.u-title-big {
  font-family: "Sofia", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.01563rem;
}
.u-title-big span {
  margin-bottom: 0.25rem;
  font-size: 1.125rem;
}

.u-title-icon {
  max-width: 20vw;
  display: flex;
  align-items: flex-end;
}
.u-title-icon:after {
  content: "";
  display: block;
  margin-left: auto;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  background-repeat: no-repeat;
  background-position: center;
}
.u-title-icon--electricity:after {
  background-image: url(../images/svg/icon-electricity.svg);
}
.u-title-icon--airport:after {
  background-image: url(../images/svg/icon-airport.svg);
}
.u-title-icon--highway:after {
  background-image: url(../images/svg/icon-highway.svg);
}
.u-title-icon--seaport:after {
  background-image: url(../images/svg/icon-seaport.svg);
}
.u-title-icon--trainstation:after {
  background-image: url(../images/svg/icon-trainstation.svg);
}
.u-title-icon--uni:after {
  background-image: url(../images/svg/icon-uni.svg);
}
.u-title-icon--person:after {
  background-image: url(../images/svg/icon-person.svg);
}

.icon {
  margin-bottom: 0;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  aspect-ratio: 1/1;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  border: 1px solid #D3D6E0;
  border-radius: 2px;
}
.icon:before {
  content: "";
  display: block;
  width: 2.125rem;
  height: 2.125rem;
  background-position: center;
  background-repeat: no-repeat;
}
.icon--yes:before {
  background-image: url(../images/svg/icon-yes.svg);
}
.icon--no:before {
  background-image: url(../images/svg/icon-no.svg);
}

hgroup:has(.u-title-big) {
  height: 100%;
  display: flex;
  flex-direction: column;
}
hgroup:has(.u-title-big) .u-title-big {
  margin-top: auto;
}

@media screen and (max-width: 47.9em) {
  .icon {
    max-width: 100px;
  }
  .u-title-icon {
    max-width: 100%;
  }
  .u-title-big {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 48em) {
  .w-20 {
    width: 30%;
  }
}
@media screen and (min-width: 62em) {
  .w-20 {
    width: 20%;
  }
}
.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
  color: #0023D8;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.page-content h1:not([class]) {
  font-size: 1.5rem;
}
.page-content h2:not([class]) {
  font-size: 1.5rem;
}
.page-content h3:not([class]) {
  font-size: 1rem;
}
.page-content h4:not([class]) {
  font-size: 1.2rem;
}
.page-content h5:not([class]) {
  font-size: 1rem;
}
.page-content p:has(+ ul),
.page-content p:has(+ ol) {
  margin-bottom: 0;
}
.page-content ul,
.page-content ol {
  list-style-position: outside;
}
.page-content ul:has(+ p),
.page-content ol:has(+ p) {
  margin-bottom: 0.25rem;
}
.page-content table:not([class]),
.page-content thead:not([class]) {
  width: 100%;
}
.page-content table:not([class]) td,
.page-content table:not([class]) th,
.page-content thead:not([class]) td,
.page-content thead:not([class]) th {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.page-content table:not([class]) th,
.page-content thead:not([class]) th {
  color: white;
  background-color: #0023D8;
  font-size: 1rem;
  line-height: 1.5;
}
.page-content table:not([class]) td,
.page-content thead:not([class]) td {
  background-color: transparent;
}
.page-content table:not([class]) tr,
.page-content thead:not([class]) tr {
  border-bottom: 1px solid #0023D8;
}

.table-container {
  width: 100%;
  overflow-x: auto;
}

.section {
  margin-bottom: 5rem;
}

input:not([type=checkbox]),
textarea,
select {
  display: block;
  width: 100%;
  padding: 0.5rem;
  background-color: transparent;
  border-width: 1px;
  border-color: #7C84A2;
  color: #00072B;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.01563rem;
}
input:not([type=checkbox]):placeholder,
textarea:placeholder,
select:placeholder {
  color: #808395;
}

input[type=checkbox] {
  display: inline-flex;
  align-content: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 2rem;
  border: 1px solid #7C84A2;
  border-radius: 0;
}
input[type=checkbox]:before {
  content: "";
  width: calc(1.5rem - 2px);
  height: calc(1.5rem - 2px);
  transform: scale(0);
  background-color: white;
  border-radius: 0;
}
input[type=checkbox]:checked + label {
  font-weight: 700;
}
input[type=checkbox]:checked::before {
  transform: scale(1);
  background-image: url(../images/svg/chekcbox-checked.svg);
  background-color: #7C84A2;
  background-repeat: no-repeat;
  background-position: center;
}
input[type=checkbox] + label {
  margin-left: 0.5rem;
  font-size: 1rem;
  font-family: "Sofia", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 400;
  text-transform: none;
  cursor: pointer;
}

input[type=radio] {
  display: inline-flex;
  align-content: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 2rem;
  padding: 0rem;
  border: 1px solid #7C84A2;
  border-radius: 50%;
}
input[type=radio]:before {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  transform: scale(0);
  background-color: #7C84A2;
  border-radius: 50%;
}
input[type=radio]:checked::before {
  transform: scale(1);
}
input[type=radio] + label {
  margin-left: 0.5rem;
  font-size: 1rem;
  line-height: 1.25;
  cursor: pointer;
}

input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

select {
  min-height: 3rem;
}

label,
legend {
  display: inline-block;
  margin-bottom: 0.125rem;
  color: #00072B;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01563rem;
}

textarea {
  display: block;
  width: 100%;
  min-height: 10rem;
  line-height: 1.3;
  background-color: transparent;
}
textarea:placeholder {
  font-size: 0.875rem;
}

form .section-title,
.form .section-title {
  color: #00072B;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.128;
  text-align: left;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
  background-color: transparent;
}

fieldset {
  margin-bottom: 1rem;
}

div[class*=col]:has(> input[type=checkbox]) {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
}
div:has(> select[data-autocomplete]) {
  display: flex;
  position: relative;
  flex-wrap: wrap;
}
div:has(> select[data-autocomplete]) label {
  width: 100%;
  flex: 0 0 100%;
}
div:has(> select[data-autocomplete]) input {
  position: relative;
  width: 90%;
}
div:has(> select[data-autocomplete]) select {
  width: 10%;
}
div:has(> select[data-autocomplete]) .select-options {
  position: absolute;
  top: 100%;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  background-color: white;
  box-shadow: 5px 5px 5px red;
  width: 100%;
  border: 1px solid #ccc;
  max-height: 150px;
  /* overflow-y: auto; */
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 1;
}
div:has(> select[data-autocomplete]) .select-options li {
  padding: 0.5rem;
}
div:has(> select[data-autocomplete]) .select-options li:hover {
  background: #e0f0ff;
}

.banner {
  width: 100%;
}
.banner__img {
  width: 100%;
}

.map-wrapper {
  position: relative;
  width: 100%;
  z-index: 0;
}

.map {
  width: 100%;
  height: calc(100vh - 150px - 4rem);
  background-repeat: no-repeat;
  background-size: cover;
}

.marker-popup {
  display: flex;
  width: 20.7rem;
  flex-basis: 0;
  gap: 0.5rem;
  background-color: white;
  border-radius: 0.125rem;
}
.marker-popup__image {
  width: 5.75rem;
  height: 5.75rem;
  aspect-ratio: 1;
}
.marker-popup__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.marker-popup__title {
  margin-top: 0.5rem;
  overflow: hidden;
  color: #4E4B0E;
  text-overflow: ellipsis;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
}
.marker-popup__descr {
  font-size: 0.75rem;
}

.map-form {
  width: 100%;
  padding: 2rem 2rem;
  background-color: rgba(255, 255, 255, 0.9);
}
.map-form__main-toggler, .map-form__filters-toggler {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
}
.map-form__main-toggler:after, .map-form__filters-toggler:after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  background-position: right center;
  background-repeat: no-repeat;
}
.map-form__main-toggler[aria-expanded=true] + *, .map-form__filters-toggler[aria-expanded=true] + * {
  display: flex;
}
.map-form__main-toggler:after {
  background-image: url(../images/svg/chevron-down.svg);
}
.map-form__filters-toggler:after {
  background-image: url(../images/svg/filter.svg);
}
.map-form:after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background-image: linear-gradient(90deg, #26CF7B 50%, #21CAE1 50%, #21CAE1 70%, blue 70%);
}

.map-form__inputs {
  display: none;
}

.hidden-filters {
  display: none;
  position: absolute;
  bottom: 0;
  left: calc(100% + 0.25rem);
  width: 18.5rem;
  padding: 2rem;
  background-color: rgba(255, 255, 255, 0.9);
}

.map-legend {
  position: absolute;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  right: 0;
  bottom: 30px;
  background-color: rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.map-legend__list {
  order: 1;
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding-left: 0.5rem;
  margin-bottom: 0;
  list-style: none;
}
.map-legend__toggler {
  order: 2;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 1rem;
  color: #00072B;
  letter-spacing: 0.01563rem;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 8rem 0 0 8rem;
}
.map-legend__toggler:before, .map-legend__toggler:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-position: center;
}
.map-legend__toggler[aria-expanded=false]:before {
  background-image: url(../images/svg/chevron-left.svg);
}
.map-legend__toggler[aria-expanded=false]:after {
  background-image: url(../images/svg/pin-icon.svg);
}
.map-legend__toggler[aria-expanded=true]:before {
  background-image: url(../images/svg/chevron-right.svg);
}
.map-legend__toggler[aria-expanded=true]:after {
  background-image: url(../images/svg/pin-icon-hover.svg);
}
.map-legend__toggler[aria-expanded=true] + * {
  display: flex;
}
.map-legend__toggler:hover, .map-legend__toggler:focus {
  background-color: white;
}
.map-legend__item {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  color: #000;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}
.map-legend__item:before {
  content: "";
  display: block;
  margin-right: 0.5rem;
  width: 12px;
  height: 12px;
  background-position: center;
  background-repeat: no-repeat;
}
.map-legend__item--industrial:before {
  background-image: url(../images/svg/green-pin.svg);
}
.map-legend__item--property:before {
  background-image: url(../images/svg/blue-pin.svg);
}
.map-legend__item--excellence:before {
  background-image: url(../images/svg/yellow-pin.svg);
}
.map-legend__item--competence:before {
  border-radius: 50%;
  background-color: #E18C23;
}
.map-legend__item--dih:before {
  border-radius: 50%;
  background-color: #9B23E1;
}
.map-legend__item--uni:before {
  border-radius: 50%;
  background-color: #E14623;
}
.map-legend__item--tech:before {
  background-image: url(../images/svg/magenta-pin.svg);
}
.map-legend__item--partner:before {
  border-radius: 50%;
  background-color: #0023D8;
}
.map-legend:has(.map-legend__toggler[aria-expanded=false]) {
  background-color: transparent;
}

.map-wrapper--inside.map-wrapper {
  height: unset;
  z-index: 2;
}
.map-wrapper--inside .map {
  width: 100%;
  height: 100vh;
  min-height: unset;
}
.map-wrapper--inside .map-popup-container {
  display: flex;
  justify-content: stretch;
  align-items: flex-end;
  margin-top: auto;
  height: 13rem;
  width: 100%;
  padding: 1rem;
  background-image: url(../images/jpg/basemap.jpg);
  background-size: cover;
}
.map-wrapper--inside .map-popup-container button:not(.map-legend__toggler) {
  color: #0B4851;
  background-color: #21CAE1;
}
.map-wrapper--inside .map-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 7, 43, 0.8);
  z-index: 1;
}
.map-wrapper--inside .map-popup__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 40px;
  height: 40px;
  background-image: url(../images/svg/close.svg);
  background-position: center;
  background-repeat: no-repeat;
  z-index: 401;
}
.map-wrapper--inside .map-popup__toggler[aria-expanded=true] + .map-popup {
  display: block;
}
.map-wrapper--inside .map-form {
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  padding-bottom: 3rem;
  z-index: 0;
}

@media screen and (min-width: 62em) {
  .map-wrapper {
    height: calc(100vh - 150px - 4rem);
  }
  .map {
    position: absolute;
    height: 100%;
  }
  .map-form {
    position: relative;
    top: 2rem;
    left: 2rem;
    width: clamp(250px, 30vw, 300px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    align-self: stretch;
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
  }
  .map-form__main-toggler, .map-form__filters-toggler {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
  }
  .map-form__main-toggler:after, .map-form__filters-toggler:after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
    background-position: right center;
    background-repeat: no-repeat;
  }
  .map-form__main-toggler[aria-expanded=true] + *, .map-form__filters-toggler[aria-expanded=true] + * {
    display: flex;
  }
  .map-form__main-toggler:after {
    background-image: url(../images/svg/chevron-down.svg);
  }
  .map-form__filters-toggler:after {
    background-image: url(../images/svg/filter.svg);
  }
  .map-form:after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-image: linear-gradient(90deg, #26CF7B 50%, #21CAE1 50%, #21CAE1 70%, blue 70%);
  }
}
@media screen and (max-width: 61.9em) {
  .map-legend {
    bottom: calc(100% - 420px);
    align-items: flex-end;
  }
  .map-wrapper {
    overflow-x: hidden;
  }
  .hidden-filters {
    position: unset;
    padding: 0;
  }
}
.custom-marker .marker-inner {
  width: 16px;
  height: 16px;
}

@media screen and (orientation: landscape) and (max-width: 1280px) {
  .map-wrapper {
    height: calc(120vh - 150px);
  }
  .map {
    height: calc(100vh - 2rem);
  }
  .map-legend {
    bottom: calc(100% - 2rem - 95vh + 3rem);
  }
}
@media screen and (orientation: portrait) and (max-width: 1280px) {
  .map {
    height: calc(100vh - 2rem);
  }
  .map-legend {
    bottom: calc(100% - 2rem - 95vh + 3rem);
  }
}
@media (max-width: 1200px) and (max-height: 768px) {
  .map {
    height: calc(100vh - 2rem);
  }
  .map-legend {
    bottom: calc(100% - 2rem - 95vh + 3rem);
  }
  .map-form {
    width: 100%;
    position: unset;
  }
  .map {
    position: unset;
  }
  .map-wrapper {
    overflow-x: hidden;
    height: unset;
  }
  .hidden-filters {
    position: unset;
    padding: 0;
  }
}
@media screen and (orientation: portrait) and (min-width: 768px) and (max-width: 1280px) {
  .map-wrapper {
    height: calc(100vh - 150px);
  }
  .map {
    height: calc(100vh - 150px);
  }
  .map-legend {
    bottom: calc(100% - 90vh + 3rem);
  }
}
.pagination__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}
.pagination__list li {
  display: inline-block;
}
.pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  padding: 5px;
  color: black;
  border: 1px solid transparent;
  background-position: center;
  background-repeat: no-repeat;
}
.pagination__link:hover, .pagination__link:focus {
  color: grey;
  background-color: rgba(128, 128, 128, 0.2);
}
.pagination__link.active {
  border-color: grey;
}
.pagination__link.disabled {
  color: grey;
}
.pagination__link--first {
  background-image: url(../images/svg/pagination-first.svg);
}
.pagination__link--first:hover, .pagination__link--first:focus {
  background-image: url(../images/svg/pagination-first-hover.svg);
}
.pagination__link--first.disabled {
  background-image: url(../images/svg/pagination-first-disabled.svg);
}
.pagination__link--prev {
  background-image: url(../images/svg/pagination-prev.svg);
}
.pagination__link--prev:hover, .pagination__link--prev:focus {
  background-image: url(../images/svg/pagination-prev-hover.svg);
}
.pagination__link--prev.disabled {
  background-image: url(../images/svg/pagination-prev-disabled.svg);
}
.pagination__link--next {
  background-image: url(../images/svg/pagination-next.svg);
}
.pagination__link--next:hover, .pagination__link--next:focus {
  background-image: url(../images/svg/pagination-next-hover.svg);
}
.pagination__link--next.disabled {
  background-image: url(../images/svg/pagination-next-disabled.svg);
}
.pagination__link--last {
  background-image: url(../images/svg/pagination-last.svg);
}
.pagination__link--last:hover, .pagination__link--last:focus {
  background-image: url(../images/svg/pagination-last-hover.svg);
}
.pagination__link--last.disabled {
  background-image: url(../images/svg/pagination-last-disabled.svg);
}

@media screen and (max-width: 47.9em) {
  .pagination__list {
    flex-wrap: wrap;
  }
}
.social .u-label {
  margin-bottom: 0.5rem;
  font-weight: 700 !important;
}

.social-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
}
.social-list li:not(:first-child) {
  border-left: 1px solid #E7E9EE;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.social-list li:first-child {
  padding-right: 0.5rem;
}
.social-list li:last-child {
  padding-right: 0;
}

.social-link {
  display: block;
  width: 2rem;
  height: 2rem;
  background-position: center;
  background-size: 1.5rem;
  background-repeat: no-repeat;
}
.social-link--facebook {
  background-image: url(../images/svg/social-fb.svg);
}
.social-link--insta {
  background-image: url(../images/svg/social-insta.svg);
}
.social-link--lin {
  background-image: url(../images/svg/social-lin.svg);
}
.social-link--x {
  background-image: url(../images/svg/social-x.svg);
}
.social-link--yt {
  background-image: url(../images/svg/social-yt.svg);
}
.social-link--tt {
  background-image: url(../images/svg/social-tt.svg);
}
.social-link--link {
  background-image: url(../images/svg/social-link.svg);
}
.social-link--rss {
  background-image: url(../images/svg/social-rss.svg);
}

.news-card {
  --border-color: #808395;
  --background-color: white;
  --tag-text: black;
  --tag-background: #808395;
  --title-color: #0E4E2E;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--border-color);
  border-radius: 2px;
}
.news-card__thumb {
  position: relative;
  width: 100%;
  z-index: -1;
}
.news-card__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 175/109;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-card__tag {
  position: absolute;
  margin-bottom: 0;
  padding: 0.25rem 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
  font-size: 0.6rem;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
  color: var(--tag-text);
  background-color: var(--tag-background);
}
.news-card__title {
  color: var(--title-color);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  text-overflow: ellipsis;
}
.news-card__meta {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  color: black;
  font-size: 0.62rem;
  font-weight: 400;
  text-transform: uppercase;
}
.news-card__meta > *:not(:last-child) {
  margin-right: 1rem;
}
.news-card__data, .news-card__footer {
  padding: 1rem;
}
.news-card__data > *:not(:last-child), .news-card__footer > *:not(:last-child) {
  margin-bottom: 1rem;
}
.news-card__data {
  background-color: white;
}
.news-card__excerpt,
.news-card .u-title {
  overflow: hidden;
  color: #000;
  text-overflow: ellipsis;
  font-size: 0.9rem;
  font-weight: normal;
}
.news-card__excerpt {
  height: 1.92rem;
  line-height: 1.2;
}
.news-card__excerpt + .news-card__excerpt, .news-card__excerpt:only-of-type {
  margin-bottom: 0;
}
.news-card .u-label {
  color: #808395;
  margin-bottom: 0.125rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
}
.news-card:hover, .news-card:focus {
  box-shadow: 0px 188px 52px 0px rgba(110, 110, 110, 0), 0px 120px 48px 0px rgba(110, 110, 110, 0.01), 0px 68px 41px 0px rgba(110, 110, 110, 0.05), 0px 30px 30px 0px rgba(110, 110, 110, 0.09), 0px 8px 16px 0px rgba(110, 110, 110, 0.1);
}
.news-card__footer {
  background-color: var(--background-color);
  margin-top: auto;
}
.news-card__footer .u-label {
  font-size: 0.6rem;
}
.news-card__footer .u-title {
  font-size: 0.75rem;
}

.news-card--industrial {
  --border-color: #C1F1DA;
  --background-color: #E9FAF2;
  --tag-text: #0E4E2E;
  --tag-background: #26CF7B;
  --title-color: #0E4E2E;
}

.news-card--property {
  --border-color: #BCF0F6;
  --background-color: #E9FAFC;
  --tag-text: #0B4851;
  --tag-background: #21CAE1;
  --title-color: #0B4851;
}

.news-card--excellence {
  --border-color: #F6F3BC;
  --background-color: #FCFBE9;
  --tag-text: #514E0B;
  --tag-background: #E1D721;
  --title-color: #514E0B;
}

.news-card--competence {
  --border-color: #F6DABC;
  --background-color: #FCF3E9;
  --tag-text: #51320B;
  --tag-background: #E18C23;
  --title-color: #51320B;
}

.news-card--dih {
  --border-color: #E1BCF6;
  --background-color: #F5E9FC;
  --tag-text: white;
  --tag-background: #9B23E1;
  --title-color: #370B51;
}

.news-card--uni {
  --border-color: #F6C5BC;
  --background-color: #FCECE9;
  --tag-text: white;
  --tag-background: #E14623;
  --title-color: #51180B;
}

.news-card--tech {
  --border-color: #F6BCE0;
  --background-color: #FCE9F5;
  --tag-text: white;
  --tag-background: #E1239F;
  --title-color: #510B38;
}

.news-card--partner {
  --border-color: #D3D6E0;
  --background-color: #e8ecff;
  --tag-text: white;
  --tag-background: #0023D8;
  --title-color: #00072B;
}

.news-card--news {
  border: 1px solid transparent;
}
.news-card--news .news-card__data {
  padding: 0;
}
.news-card--news .news-card__meta {
  margin-bottom: 0.5rem;
  color: #000;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.01563rem;
}
.news-card--news:after {
  content: "";
  display: block;
  position: relative;
  bottom: 0;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/svg/arrow-right-black.svg);
  background-position: center;
  background-repeat: no-repeat;
  transition: all 0.2s ease;
}
.news-card--news:hover, .news-card--news:focus {
  box-shadow: none;
}
.news-card--news:hover:after, .news-card--news:focus:after {
  left: calc(100% - 1.5rem);
}

.more-link {
  display: flex;
  align-items: center;
  margin-left: 0.25rem;
  color: #0023D8;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}
.more-link:after {
  content: "";
  display: block;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  margin-left: 0.5rem;
  background-image: url(../images/svg/arrow-left-blue.svg);
  background-repeat: no-repeat;
  background-position: center;
  transition: margin-left 0.3s ease;
}
.more-link:hover, .more-link:focus {
  color: #FC5830;
}
.more-link:hover:after, .more-link:focus:after {
  margin-left: 1rem;
}

div[class*=col]:has(> a.more-link) {
  display: flex;
  justify-content: flex-end;
}

div:has(> a.more-link) {
  display: flex;
  justify-content: flex-end;
}

h1:has(> a.more-link),
h2:has(> a.more-link),
h3:has(> a.more-link),
.u-title:has(> a.more-link) {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
h1:has(> a.more-link) a.more-link,
h2:has(> a.more-link) a.more-link,
h3:has(> a.more-link) a.more-link,
.u-title:has(> a.more-link) a.more-link {
  text-transform: none;
  margin-left: auto;
}

.category-nav {
  margin-top: 3rem;
  margin-bottom: 2rem;
}
.category-nav__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
}
.category-nav__item {
  width: 25%;
}
.category-nav__item:not(:first-child) {
  border-left: 1px dotted #7C84A2;
}
.category-nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: 0 1rem;
  color: #000;
  text-align: center;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}
.category-nav__link:hover, .category-nav__link:focus {
  color: #0023D8;
}

@media screen and (max-width: 61.9em) {
  .category-nav__list {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .category-nav__item {
    width: 20%;
    min-height: 3rem;
  }
  .category-nav__link {
    font-size: 0.65rem;
  }
}
@media screen and (max-width: 47.9em) {
  .category-nav__item {
    width: 30%;
    min-height: 3rem;
  }
  .category-nav__link {
    font-size: 0.65rem;
  }
}
@media screen and (max-width: 35.9em) {
  .category-nav__item {
    width: 45%;
    min-height: 3rem;
  }
  .category-nav__item:nth-child(2n+1) {
    border-color: transparent;
  }
  .category-nav__link {
    font-size: 0.65rem;
  }
}
.news-card-carousel {
  --card-height: 470px;
  width: 100%;
  z-index: 0;
}
.news-card-carousel .carousel-mini-slides {
  height: calc(var(--card-height) + 0.5rem);
}
.news-card-carousel .carousel-mini-nav-btn {
  border-radius: 2px;
  background-color: #0B4851;
}
.news-card-carousel .carousel-mini-nav-btn--active {
  background-color: #26CF7B;
}
.news-card-carousel .carousel-mini-nav {
  top: calc(100% + 1rem) !important;
  display: none;
}
.news-card-carousel .carousel-mini-prev,
.news-card-carousel .carousel-mini-next {
  top: 0;
  height: 100%;
  z-index: 2;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
  background-color: transparent;
  z-index: 1;
}
.news-card-carousel .carousel-mini-prev:before,
.news-card-carousel .carousel-mini-next:before {
  content: "";
  display: block;
  height: 100%;
  width: 32px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
}
.news-card-carousel .carousel-mini-prev:hover, .news-card-carousel .carousel-mini-prev:focus,
.news-card-carousel .carousel-mini-next:hover,
.news-card-carousel .carousel-mini-next:focus {
  border-color: transparent;
}
.news-card-carousel .carousel-mini-prev:before {
  background-image: url(../../assets/images/svg/chevron-left.svg);
}
.news-card-carousel .carousel-mini-next:before {
  background-image: url(../../assets/images/svg/chevron-right.svg);
}
.news-card-carousel .carousel-mini-prev {
  margin-left: -3rem;
}
.news-card-carousel .carousel-mini-next {
  margin-right: -3rem;
}

@media screen and (max-width: 61.9em) {
  .news-card-carousel {
    --card-height: 1000px;
  }
  .news-card-carousel .carousel-mini-prev {
    margin-left: -0.5rem;
  }
  .news-card-carousel .carousel-mini-next {
    margin-right: -0.5rem;
  }
}
.page-carousel {
  --card-height: 27rem;
  width: 100%;
  height: 27rem;
  z-index: 0;
}
.page-carousel img {
  width: 100%;
  height: calc(var(--card-height) + 0.5rem);
  -o-object-fit: cover;
     object-fit: cover;
}
.page-carousel .carousel-mini-slides {
  height: calc(var(--card-height) + 0.5rem);
}
.page-carousel .carousel-mini-nav-btn {
  border-radius: 50%;
  border: 2px solid white;
  background-color: transparent;
}
.page-carousel .carousel-mini-nav-btn--active {
  background-color: white;
}
.page-carousel .carousel-mini-nav {
  top: calc(100% - 4rem) !important;
}
.page-carousel .carousel-mini-prev,
.page-carousel .carousel-mini-next {
  top: 0;
  height: 100%;
  z-index: 2;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  opacity: 0;
  background-color: transparent;
  z-index: 1;
}
.page-carousel .carousel-mini-prev:before,
.page-carousel .carousel-mini-next:before {
  content: "";
  display: block;
  height: 100%;
  width: 32px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
}
.page-carousel .carousel-mini-prev:hover, .page-carousel .carousel-mini-prev:focus,
.page-carousel .carousel-mini-next:hover,
.page-carousel .carousel-mini-next:focus {
  border-color: transparent;
  opacity: 1;
}
.page-carousel .carousel-mini-prev:before {
  background-image: url(../../assets/images/svg/chevron-left.svg);
}
.page-carousel .carousel-mini-next:before {
  background-image: url(../../assets/images/svg/chevron-right.svg);
}

.partner {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.partner__img {
  width: 100%;
  height: 3.75rem;
}
.partner__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.partner__title {
  max-width: 160px;
  color: #000;
  text-align: center;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.55rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

.page-accordion {
  width: 100%;
}
.page-accordion__item {
  width: 100%;
}
.page-accordion__item + .page-accordion__item .page-accordion__title > button {
  border-top: 0;
}
.page-accordion__item:has(button[aria-expanded=true]) + .page-accordion__item .page-accordion__title > button {
  border-top: 1px solid white;
}
.page-accordion__title {
  margin-bottom: 0;
}
.page-accordion__title button {
  display: flex;
  gap: 0.62rem;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  width: 100%;
  color: black;
  font-size: 1rem;
  line-height: 1.25;
  text-align: left;
  background-color: white;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid white;
}
.page-accordion__title button:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.75rem;
}
.page-accordion__title button[aria-expanded=false] {
  background-color: #E7E9EE;
}
.page-accordion__title button[aria-expanded=false]:after {
  background-image: url(../images/svg/icon-plus.svg);
}
.page-accordion__title button[aria-expanded=true], .page-accordion__title button[aria-expanded=true]:hover, .page-accordion__title button[aria-expanded=true]:focus {
  color: white;
  background-color: #00072B;
}
.page-accordion__title button[aria-expanded=true]:after {
  background-image: url(../images/svg/close-white.svg);
}
.page-accordion__title button:hover, .page-accordion__title button:focus {
  background-color: #D3D6E0;
}
.page-accordion__body {
  padding: 1rem;
}

.banner-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.banner-carousel__container {
  display: flex;
  align-items: center;
}
.banner-carousel__track {
  display: flex;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
}
.banner-carousel__item {
  flex: 0 0 auto;
  /* Adjust for 5 images per row */
  width: 20%;
  box-sizing: border-box;
  padding: 0.25rem;
  border: none;
}
.banner-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.banner-carousel__container {
  display: flex;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.banner-carousel__container button {
  display: block;
  width: 40px;
  height: 40px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
}
.banner-carousel__container button:disabled {
  opacity: 0;
}

.banner-carousel__prev {
  background-image: url(../images/svg/chevron-left.svg);
}

.banner-carousel__next {
  background-image: url(../images/svg/chevron-right.svg);
}

.banner-carousel__title {
  color: black;
  text-align: center;
}

.banner-carousel--medium {
  background-color: grey;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .banner-carousel__track {
    gap: 4rem;
  }
}
@media screen and (max-width: 47.9em) {
  .banner-carousel__track {
    justify-content: flex-start;
  }
  .banner-carousel__item {
    width: 33%;
  }
}
@media screen and (max-width: 35.9em) {
  .banner-carousel__item {
    width: 50%;
  }
}
.banner-carousel--light:has(*.banner-carousel__title),
.banner-carousel--medium:has(*.banner-carousel__title) {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.document {
  --document-color: pink;
  position: relative;
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #7C84A2;
  border-radius: 2px;
  color: black;
}
.document__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  border: 1px solid var(--document-color);
}
.document__header p {
  margin-bottom: 0;
  padding: 0.5rem;
  line-height: 1;
}
.document__type {
  padding: 0.5rem;
  color: white;
  text-transform: uppercase;
  line-height: 1;
  background-color: var(--document-color);
}
.document__title {
  font-family: Montserrat;
  font-size: 0.75rem;
  line-height: 1.33;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}
.document__desctiption {
  margin-top: auto;
  margin-bottom: 0;
}
.document:hover, .document:focus {
  color: inherit;
  border-color: var(--document-color);
  background-color: #EDEEF2;
}
.document:hover::after, .document:focus::after {
  display: block;
  bottom: -0.5rem;
  opacity: 1;
}
.document:after {
  display: block;
  opacity: 0;
  content: "";
  position: absolute;
  bottom: 2rem;
  right: 0.5rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--document-color);
  background-image: url(../images/svg/icon-arrow-down.svg);
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.document--pdf {
  --document-color: #EA1212;
}
.document--xlsx {
  --document-color: #009060;
}
.document--docx {
  --document-color: #006BEA;
}
.document--zip {
  --document-color: #CF8326;
}
.document--jpg {
  --document-color: #7C84A2;
}

.header {
  position: relative;
  padding-left: calc(4rem);
  padding-right: calc(4rem);
  background-color: white;
  z-index: 1;
}
@media screen and (max-width: 47.9em) {
  .header {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 1280px) {
  .header {
    height: calc(100% + 64px);
  }
  .header:has(.main-nav__toggler[aria-expanded=true]) {
    padding-bottom: 4rem;
  }
}

.bai-logo {
  display: inline-flex;
  gap: 2rem;
  justify-content: space-between;
  min-width: calc(15rem + 2rem + 3.1rem);
  min-height: 4rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  background-image: url(../images/svg/bai-logo.svg);
  background-position: center;
  background-repeat: no-repeat;
}
.bai-logo:before {
  content: "";
  display: block;
  width: 3.1rem;
  flex: 0 0 3.1rem;
  background-image: url(../images/svg/brand-lion.svg);
  background-position: center;
  background-repeat: no-repeat;
}

html[lang=en] .bai-logo {
  background-image: url(../images/svg/iba-logo-en.svg);
}

.footer {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.forms {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background-image: url(../images/svg/forms-graphic.svg);
  background-repeat: no-repeat;
  background-position: right top -1rem;
  background-size: 50vw;
  text-align: center;
}
.forms > .container > *:not(:last-child) {
  margin-bottom: 2rem;
}
.forms p:not([class]) {
  color: #4D516B;
  font-size: 0.75rem;
  letter-spacing: 0.01563rem;
}
.forms p:not([class]) a {
  display: block;
  color: #0023D8;
  font-weight: 500;
  text-decoration: underline;
}
.forms__leading {
  font-size: 1.5rem;
  line-height: 1.3;
}
@media screen and (min-width: 36em) {
  .forms {
    background-position: right top -1rem;
    background-size: 35vw;
  }
}
@media screen and (min-width: 62em) {
  .forms {
    background-position: right top -4rem;
    background-size: 30vw;
  }
}

.big-title {
  color: #0023D8;
  font-size: 4.5rem;
  font-size: clamp(1.5rem, 1.5rem + 2vw, 4.5rem);
  letter-spacing: 0.01563rem;
}
.big-title span {
  display: block;
  color: #00072B;
  font-size: clamp(0.85rem, 0.85rem + 2vw, 2rem);
  font-weight: 400;
}

.surface-mint,
.surface-blue {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.partners {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.surface-blue {
  background-color: rgba(33, 202, 225, 0.05);
}
.surface-blue .section-title {
  color: #00072B;
  font-size: 2rem;
  font-size: clamp(1.2rem, 1.2rem + 0.5vw, 2rem);
  font-weight: 700;
}

.surface-mint {
  background-color: rgba(38, 207, 123, 0.05);
}
.surface-mint input {
  background-color: white;
}
.surface-mint .section-title {
  color: #0E4E2E;
  font-size: 1.5rem;
  font-size: clamp(0.875rem, 0.875rem + 0.5vw, 1.5rem);
  line-height: 1.2;
  font-weight: 700;
}

.data-section:not(:last-of-type) {
  margin-bottom: 2rem;
}
.data-section__title {
  margin-bottom: 0.5rem;
  color: #138190;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.01563rem;
}

.breadcrumbs {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.breadcrumbs__item {
  display: inline-flex;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
.breadcrumbs__item a {
  display: block;
  text-decoration: none;
}
.breadcrumbs__item:first-of-type a {
  font-weight: 700;
}
.breadcrumbs__item:first-of-type a:after {
  content: "";
  margin-top: 0.125rem;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #0023D8;
}
.breadcrumbs__item:not(:last-of-type):after {
  top: 0;
  content: "";
  display: block;
  margin-left: 0.5rem;
  margin-right: 0.25rem;
  width: 8px;
  height: 14px;
  background-image: url(../images/svg/divider.svg);
  background-position: center;
  background-repeat: no-repeat;
}

.spacer {
  margin-bottom: 0.5rem;
}

.spacer-m {
  margin-bottom: 1rem;
}

.spacer-sm {
  margin-bottom: 0.5rem;
}

.spacer-xs {
  margin-bottom: 0.25rem;
}

.spacer-xxs {
  margin-bottom: 0.125rem;
}

.spacer-l {
  margin-bottom: 2rem;
}

.spacer-xl {
  margin-bottom: 3rem;
}

.spacer-2xl {
  margin-bottom: 4rem;
}

div[class*=spacer] {
  display: block;
  border: 1px solid rgba(128, 128, 128, 0.2);
}

.main-nav {
  display: flex;
  height: 100%;
  width: 100%;
}
.main-nav__list {
  display: flex;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.main-nav__link, .main-nav__login {
  display: flex;
  align-items: center;
  height: 100%;
  color: #00072B;
  font-family: "Montserrat";
  font-size: 0.75rem;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}
.main-nav__link {
  position: relative;
  padding: 0.5rem;
  justify-content: center;
  font-weight: 600;
  flex-direction: column;
}
.main-nav__link:hover, .main-nav__link:focus {
  color: #0023D8;
}
.main-nav__link:hover:after, .main-nav__link:focus:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #0023D8;
}
.main-nav__login {
  align-self: center;
  padding: 1rem 2rem;
  font-weight: 700;
  border: 2px solid #253264;
}
.main-nav__login:hover, .main-nav__login:focus {
  color: white;
  background-color: #253264;
}
.main-nav li:has(.main-nav__login) {
  align-self: center;
}
.main-nav__language-toggle {
  display: block;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
}

html[lang*=bg] .main-nav__language-toggle {
  background-image: url(../images/svg/uk-flag.svg);
}

html[lang*=en] .main-nav__language-toggle {
  background-image: url(../images/svg/bg-flag.svg);
}

@media screen and (max-width: 61.9em) {
  .main-nav {
    height: calc(100vh - 64px - 150px);
    padding-top: 1rem;
    background-color: white;
    justify-content: center;
    align-items: center;
  }
  .main-nav__toggler {
    display: block;
    width: 100%;
    height: 52px;
    padding: 0.5rem;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
  }
  .main-nav__toggler[aria-expanded=false] {
    background-image: url(../images/svg/mobile-nav-open.svg);
  }
  .main-nav__toggler[aria-expanded=true] {
    background-image: url(../images/svg/mobile-nav-close.svg);
  }
  .main-nav__toggler:hover, .main-nav__toggler:focus {
    background-color: white;
  }
  .main-nav__toggler[aria-expanded=false] + .main-nav {
    display: none;
  }
  .main-nav__toggler[aria-expanded=true] + .main-nav {
    display: block;
  }
  .main-nav__list {
    flex-direction: column;
  }
  .main-nav__language-toggle {
    height: 40px;
  }
  .main-nav li:nth-child(3) {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 62em) {
  .main-nav {
    display: flex;
    justify-content: flex-end;
    height: 100%;
    width: 100%;
  }
  .main-nav__toggler {
    display: none;
  }
  .main-nav__link, .main-nav__login {
    display: flex;
    align-items: center;
    height: 100%;
    color: #00072B;
    font-family: "Montserrat";
    font-size: 0.75rem;
    letter-spacing: 0.01563rem;
    text-transform: uppercase;
  }
  .main-nav__link {
    position: relative;
    padding: 0.5rem;
    justify-content: center;
    font-weight: 600;
    flex-direction: column;
  }
  .main-nav li.main-nav-spacer {
    padding-left: 3rem;
  }
  .main-nav__language-toggle {
    width: calc(2rem + 32px);
    height: 100%;
  }
}
@media (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 1280px) {
  .main-nav {
    height: 100%;
  }
}
.footer-bottom ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.footer-bottom ul li {
  display: inline-block;
}
.footer-bottom ul a {
  display: inline-block;
  padding: 0.25rem;
  color: #00072B;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
  text-decoration: none;
}

.footer-title {
  min-height: 3.125rem;
  margin-bottom: 0.75rem;
}

.footer-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.footer-list li:not(:last-child) {
  margin-bottom: 0.25rem;
}
.footer-list a:not([class]) {
  color: black;
  font-size: 1rem;
  line-height: 1.25;
}

.credentials {
  display: block;
  padding: 0.25rem 0;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.625rem;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}

.page-header {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.page-header .u-label {
  font-weight: normal;
  font-size: 0.625rem;
}
.page-header .u-title {
  color: #000;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01563rem;
  text-transform: none;
}

.page-media {
  margin-bottom: 2rem;
}
.page-media #map.map,
.page-media .map-wrapper {
  height: 27rem;
  min-height: 27rem;
}
@media screen and (min-width: 62em) {
  .page-media #map.map,
  .page-media .map-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50vw - 0.5rem);
  }
}
.page-media div[class*=col]:has(.map-wrapper) {
  position: relative;
}
.page-media img {
  height: 27rem;
}

.page-meta a:not([class]) {
  display: block;
}
.page-meta__item {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.page-meta__item:not(:last-child) {
  border-bottom: 1px solid #D3D6E0;
}
.page-meta .u-label {
  color: #000;
  font-weight: normal;
}

.page-date {
  margin-top: 1rem;
  margin-bottom: 2rem;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01563rem;
  text-transform: uppercase;
}

.page-section {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.page-section:last-of-type {
  margin-bottom: 0;
}

.page {
  --title-color: black;
  --header-background: transparent;
  --u-label-color: black;
}
.page .page-header {
  background-color: var(--header-background, transparent);
}
.page .page-header .page-title {
  color: var(--title-color);
  margin-bottom: 0;
}
.page .page-header .u-label {
  color: var(--u-label-color);
}
.page .page-header hgroup .u-label {
  margin-bottom: 0.25rem;
}
.page .page-header hgroup .u-title {
  font-family: "Sofia", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.22;
  /* 122.222% */
  letter-spacing: 0.01563rem;
}
.page .news-card--news .news-card__title {
  color: var(--news-title-color);
}
.page--industrial {
  --title-color: #0E4E2E;
  --header-background: #E9FAF2;
  --u-label-color: black;
  --news-title-color: #0E4E2E;
}
.page--property {
  --title-color: #0B4851;
  --header-background: #E9FAFC;
  --u-label-color: black;
  --news-title-color: #0B4851;
}
.page--excellence {
  --title-color: #514E0B;
  --header-background: #FCFBE9;
  --u-label-color: black;
  --news-title-color: #514E0B;
}
.page--competence {
  --title-color: #51320B;
  --header-background: #FCF3E9;
  --u-label-color: black;
  --news-title-color: #51320B;
}
.page--dih {
  --title-color: #370B51;
  --header-background: #F5E9FC;
  --u-label-color: black;
  --news-title-color: #370B51;
}
.page--uni {
  --title-color: #51180B;
  --header-background: #FCECE9;
  --u-label-color: black;
  --news-title-color: #51180B;
}
.page--tech {
  --title-color: #510B38;
  --header-background: #F3EBF0;
  --u-label-color: black;
  --news-title-color: #510B38;
}
.page--partner {
  --title-color: #00072B;
  --header-background: #e8ecff;
  --u-label-color: black;
  --news-title-color: #0023D8;
}
.page--news .page-title {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.3;
}

@media screen and (min-width: 48em) {
  .page .u-title {
    font-size: 1.125rem;
  }
}
.error-title {
  margin-bottom: 2rem;
  padding-top: 4rem;
  color: #0023D8;
  font-size: 2rem;
  font-size: clamp(1rem, 1rem + 1vw, 2rem);
  text-align: center;
  letter-spacing: 0.0125rem;
  line-height: 1;
}
.error-title__type {
  display: block;
  font-size: clamp(3rem, 3rem + 10vw, 16rem);
}
.error-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  text-align: center;
}
.error-container ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.error-container p:has(+ ul),
.error-container p:has(+ ol) {
  margin-bottom: 0;
}
.error-container small {
  display: block;
  margin-top: 2rem;
  color: #808395;
}/*# sourceMappingURL=main.css.map */