

.accordion summary span:before {
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1); }





.accordion summary span:before {
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1); }


.accordion {
  display: block;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 25px; }
  .accordion + .accordion {
    border-top: 0;
    margin-top: -25px; }
  .accordion-container .accordion {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto; }
    .accordion-container .accordion:last-child {
      margin-bottom: 0; }
  .accordion details[open] summary span:before {
    transform: rotateZ(90deg); }
  .accordion summary {
    width: 100%;
    list-style: none;
    position: relative;
    padding-right: 40px;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.02em;
    line-height: 1;
    padding: 18px 40px 18px 0;
    cursor: pointer; }
    .accordion summary span {
      position: absolute;
      top: calc(50% - 5.5px);
      right: 18px;
      width: 12px;
      height: 12px;
      display: block; }
      .accordion summary span:before, .accordion summary span:after {
        content: "";
        display: block;
        position: absolute;
        top: 5.5px;
        left: 0px;
        background: var(--color-body); }
      .accordion summary span:before {
        width: 1px;
        height: 12px;
        top: 0px;
        left: 5.5px;
        will-change: transform; }
      .accordion summary span:after {
        width: 12px;
        height: 1px; }
    .accordion summary::-webkit-details-marker {
      display: none; }
  .accordion .accordion__content {
    padding: 0 0 15px 0;
    font-size: 0.9375rem; }
    .accordion .accordion__content > *:last-child {
      margin-bottom: 0; }

.google-map {
  display: flex;
  flex-direction: column; }
  @media only screen and (min-width: 768px) {
    .google-map {
      flex-direction: row; } }
  @media only screen and (max-width: 767px) {
    .google-map .mobile-height-350 {
      height: 350px; } }
  @media only screen and (max-width: 767px) {
    .google-map .mobile-height-400 {
      height: 400px; } }
  @media only screen and (max-width: 767px) {
    .google-map .mobile-height-450 {
      height: 450px; } }
  @media only screen and (min-width: 768px) {
    .google-map .desktop-height-450 {
      height: 450px; } }
  @media only screen and (min-width: 768px) {
    .google-map .desktop-height-550 {
      height: 550px; } }
  @media only screen and (min-width: 768px) {
    .google-map .desktop-height-650 {
      height: 650px; } }
  .google-map--container {
    position: relative;
    width: 100%; }
  .google-map--map {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .google-map--map > svg,
    .google-map--map > img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .google-map--map > svg {
      padding: 50px;
      fill: #fff;
      opacity: 0.5; }
  .google-map--information {
    width: 100%;
    padding: 15px;
    background: var(--color-bg);
    color: var(--color-text); }
    @media only screen and (min-width: 768px) {
      .google-map--information {
        padding: 22px 40px;
        flex-shrink: 0;
        width: clamp(300px, 30%, 460px); } }
    .google-map--information .accordion {
      color: inherit; }
      .google-map--information .accordion summary span:before,
      .google-map--information .accordion summary span:after {
        background: var(--color-text); }
    .google-map--information scroll-shadow {
      width: 100%;
      height: 100%;
      --scroll-shadow-top: linear-gradient(
        rgba(var(--color-bg-rgb), 1),
        rgba(var(--color-bg-rgb), 0)
      );
      --scroll-shadow-bottom: linear-gradient(
        rgba(var(--color-bg-rgb), 0),
        rgba(var(--color-bg-rgb), 1)
      );
      --scroll-shadow-left: linear-gradient(
        90deg,
        rgba(var(--color-bg-rgb), 1),
        rgba(var(--color-bg-rgb), 0)
      );
      --scroll-shadow-right: linear-gradient(
        90deg,
        rgba(var(--color-bg-rgb), 0),
        rgba(var(--color-bg-rgb), 1)
      ); }
    .google-map--information--inner {
      overflow: scroll;
      width: 100%;
      height: 100%;
      scrollbar-width: none; }
      .google-map--information--inner::-webkit-scrollbar {
        display: none; }
      .google-map--information--inner .accordion:first-child {
        border-top: 0; }
      .google-map--information--inner .accordion:last-child {
        border-bottom: 0; }

.thb_pin {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }
  .thb_pin .pin-wrap {
    display: block;
    position: absolute; }
  .thb_pin .shadow {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 0;
    -webkit-transform: rotateX(55deg);
    -moz-transform: rotateX(55deg);
    -ms-transform: rotateX(55deg);
    -o-transform: rotateX(55deg);
    transform: rotateX(55deg); }
    .thb_pin .shadow:after {
      content: "";
      position: absolute;
      left: -200px;
      top: calc(100% - 5px);
      display: block;
      width: 40px;
      height: 20px;
      border-radius: 50%;
      box-shadow: 200px 0 20px rgba(0, 0, 0, 0.4);
      -webkit-transform: rotateX(55deg);
      -moz-transform: rotateX(55deg);
      -ms-transform: rotateX(55deg);
      -o-transform: rotateX(55deg);
      transform: rotateX(55deg); }
  .thb_pin .pulse {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 0;
    -webkit-transform: rotateX(65deg);
    -moz-transform: rotateX(65deg);
    -ms-transform: rotateX(65deg);
    -o-transform: rotateX(65deg);
    transform: rotateX(65deg); }
    .thb_pin .pulse:after {
      content: "";
      display: block;
      position: absolute;
      top: -2px;
      left: 0;
      width: 40px;
      height: 20px;
      animation: thb-pulsate 1s ease-out;
      animation-delay: 1.1s;
      animation-iteration-count: infinite;
      opacity: 0;
      border-radius: 50%;
      box-shadow: 0 0 1px 2px rgba(var(--color-accent-rgb), 0.4), 0 0 6px 3px rgba(var(--color-accent-rgb), 0.6); }

@keyframes thb-pulsate {
  0% {
    transform: scale(0.1, 0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2, 1.2);
    opacity: 0; } }
