@charset "utf-8";

.pb-widget-googlemap { position: relative; }
.pb-widget-googlemap:after { clear: both; content: " "; display: table; }
.pb-widget-googlemap iframe { display: block; width: 100%; }

.pb_googlemap_overlay {
  background: rgba(0, 0, 0, 0.5); /*height: 100%;*/ height: 480px; padding: 0 7.5%; width: 50%; position: absolute; top: 0; left: 0; z-index: 1;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; justify-content: center;
  -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box;
}
.pb_googlemap_overlay.pb_googlemap-overlay_layout-type2 { left: auto; right: 0; }

.pb_googlemap_map { position: relative; z-index: 0; }
.pb_googlemap_map.pb_googlemap-map_layout-type2 { float: right; width: 50%; }
.pb_googlemap_map.pb_googlemap-map_layout-type2.pb_googlemap-overlay_layout-type2 { float: left; width: 50%; }

.pb_googlemap_headline { color: #fff; font-size: 40px; font-weight: 400; line-height: 1.5; margin: 0 !important; padding: 0 !important; }
.pb_googlemap_content { color: #fff; font-size: 14px; line-height: 2; margin: 0; padding: 0; }
.pb_googlemap_headline + .pb_googlemap_content { margin-top: 18px }
.pb_googlemap_button { border: 1px solid #fff; color: #fff; display: inline-block; font-size: 14px; height: 48px; line-height: 48px; min-width: 200px; padding: 0 20px; text-align: center; text-decoration: none !important;
  -webkit-align-self: center; align-self: center;
  -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box;
}
.pb_googlemap_overlay * + .pb_googlemap_button { margin-top: 30px; }

/* Access */
.p-access__map { width: 100%; height: 480px; margin-bottom: 20px; }

.p-access__custom-overlay-inner { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: -94px; left: -40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 80px !important; height: 80px !important; border-radius: 50%; font-size: 18px; text-align: center; }
.p-access__custom-overlay-inner::after { display: block; position: absolute; right: 0; bottom: -15px; left: 0; width: 0; height: 0; margin: auto; border-width: 16px 5px 0 5px; border-style: solid; border-color: #000000 transparent transparent transparent; content: ""; }

.p-access__footer { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; clear: both; align-items: center; }

.p-access__logo { margin-right: 3.4375%; }

.p-access__address { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin-right: 3.4375%; font-size: 14px; line-height: 2; text-align: left; }
.p-access .p-access__address { margin-bottom: 0; }

.p-access .p-access__btn:hover { text-decoration: none; }

@media only screen and (max-width: 767px) {
  .pb-widget-googlemap iframe { max-height: 90vh; }

  .pb_googlemap_overlay { padding: 7.5%; position: static; width: 100%; }

  .pb_googlemap_map.pb_googlemap-map_layout-type2 { float: none !important; width: 100% !important; }

  .pb_googlemap_headline { font-size: 30px; }
  .pb_googlemap_headline + .pb_googlemap_content { margin-top: 10px }
  .pb_googlemap_button { font-size: 12.5px; height: 38px; line-height: 38px; min-width: 160px; padding: 0 15px; }
  .pb_googlemap_overlay * + .pb_googlemap_button { margin-top: 18px; }
  .p-access__footer { display: block; text-align: center; }
  .p-access__logo { margin-right: 0; margin-bottom: 14px; }
  .p-access__address { margin-right: 0; margin-bottom: 12px; } 
}

@media screen and (max-width: 500px) { 
	.p-access__map { height: 200px; margin-bottom: 15px; }
  .p-access__custom-overlay-inner { -webkit-box-sizing: border-box; box-sizing: border-box; top: -74px; left: -32px; width: 64px !important; height: 64px !important; padding: 0 7px; font-size: 18px; }
  .p-access__custom-overlay-inner::after { bottom: -11px; border-width: 16px 5px 0 5px; border-width: 12px 4px 0 4px; }
  .p-access__custom-overlay-inner img { width: 100%; height: auto; }
  .p-access__footer { display: block; text-align: center; }
  .p-access__address { margin-bottom: 15px; line-height: 1.7!important; } 
}
