/*! HTML5 Boilerplate v9.0.0-RC1 | MIT License | https://html5boilerplate.com/ */

/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --grey-light: #FAFAFA;
  --grey: #777573;
  --grey-medium: #5B5956;  
  --grey-strong: #403C3A;
  --turquoise-light: #C6DFE3;
  --turquoise: #1BA3B1;
  --turquoise-medium: #00838E;
  --turquoise-strong: #01636B;
  --white: #FFFFFF;
}

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

* {
  padding: 0;
  margin: 0;
}

html {
  color: #222;
  font-size: 1em;
  line-height: 1.5;
}
body {
  font-family: "Raleway";
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

ul, ol {
  list-style-type: none;
}

/* ==========================================================================
   Author's custom styles
   ============== */

a {
  color: var(--grey-medium);
  text-decoration: none;
}
.text-link-turquoise {
  color: var(--turquoise);
  transition: all 0.3s;
}
.text-link-turquoise:hover {
  color: #75B9C3;
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.fw-bold {
  font-weight: 700!important;
}
.fw-bolder {
  font-weight: 600!important;
}
.mb {
  margin-bottom: 24px;
}
.mb-1 {
  margin-bottom: 8px;
}
.mb-2 {
  margin-bottom: 12px;
}
.pb-1 {
  padding-bottom: 8px;
}
.radius {
  border-radius: 8px;
}
.bg-gray {
  background-color: var(--grey-light);
}
.bg-turquoise {
  background-color: var(--turquoise-light);
}
.color-turquoise {
  color: var(--turquoise);
}
.color-turquoise-strong {
  color: var(--turquoise-strong);
}
.color-grey {
  color: var(--grey);
}
.color-grey-medium {
  color: var(--grey-medium);
}
.box-01 {
  padding: 24px;
  border-radius: 8px;
  position: relative;
}
.box-02 {
  padding: 24px;
  position: relative;
}
.title-24 {
  font-size: 1.5rem;
  line-height: 2.0625rem;
  font-weight: 600;
}
.title-36 {
  font-size: 1.5rem;
  line-height: 2.0625rem;
  font-weight: 500;
}
.text-28 {
  font-size: 1.65rem;
  line-height: 1;
}
.text,
.text-16 {
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--grey-medium);
}
.btn {
  font-size: 14px;
  line-height: 21px;
  color: var(--white);
  font-weight: 700;
  padding: 14px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1BA3B1;
  border-radius: 4px;
  transition: all 0.3s;
}
.btn:hover {
  background-color: #75B9C3;
}
.btn:focus {
  background-color: #01636B;
}


.btn img {
  margin-left: 10px;
}
@media (min-width: 1200px) {
  .mb {
    margin-bottom: 48px;
  }
  .mb-1 {
    margin-bottom: 24px;
  }
  .radius {
    border-radius: 12px;
  }
  .box-01 {
    padding: 64px;
    border-radius: 12px;
  }
  .box-02 {
    padding: 64px;
  }
  .title-24 {
    font-size: 1.5rem;
    line-height: 2.0625rem;  
  }
  .title-36 {
    font-size: 2.25rem;
    line-height: 3.375rem;
  }
  .text {
    font-size: 1.375rem;
    line-height: 2.0625rem;
  }
  .text-16 {
    font-size: 1rem;
    line-height: 1.5rem;
    color: var(--grey-medium);
  }
}

.swiper-01 {
  width: calc(100% + 48px);
  height: 270px;
  padding: 0 12px 50px 24px;  
  margin-top: 24px;
  left: -24px;
}
.swiper-02 {
  width: calc(100% + 48px);
  height: 220px;
  padding: 0 12px 20px 24px;  
  margin-top: 24px;  
  left: -24px;
}
.swiper-03-wrap {
  position: relative;
  height: 220px;
}
.swiper-03 {
  width: calc(100% + 48px);
  height: 220px;
  padding: 0 12px 20px 24px;  
  margin-top: 24px;
  left: -24px;
}
.swiper-buttons {
  top: 0;
  right: 0;
  flex: 1 1 50%;
  position: relative;
}
.swiper-wrapper {
  display: flex;
  align-items: stretch;
}
.swiper-01 .swiper-slide {
  display: flex; 
}
.swiper-buttons .swiper-button-next {
  right: 0;
  left: auto;
  top: 0;
}
.swiper-buttons .swiper-button-prev {
  right: 60px;
  left: auto;
  top: 0;
}
.swiper-buttons.swiper-buttons-03 .swiper-button-next {
  right: 0;
  left: auto;
  top: 0;
}
.swiper-buttons.swiper-buttons-03 .swiper-button-prev {
  right: 60px;
  left: auto;
  top: 0;
}
.swiper-buttons .swiper-button-next, 
.swiper-buttons .swiper-button-prev {
  width: 14px;
  height: 24px;
  color: #01636B;
  margin-top: 12px;
}
.swiper-buttons .swiper-button-next:after, 
.swiper-buttons .swiper-button-prev:after {
  font-size: 24px;
  font-weight: 900;
}
.swiper-buttons .swiper-button-next.swiper-button-disabled, 
.swiper-buttons .swiper-button-prev.swiper-button-disabled {
  opacity: 1;
  color: #B6B5B4;
}
.title-wrap {
  display: flex;
}
.swiper-01 .swiper-01-item,
.swiper-03 .swiper-03-item {
  color: #5B5956;
  padding: 24px;
  border-radius: 8px;
  background-color: #FAFAFA;
  /*box-shadow: 0px 5.88px 11.76px 0px rgba(0, 0, 0, 0.1);*/
  box-shadow: 0px 88px 25px 0px rgba(0, 0, 0, 0.00), 0px 56px 22px 0px rgba(0, 0, 0, 0.01), 0px 32px 19px 0px rgba(0, 0, 0, 0.05), 0px 14px 14px 0px rgba(0, 0, 0, 0.09), 0px 4px 8px 0px rgba(0, 0, 0, 0.10);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1;
}
.swiper-01 .swiper-01-item.swiper-01-shadow:after {
  content: '';
  position: absolute;
  display: flex;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 67.4%, rgba(0, 0, 0, 0.7) 100%);
  z-index: 99;
  border-radius: 8px;
}
.swiper-01 .swiper-01-item-01 {
  background: url(../img/img-04.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.swiper-01 .swiper-01-item-02 {
  background: url(../img/img-05.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.swiper-01 .swiper-01-item-03 {
  background: url(../img/img-06.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.swiper-01 .tit-cover,
.swiper-03 .tit-cover {
  font-size: 26px;
  font-weight: 700;
  color: var(--white);
  position: absolute;
  bottom: 32px;
  left: 32px;
  z-index: 100;
}
.swiper-01 .swiper-01-item .title,
.swiper-03 .swiper-03-item .title {
  font-size: 1rem;
  line-height: 1;
  font-weight: 600;
  display: flex;
  align-items: flex-end;
}
.swiper-01 .swiper-01-item .text-28,
.swiper-03 .swiper-03-item .text-28 {
  margin-right: 5px;
}
.swiper-01 .swiper-01-item .text,
.swiper-03 .swiper-03-item .text {
  font-size: 0.9rem;
  line-height: 1.5rem;
  font-weight: 500;
  margin-top: 24px;
}
.swiper-02 .swiper-slide {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-direction: column;
  height: 100%; /* Stretch slide to fill the Swiper container */
}
.swiper-02 .swiper-02-item {
  width: 100%;
  padding: 12px;
  color: #5B5956;
  border-radius: 8px;
  background-color: #FFFFFF;
  box-shadow: 0px 5.88px 11.76px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  max-height: 130px;
}
.swiper-02 .swiper-02-item .ico-info {
  position: absolute;
  top: 12px;
  right: 12px;
}
.swiper-02 .swiper-02-item img {
  max-width: 90px;
}
.swiper-02 .label {
  font-weight: 500;
  color: var(--grey-medium);
  margin-top: 24px;
  width: 100%;
  display: block;
  padding-left: 10px;
}
.swiper-03 .swiper-slide {
  display: flex; 
}
@media (min-width: 1200px) {
  .swiper-01 {
    width: 100%;
    height: 270px;
    padding: 0 16px 50px 64px;
    position: absolute;
    left: 0;
  }
  .swiper-02 {
    width: calc(100% - 48px);
    height: 250px;
    padding: 0 16px 0 16px;
    position: absolute;
    left: 48px;
  }
  .swiper-02 .swiper-02-item .ico-info {
    top: 24px;
    right: 24px;
  }
  .swiper-02 .swiper-02-item {
    max-height: 200px;
  }
  .swiper-01 .swiper-01-item,
  .swiper-03 .swiper-03-item {
    padding: 32px;
  }
  .swiper-03-wrap {
    position: relative;
    height: 270px;
  }
  .swiper-03 {
    width: 580px;
    height: 305px;
    padding: 0 0 55px 64px;
    left: -64px;
    position: absolute;
  }  
}
@media (min-width: 1400px) {
  .swiper-01 {
    width: 620px;    
  }
  .swiper-02 {
    width: 596px;
  }  
}
   
/*** LAYOUT ***/
.container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 16px;
}

main.container {
  padding-top: 48px;
}

.sect-img {
  position: relative;  
}
.sect-img::before {
  content: '';
  display: flex;
  height: 100%;
  width: 100%;  
  background: linear-gradient(179.67deg, rgba(255, 255, 255, 0) 17.41%, rgba(234, 234, 234, 0.9) 72.56%);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 12px; 
}
.sect-img.sect-hero::before {
  background: linear-gradient(179.67deg, rgba(255, 255, 255, 0) 17.41%, rgba(234, 234, 234, 0.9) 72.56%)
}

.sect-img .img-fluid {
  border-radius: 12px;
  aspect-ratio: 179/263;
  object-fit: cover;
}
.sect-img-inner {
  width: 100%;
  display: flex;
  align-items: start;  
  justify-content: start;
  flex-direction: column;
  position: absolute;
  bottom: 24px;
  padding: 0 24px;
}
.sect-hero .sect-img-inner {
  align-items: center;  
  justify-content: center;
  flex-direction: column;
  position: absolute;
  bottom: 40px; 
}
.sect-img-inner h1 {
  margin-bottom: 12px;
}
.sect-img-inner h1 img {
  max-width: 170px;
}
.sect-img h2 {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 600;
  color: var(--turquoise-medium);
}
.sect-img h3 {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 600;
  color: var(--grey-strong);
}
@media (min-width: 768px) {
  .sect-img-inner {
    padding: 0 45px;
    bottom: 32px;
  }
  .sect-hero .sect-img-inner {
    bottom: 54px;
  }
  .sect-img h2 {
    font-size: 3rem;
    line-height: 4.5rem;
  }
  .sect-img h3 {
    font-size: 4rem;
    line-height: 6rem;
  }
  .sect-img-inner h1 img {
    max-width: 375px;
  }
  .sect-img .img-fluid {
    aspect-ratio: 1200/689;    
  }
}
.sect-two-col {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}
@media (max-width: 1199px) {
  .sect-two-col.bg-turquoise .box-01:first-child {
    padding-bottom: 0;
  }
  .sect-two-col.bg-turquoise .box-01:last-child {
    padding-top: 0;
  }
}
@media (min-width: 1200px) {
  .sect-two-col {
    flex-direction: row;
    column-gap: 48px;
  }
  .sect-two-col > div {
    flex: 1 1 50%;
  }
}

.sect-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  grid-template-areas: 
  "sect-search-a"
  "sect-search-c"
  "sect-search-b"
  ;
  border-radius: 8px;
}
.sect-search-a {
  grid-area: sect-search-a;
}
.sect-search-b {
  grid-area: sect-search-b;
}
.sect-search-c {
  grid-area: sect-search-c;
}
@media (min-width: 1200px) {
  .sect-search {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 
    "sect-search-a sect-search-a"
    "sect-search-c sect-search-b";
    border-radius: 12px;
  }
  .sect-search .box-02 {
    padding-top: 32px;
  }
  .sect-search .row {
    display: flex;
    flex-direction: row;
    column-gap: 48px;
  }
  .sect-search .sect-search-a,
  .sect-search .sect-search-b {
    padding-bottom: 0;
  }

  .sect-search .sect-search-b{
    padding-top:0px !important;
  }
}

.sect-services {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  border-radius: 8px;
  position: relative;
}
.sect-services img {
  height: 40px;
  aspect-ratio: 1/1;
}
@media (max-width: 1199px) {
  .sect-services {
    padding-top: 48px;
  }
  .sect-services::after {
    content: '';
    width: 64px;
    height: 100%;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    z-index: 0;
    border-radius: 50px 50px 0 0;
  }
  .sect-services > div img {
    grid-area: sect-services-img;
    justify-self: center;
  }
  .sect-services > div h3 {
    grid-area: sect-services-title;
  }
  .sect-services > div p {
    grid-area: sect-services-p;
  }
  .sect-services > div {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-areas: 
    "sect-services-img sect-services-title"
    ". sect-services-p"
    ;
    z-index: 1;
    gap: 0 12px;
    margin-bottom: 48px;
  }
}
@media (min-width: 1200px) {
  .sect-services {
    grid-template-columns: 1fr 1fr;
    padding: 0 130px;
    gap: 40px 130px;
  }
  .sect-services div {
    position: relative;
  }
  .sect-services div:nth-child(1)::after {
    content: '';
    height: 50px;
    width: calc(100% + 195px);
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    top: 46px;
    z-index: 1;
    transform: translateX(-130px);
  }
  .sect-services div:nth-child(2)::after,
  .sect-services div:nth-child(4)::after {
    content: '';
    height: 50px;
    width: calc(100% + 107px);
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    top: 46px;
    z-index: 1;
    transform: translateX(-65px);
  }
  .sect-services div:nth-child(3)::after {
    content: '';
    height: 50px;
    width: calc(100% + 107px);
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    top: 46px;
    z-index: 1;
    transform: translateX(-42px);
  }
  .sect-services div:nth-child(2)::before {
    content: '';
    width: 50px;
    height: 100%;
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    right: 0;
    top: 46px;
    z-index: 1;
    transform: translateX(92px);
    border-radius: 0 50px 0 0;
  }
  .sect-services div:nth-child(3)::before {
    content: '';
    width: 50px;
    height: 100%;
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    top: 46px;
    z-index: 1;
    transform: translateX(-92px);
    border-radius: 50px 0 0 0;
  }
  .sect-services div:nth-child(4)::before {
    content: '';
    width: 50px;
    height: 100%;
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    right: 0;
    bottom: -96px;
    z-index: 1;
    transform: translateY(-100%) translateX(92px);
    border-radius: 0 0 50px 0;
  }
  .sect-services div:nth-child(5)::after {
    content: '';
    height: 50px;
    width: calc(100% + 107px);
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    top: 46px;
    z-index: 1;
    transform: translateX(-42px);
    border-radius: 0 50px 50px 0;
  }
  .sect-services div:nth-child(5)::before {
    content: '';
    width: 50px;
    height: 100%;
    display: flex;
    background-color: #E7F2F3;
    position: absolute;
    left: 0;
    bottom: -96px;
    z-index: 1;
    transform: translateY(-100%) translateX(-92px);
    border-radius: 0 0 0 50px;
  }
  .sect-services img {
    margin-bottom: 6px;
  }
  .sect-services .title-24 {
    line-height: 48px;
    background-color: #E7F2F3;
    margin-bottom: 28px;
    z-index: 2;
    position: relative;
  }  
}

.sect-pharm {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
}
.sect-pharm > div:first-child {
  border-radius: 12px 12px 0 0;
}
@media (min-width: 1200px) {
  .sect-pharm {
    flex-direction: row;
    border-radius: 12px;
  }
  .sect-pharm > div {
    flex: 0 0 50%;
  }
  .sect-pharm > div:first-child {
    border-radius: 12px 0 0 12px;
  }
}

.privacy {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin-bottom: 48px;
}
@media (max-width: 1199px) {
  .privacy {
    margin-top: 48px;
  }
}

footer {
  padding: 0 16px;
  background-color: #403C3A;
}
footer .container {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lt-footer {
  display: flex;
  gap: 16px;
}
.lt-footer li {
  font-size: .75rem;
  line-height: 1.125rem;
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.lt-footer li:hover {
  background-color: #5B5956;
}
.lt-footer li:focus,
.lt-footer li:active {
  background-color: #000000;
}
.lt-footer li > a {
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  aspect-ratio: 1/1;
  padding: 17px 12px;
}
.lt-footer li img {
  height: 24px;
  aspect-ratio: 1/1;
  margin-bottom: 12px;
}
@media (min-width: 1200px) {
  footer {
    padding: 0 32px;   
  }
  .lt-footer {
    gap: 32px;
  }
  .lt-footer li {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .lt-footer li > a {
    padding: 32px 36px;
  }
  .lt-footer li img {
    height: 48px;
  }
}


.brand-info {
  display: none;
}
.brand-info {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 32px 24px;
  background-color: #FAFAFA;
  border-radius: 16px 16px 0 0;
  display: block;
  position: fixed;
  z-index: 9999;
  left: 0;
  bottom: 0;  
  transition: bottom 0.5s ease-in-out;
}
.brand-info--inner {
  color: var(--grey-medium);
  display: flex;
  flex-direction: column;
}
.brand-info--head {
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #EAEAEA;
}
.brand-logo-wrap {
  display: flex;
  align-items: center;
  height: 60px;
  margin-bottom: 12px;
}
.brand-logo-wrap img {
  height: auto;
  max-height: 100%;
}
.brand-info--close {
  position: absolute;
  top: 24px;
  right: 24px;
  cursor: pointer;
}
.hide-brand {
  bottom: -100%;
}
.show-brand {
  bottom: 0;
}
#mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
  z-index: 9999;
}
/* Fade-in class */
#mask.show {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0s linear 0s;
}
@media (min-width: 1200px) {
  .hide-brand {
    right: -640px;    
    left: auto;
    bottom: auto;
    top: 0;
  }
  .show-brand {
    right: 0!important;
    bottom: auto;
    top: 0;
    left: auto;
  }
  .brand-info {
    width: 100%;
    max-width: 640px;
    height: 100%;
    margin: 0;
    padding: 112px 64px 64px;
    border-radius: 12px 0 0 12px;
    right: -640px;
    transition: right 0.5s ease-in-out;
  }
  .brand-info--close {
    top: 64px;
    right: 64px;
  }
  .brand-info--inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
  }
  .brand-logo-wrap {
    height: 80px;
  }  
}

.map-wrap {
  display: flex;
  flex-direction: column-reverse;
  flex: 1 1 auto!important;
  margin: 16px 20px;
}
.map {
  position: relative;
  text-align: center;
  margin-bottom: 24px;
}
.map-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 0 0 205px;
  padding: 24px;
  row-gap: 32px;
  margin-right: 12px;
  background-color: #FFFFFF;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1), 0px 14px 14px 0px rgba(0, 0, 0, 0.09), 0px 32px 19px 0px rgba(0, 0, 0, 0.05), 0px 56px 22px 0px rgba(0, 0, 0, 0.01), 0px 88px 25px 0px rgba(0, 0, 0, 0);
  border-radius: 8px;
}
.map-info .number {  
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 3.375rem;
  color: var(--turquoise-medium);
  display: block;
}
.map-info .text {
  font-size: .875rem;
  line-height: 1.3125rem;
  color: var(--grey-medium);
}
.map-info .legenda {
  font-size: .875rem;
  line-height: 1.3125rem;
  font-weight: 500;
  color: #969492;
}
.nation-dtl {
  display: none;
}
.headquarter {
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.3125rem;
  color: var(--turquoise-medium);
  position: relative;
}
.headquarter::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  margin-bottom: 5px;
  background: url(../img/ico-headquarter.svg) no-repeat center;
  background-size: contain;
}
.headquarter.hide-icon-head::before {
  display: none;
}
.address {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.3125rem;
  color: var(--grey-medium);
}
.nation.active {
  fill: #1BA3B1;
}
a path {
  pointer-events: auto;
  transition: fill 0.4s;
}
.nation.active path.nazioneMap,
.nation:hover path.nazioneMap {
  fill: #1BA3B1;
  stroke: #969492;
  stroke-width: 1px;
  transition: fill 0.4s;
}
path.nazioneMap {
  position: relative;
  z-index: 14;
}
.circlemap-outer {
  animation: pulse 1s infinite; /* Animazione che dura 1 secondo e si ripete all'infinito */
  transform-origin: center;     /* Assicurati che il punto di origine della trasformazione sia al centro del cerchio */
}
.nation.active .circlemap,
.nation:hover .circlemap {
  display: none!important;
}
.nation.active .headquarterMap,
.nation:hover .headquarterMap {
  fill: #A3CDD4;
  stroke: #FFFFFF;  
}
.headquarterMap {
  z-index: 15;
  position: relative;
}
@keyframes pulse {
  0% {
      opacity: 1;               /* Opacità completa */
  }
  25% {
      opacity: 0.5;             /* Opacità ridotta a metà */
  }
  50% {
    opacity: 0;             /* Opacità ridotta a metà */
  }
  75% {
    opacity: 0.5;             /* Opacità ridotta a metà */
  }
    100% {
        opacity: 1;               /* Torna all'opacità completa */
    }
}
.nation {
  z-index: 9999;
  position: relative;
}
.map-hover {
  position: absolute;
  z-index: 999;  
  display: none;
}
.map-hover.active {
  display: block;
}
@media (min-width: 1200px) {
  .map-wrap {
    flex-direction: row; 
  }
  .map {
    text-align: left;
    margin: 0;
  }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

@media (max-width: 460px) {
	.container {
		padding:0 10px;
	}
	.map-wrap{
		margin:16px 0px;
	}
	.swiper-01 .swiper-01-item, .swiper-03 .swiper-03-item {
		padding:20px;
	}
	.text-28 {
		font-size: 1.5rem;
	}
	.swiper-01 .swiper-01-item .text, .swiper-03 .swiper-03-item .text {
		font-size: 0.8rem;
		line-height: 1.3rem;
		font-weight: 500;
		margin-top: 14px;
	}
}