/* Visual */
.section--visual {
  display:block;
  width:100%;
  height:100vh;
  position:relative;
  background-color: #222;
  overflow: hidden;
}

.visual {
  width:100%;
  height:100%;
  padding:94px 40px 40px;
  background-color: #fff;
}

.visual__tit {
  font-size:20rem;
  font-weight:800;
  line-height:0.7;
  color:rgba(255,255,255,.7);
}

.visual__txt {
  font-size:2rem;
  font-weight:300;
  color:#ffffff;
}

.visual .swiper-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.visual .swiper-wrapper {
  height:100%;
}

.visual .swiper-slide {
  height:100%;
  overflow:hidden;
}

.visual .background {
  position: absolute;
  left: 0;
  top: 0;
  width:100%;
  height:100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.visual .background--1 {
  background-image: url('../img/main/visual1.png');
}
.visual .background--2 {
  background-image: url('../img/main/visual2.png');
}
.visual .background--3 {
  background-image: url('../img/main/visual3.png');
}

.visual .swiper-slide .background {
  -webkit-transform:scale(1.1);
  -ms-transform:scale(1.1);
  transform:scale(1.1);
  -webkit-transition:6s all ease;
  -ms-transition:6s all ease;
  transition:6s all ease;
}

.visual .swiper-slide-active .background {
  -webkit-transform:scale(1);
  -ms-transform:scale(1);
  transform:scale(1);
  -webkit-transition:6s all ease;
  -ms-transition:6s all ease;
  transition:6s all ease;
}

.visual .context {
  max-width:1310px;
  width:100%;
  height:100%;
  padding:0px 15px;
  margin:0 auto;
  position: relative;
  z-index: 2;
  text-align: center;
}

.visual .context__inner {
  width:100%;
  height:100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
  pointer-events: none;
}

.visual .area {
  display: block;
  overflow: hidden;
}

.visual .area__ani {
  overflow: hidden;
  display:inline-block;
}

.visual .area__ani > * {
  display:block;
  opacity:0;
}

.visual .swiper-slide.swiper-slide-active .area--tit .area__ani > * {
  animation:titAni 1s ease forwards;
}

.visual .swiper-slide.swiper-slide-active .area--tit .area__ani:nth-child(1) > * {
  animation-delay: 0.2s;
}

.visual .swiper-slide.swiper-slide-active .area--tit .area__ani:nth-child(2) > * {
  animation-delay: 0.4s;
}

.visual .swiper-slide.swiper-slide-active .area--tit .area__ani:nth-child(3) > * {
  animation-delay: 0.6s;
}

.visual .swiper-slide.swiper-slide-active .area--tit .area__ani:nth-child(4) > * {
  animation-delay: 0.8s;
}

.visual .area--txt {
  margin-top:40px;
}

.visual .swiper-slide.swiper-slide-active .area--txt .area__ani > * {
  animation:txtAni 1s ease forwards;
  animation-delay: 1.2s;
}

@keyframes titAni {
  0% {
    opacity:0;
    color:rgba(255,255,255,.2);
    -webkit-ransform:translateY(100%);
    -ms-transform:translateY(100%);
    transform:translateY(100%);
  }
  100% {
    opacity:1;
    color:rgba(255,255,255,.7);
    -webkit-ransform:translateY(0);
    -ms-transform:translateY(0);
    transform:translateY(0);
  }
}

@keyframes txtAni {
	0% {
		opacity:0;
    -webkit-ransform:translateY(-100%);
    -ms-transform:translateY(-100%);
		transform:translateY(-100%);
	}

	100% {
		opacity:1;
    -webkit-ransform:translateY(0);
    -ms-transform:translateY(0);
		transform:translateY(0);
	}
}

.visual .swiper-control {
  position: absolute;
  width:170px;
  bottom:180px;
  left:50%;
  transform: translateX(-50%);
  z-index:100;
  color:#fff;
  display: flex;
  align-items:center;
  justify-content: center;
  z-index:2;
}

.visual .control__inner {
  width:100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.visual .swiper-pagination {
  position: absolute;
  top:0;
  width:150px;
}

.visual .swiper-pagination-current,
.visual .swiper-pagination-total {
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  line-height:1;
  font-weight:600;
  font-size:1.6rem;
}

.visual .swiper-pagination-current {
  left:0;
}

.visual .swiper-pagination-total {
  right:0;
}

.visual .swiper-progress-bar {
  position: absolute;
  width:88px;
  display: block;
  z-index: 1;
  height: 2px;
  overflow: hidden;
  left:30px;
}

.visual .swiper-progress-bar.active .slide-progress-bar{
   opacity: 1;
}

.visual .swiper-progress-bar.animate .slide-progress-bar::after {
  transition: width linear;
  transition-delay: unset;
  width: 100%;
  transition-duration: 5s;
}

.visual .slide-progress-bar {
  position: relative;
  height: 2px;
  background: #8a8a8a;
  width: auto;
  clear: both;
  opacity: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items:center;
  justify-content: center;
}

.visual .slide-progress-bar:after {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  height: 100%;
  width: 0;
  content: "";
}

.visual .swiper-play-stop-btn {
  position:absolute;
  right:0;
}

.visual .swiper-play-stop-btn img {
  cursor: pointer;
}

.visual .swiper-play-stop-btn .stop-button,
.visual .swiper-play-stop-btn .play-button {
  display: none;
}

.visual .swiper-play-stop-btn .stop-button.active,
.visual .swiper-play-stop-btn .play-button.active {
  display:block;
}


/* Large devices (desktops, less than 1200px) - lg */
@media (max-width: 1199px) {

  .section--visual {
    height:780px;
  }

  .visual {
    padding:0px;
  }

  .visual__tit {
    font-size:12rem;
  }

  .visual__txt {
    font-size:1.8rem;
  }

  .visual .area--txt {
    margin-top:26px;
  }

}
/* Medium devices (tablets, less than 992px) - md */
@media (max-width: 991px) {


}
/* Small devices (landscape phones, less than 768px) - sm */
@media (max-width: 767px) {

  .section--visual {
    height:100vh;
  }

  .visual__tit {
    font-size:6rem;
  }

  .visual__txt {
    font-size:1.6rem;
  }

  .visual .area--txt {
    margin-top:20px;
  }

  .visual .swiper-control {
    display: none;
  }

}
/* Extra small devices (portrait phones, less than 576px) - xl */
@media (max-width: 575px) {

}


/* Innovation */
.section--innovation {
  display:block;
  width:100%;
  height:960px;
  position:relative;
  overflow: hidden;
  background-color: #222;
}

.section--innovation::after {
  content:"";
  display:block;
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('/child/img/main/innovation-background.png');
}

.innovation  {
  height:100%;
  position: relative;
}

.innovation .innovation__tit {
  font-size:2.8rem;
  color:#ffffff;
  font-weight:400;
  line-height:1.4;
  text-align: center;
  padding:160px 15px 0px;
  margin-bottom:60px;
  opacity:0;
  -webkit-ransform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  transition:1s;
  position: relative;
  z-index:5;
}

.innovation .innovation__line {
  display: flex;
  width:100%;
  height:100%;
  position: absolute;
  left:0;
  top:0;
  z-index:4;
}

.innovation .innovation__line li {
  flex:1 1 33.33%;
  max-width: 33.33%;
  position:relative;
}

.innovation .innovation__line li::after {
  content:"";
  display: block;
  width:1px;
  height:0;
  background-color:rgba(255,255,255,.2);
  -webkit-transition:height 1s linear;
  -ms-transition:height 1s linear;
  transition:height 1s linear;
  position: absolute;
  right:0;
  top:0;
}

.innovation .innovation__line li:last-child::after {
  display: none;
}

.innovation .innovation__item {
  position: relative;
  z-index:6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.innovation .innovation__item li {
  width:33.33%;
  position:relative;
}

.innovation .innovation__item p {
  font-size:2rem;
  font-weight:300;
  color:#d7d7d7;
  line-height:1.4;
}

.innovation .innovation__item p.card__tit {
  font-size:4.8rem;
  font-weight:600;
  color:#fff;
  margin-bottom:28px;
  line-height:1;
  opacity: 0;
  -webkit-ransform: translateY(25px);
  -ms-transform: translateY(25px);
  transform: translateY(25px);
}

.innovation .innovation__item p.card__subtit {
  font-size: 2.8rem;
  font-weight:400;
  color:#fff;
  opacity: 0;
  display: block;
}

.innovation .innovation__item p.card__text {
  opacity:0;
  margin-top:20px;
}

.innovation .innovation__item .card__plus {
  display: block;
  margin:70px auto 0px;
  opacity: 0;
  transition:opacity 1s 1s;
  overflow: hidden;
}

.innovation .innovation__item .card--primary {
  display:block;
  width:100%;
  position: absolute;
  top:50%;
  left:50%;
  -webkit-ransform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  text-align: center;
  z-index:3;
  transition:opacity .8s .2s;
}

.innovation .innovation__item .card--primary p.card__tit {
  -webkit-ransition:all .8s .8s;
  -ms-transition:all .8s .8s;
  transition:all .8s .8s;
}

.innovation .innovation__item .card--primary p.card__subtit {
  margin:auto;
  -webkit-ransition:opacity .8s 1s;
  -ms-transition:opacity .8s 1s;
  transition:opacity .8s 1s;
}

.innovation .innovation__background {
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
}

.innovation .innovation__background li {
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
}

.innovation .innovation__background li:nth-child(1) {
  z-index:3;
}

.innovation .innovation__background li:nth-child(2) {
  z-index:2;
}

.innovation .innovation__background li:nth-child(3) {
  z-index:1;
}

.innovation .innovation__background img {
  position: absolute;
  top:0;
  left:0;
  max-width: none;
  width:100%;
  height:100%;
  object-fit: cover;
  opacity:0;
  transition:opacity .8s .2s;
}


/* Innovation Event CSS */
.section--innovation.on .innovation .innovation__tit {
  -webkit-ransform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity:1;
}

.section--innovation.on .innovation .innovation__line li::after {
  height:100%;
}

.section--innovation.on .innovation .card--primary p.card__tit {
  -webkit-ransform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.section--innovation.on .innovation .card--primary p.card__subtit {
  opacity: 1;
}

.section--innovation.on .innovation .card__plus {
  opacity: 1;
}

.innovation .innovation__item .card--active {
  opacity: 0;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
  width:87%;
  margin:auto;
  height:100%;
  padding:60px 6%;
  -webkit-ransition:all .6s ease-in-out;
  -ms-transition:all .6s ease-in-out;
  transition:all .6s ease-in-out;
  background-color: rgba(84,83,75,.9);
  position: relative;
  z-index:2;
}

.innovation .innovation__item .card--active p.card__tit {
  -webkit-ransition:all .8s .2s;
  -ms-transition:all .8s .2s;
  transition:all .8s .2s;
}

.innovation .innovation__item .card--active p.card__subtit {
  -webkit-ransform: translateY(25px);
  -ms-transform: translateY(25px);
  transform: translateY(25px);
  -webkit-ransition:all .8s .4s;
  -ms-transition:all .8s .4s;
  transition:all .8s .4s;
}

.innovation .innovation__item .card--active p.card__text {
  -webkit-ransform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-ransition:all .8s .6s;
  -ms-transition:all .8s .6s;
  transition:all .8s .6s;
}

.innovation .innovation__item .card--active.on {
  opacity:1;
  visibility: visible;
}

.innovation .innovation__item .card--active.on p.card__tit {
  -webkit-ransform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity:1;
}

.innovation .innovation__item .card--active.on p.card__subtit {
  -webkit-ransform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity:1;
}

.innovation .innovation__item .card--active.on p.card__text {
  -webkit-ransform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity:1;
}

.innovation .innovation__background li.on img {
  opacity:1;
}

/* Large devices (desktops, less than 1200px) - lg */
@media (max-width: 1199px) {

  .section--innovation {
    height:700px;
  }

  .innovation .innovation__tit {
    font-size:2.4rem;
    padding-top:100px;
    margin-bottom:40px;
  }

  .innovation .innovation__line {
    display: none;
  }

  .innovation .innovation__item {
    padding-top:0;
  }

  .innovation .innovation__item li {
    width:90%;
    margin:0 auto;
    height:140px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  }

  .innovation .innovation__item p {
    font-size:1.8rem;
  }

  .innovation .innovation__item p.card__tit {
    font-size:3.2rem;
    margin-bottom:0px;
  }

  .innovation .innovation__item p.card__subtit {
    font-size:2.4rem;
  }

  .innovation .innovation__item .card__plus {
    margin:inherit;
    width:34px;
    height:34px;
  }

  .innovation .innovation__item .card--primary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height:100%;
    padding:26px;
  }

  .innovation .innovation__item .card--active {
    width:100%;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding:26px;
  }

  .innovation .innovation__item .card--active p.card__text {
    display: none;
  }

}
/* Medium devices (tablets, less than 992px) - md */
@media (max-width: 991px) {

}
/* Small devices (landscape phones, less than 768px) - sm */
@media (max-width: 767px) {

  .section--innovation {
    height:460px;
  }

  .innovation .innovation__tit {
    font-size:2rem;
    padding-top:80px;
    margin-bottom:26px;
  }

  .innovation .innovation__item li {
    width:calc(100% - 30px);
    height:80px;
  }

  .innovation .innovation__item p.card__tit {
    font-size:2.2rem;
  }

  .innovation .innovation__item p.card__subtit {
    display: none;
  }

  .innovation .innovation__item .card__plus {
    width:28px;
    height:28px;
  }

  .innovation .innovation__item .card--primary {
    padding:20px;
  }

  .innovation .innovation__item .card--active {
    padding:20px;
  }

  .innovation .innovation__item .card--active p.card__tit {
    display: none;
  }

  .innovation .innovation__item .card--active p.card__subtit {
    display:block;
    font-size:2rem;
  }

}
/* Extra small devices (portrait phones, less than 576px) - xl */
@media (max-width: 575px) {

}


/* Finance */
.section--finance {
  width:100%;
  padding:80px 0px;
  background-color: #197d75;
  position: relative;
  overflow:hidden;
}

.finance .finance__list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.finance .finance__list li {
  flex:1 1 33.33%;
  max-width:33.33%;
  text-align: center;
}

.finance .finance__list p {
  font-size:2rem;
  font-weight:500;
  color:#fff;
}

.finance .finance__list p.num {
  font-size:1.6rem;
  font-weight:300;
  margin-top:10px;
}

.finance .finance__list p.num strong {
  font-size:3.6rem;
  font-weight:700;
  margin-right:5px;
}

/* Large devices (desktops, less than 1200px) - lg */
@media (max-width: 1199px) {

  .section--finance {
    padding:60px 0px;
  }

  .finance .finance__list p {
    font-size:1.8rem;
  }

  .finance .finance__list p.num {
    font-size:1.5rem;
  }

  .finance .finance__list p.num strong {
    font-size:2.6rem;
  }

}
/* Medium devices (tablets, less than 992px) - md */
@media (max-width: 991px) {

}
/* Small devices (landscape phones, less than 768px) - sm */
@media (max-width: 767px) {

  .section--finance {
    padding:40px 0px;
  }

  .finance .finance__list p {
    font-size:1.6rem;
  }

  .finance .finance__list p.num {
    font-size:1.4rem;
    margin-top:6px;
  }

  .finance .finance__list p.num strong {
    font-size:2rem;
    margin-right:3px;
  }

}
/* Extra small devices (portrait phones, less than 576px) - xl */
@media (max-width: 575px) {

  .finance .finance__list {
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -12px 0px;
  }

  .finance .finance__list li {
    flex:1 1 100%;
    max-width:100%;
    padding:12px 0px;
  }

  .finance .finance__list .card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

}


/* Identity */
.section--identity {
  width:100%;
  height:100%;
  position:relative;
}

.section--identity::after {
  content:"";
  display:block;
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('/child/img/main/identity-background.png');
  z-index:0;
}

.identity {
  padding:120px 0px;
  height:100%;
}

.identity .identity__item {
  height:100%;
}

.identity .direction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.identity .left {
  width:calc(100% - 600px);
  overflow:hidden;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.identity .left .identity__tit {
  font-size:4.8rem;
  font-weight:700;
  line-height:1.5;
  color:#fff;
  /* transform: translateY(60px);
  opacity:0;
  transition:all .6s ease; */
}

.identity .right {
  width:600px;
  overflow:hidden;
  position: relative;
}

.identity .right ul {
  display: flex;
  flex-wrap:wrap;
}

.identity .right li {
  width:50%;
  height:260px;
  /* transform: translateY(60px);
  opacity:0;
  transition:all .6s ease; */
}

.identity .right li .card {
  width:100%;
  height:100%;
  padding:40px;
  background-color: rgba(89,89,89,1);
  overflow:hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.identity .right li.transparent .card {
  background-color:transparent;
}

.identity .right li.point .card {
  background-color:rgba(25,125,117,1);
}

.identity .right .text p {
  font-size:1.8rem;
  line-height:1.4;
  color:#fff;
  margin-top:20px;
}

.identity .right .text p:first-child {
  font-size:2rem;
  font-weight:700;
  margin-top:0px;
  /* transition:all .6s ease; */
}

.identity .right .button--identity {
  width:100%;
  font-size:1.6rem;
  color:#d2d2d2;
  padding:10px 8px;
  border-bottom:1px solid #d2d2d2;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  text-align: left;
  transform: translateY(60px);
  opacity:0;
}


/* Identity Event CSS */
/* .section--identity.on .identity__tit {
  opacity:1;
  transform: translateY(0);
}

.section--identity.on .identity .right li {
  opacity:1;
  transform: translateY(0);
} */

/* .section--identity.on .identity .right li:nth-child(1) {
  transition-delay:.2s;
}

.section--identity.on .identity .right li:nth-child(2) {
  transition-delay:.4s;
}

.section--identity.on .identity .right li:nth-child(3) {
  transition-delay:.6s;
}

.section--identity.on .identity .right li:nth-child(4) {
  transition-delay:.8s;
} */

/* Hover Devices */
@media (min-width: 1024px) {

  .identity .right li:hover .button--identity {
    opacity:1;
    transform: translateY(0);
  }

}

/* Large devices (desktops, less than 1200px) - lg */
@media (max-width: 1199px) {

  .identity {
    padding:80px 0px;
  }

  .identity .left .identity__tit {
    font-size:3.2rem;
  }

  .identity .right li .card {
    padding:26px;
  }

  .identity .right .text p {
    font-size:1.6rem;
    margin-top:16px;
  }

  .identity .right .text p:first-child {
    font-size:1.8rem;
  }

  .identity .right .button--identity {
    font-size:1.4rem;
  }

}
/* Medium devices (tablets, less than 992px) - md */
@media (max-width: 991px) {

  .identity .left {
    width:100%;
    margin-bottom:28px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }

  .identity .right {
    width:100%;
  }

  .identity .right ul {
    margin:-5px 0px;
  }

  .identity .right li {
    width:100%;
    height:100%;
    padding:5px 0px;
  }

  .identity .right li:nth-child(1) {
    display: none;
  }

  .identity .right li .card {
    padding:20px;
  }

  .identity .right .button--identity {
    opacity:1;
    transform:none;
    margin-top:12px;
  }


}
/* Small devices (landscape phones, less than 768px) - sm */
@media (max-width: 767px) {

  .identity {
    padding:60px 0px;
  }

  .identity .left {
    margin-bottom:20px;
  }

  .identity .left .identity__tit {
    font-size:2.2rem;
  }

}
/* Extra small devices (portrait phones, less than 576px) - xl */
@media (max-width: 575px) {

}



/* Location */
.section--location {
  padding:120px 0px;
}

.location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.location .left ,
.location .right {
  flex:1 1 50%;
  max-width:50%;
}

.location .left img,
.location .right img {
  margin:0px 0px 20px 40px;
}

.location .location__map {
  display:block;
  position: relative;
  width:100%;
  height:0;
  padding-top: calc(464/640*100%);
  overflow:hidden;
}

.location .map__thumb {
  position:absolute;
  width:100%;
  height:100%;
  left:50%;
  top:50%;
  transform: translate(-50%,-50%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.location .location__address {
  padding:40px
}

.location .location__address ul {
  margin:-2px 0px;
}

.location .location__address li {
  padding:2px 0px;
}

.location .location__address span {
  font-size:1.8rem;
  line-height:1.5;
  color:#1b1b1b;
  font-weight:300;
}

.location .location__address span:first-child {
  font-weight:700;
}



/* Large devices (desktops, less than 1200px) - lg */
@media (max-width: 1199px) {

  .section--location {
    padding:80px 0px;
  }

  .location .left img,
  .location .right img {
    max-width:160px;
    margin:0px 0px 16px 26px;
  }

  .location .location__address {
    padding:26px;
  }

  .location .location__address span {
    font-size:1.6rem;
  }

}

/* Medium devices (tablets, less than 992px) - md */
@media (max-width: 991px) {


}

/* Small devices (landscape phones, less than 768px) - sm */
@media (max-width: 767px) {

  .section--location {
    padding:60px 0px;
  }

  .location .left ,
  .location .right{
    flex:1 1 100%;
    max-width:100%;
  }

  .location .left img,
  .location .right img {
    max-width:120px;
    margin:0px 0px 12px 0px;
  }

  .location .location__map {
    padding-top:0px;
    height:240px;
  }

  .location .location__address {
    padding:20px 0px 30px;
  }

  .location .location__address.location__address--last {
    padding:20px 0px 0px;
  }

  .location .location__address li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .location .location__address span {
    font-size:1.5rem;
    display: inline-block;
  }

  .location .location__address span:first-child {
    margin-right:8px;
  }


}

/* Extra small devices (portrait phones, less than 576px) - xl */
@media (max-width: 575px) {

}
