/*******************************************************
 *
 * Interactive Map
 *
 *******************************************************/
#inner-page-wrapper{
     margin-bottom: 0;
}

#inner-page-wrapper > .container{
     width: 100%;
     padding: 0;
}

#ip-featured-areas{
     font-size: 0;
     letter-spacing: normal
     line-height: 1;
}

/* Featured Areas */
.fa-container {
     display: block;
     position: relative;
     font-size: 0;
 }
 
 .static-map {
     display: block;
     position: relative;
 }
 
 .static-map canvas {
     display: block;
     width: 100%;
     height: 100%;
     position: relative;
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
 }
 
 
 .fa-map-container {
     display: block;
     position: relative;
     z-index: 3;
     overflow: hidden;
     padding: 0 0 8%;
 }
 
 .fa-map-wrapper {
     display: block;
     position: relative;
 }
 
 .fa-bg {
     position: absolute;
     top: 0;
     left: 0;
     width: 31.8%;
     height: 95%;
     pointer-events: none;
     z-index: -1;
     background-color: var(--primary-color);
 }
 
 .fa-bg canvas {
     display: block;
     width: 100%;
     height: 100%;
     position: relative;
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
 }
 
 .fa-main-bg {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 90%;
     pointer-events: none;
     opacity: .15;
 }
 
 .fa-main-bg:before {
     position: absolute;
     content: '';
     bottom: 0;
     left: 0;
     width: 90%;
     height: 100%;
     pointer-events: none;
     z-index: 1;
     background: -webkit-gradient(linear, left top, right top, from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));
     background: -o-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
     background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
 }
 
 .fa-main-bg canvas {
     display: block;
     width: 100%;
     height: 100%;
     position: relative;
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
 }
 
 .fa-accent-bg {
     position: absolute;
     top: 0;
     left: 100%;
     width: 6.294%;
     height: 90%;
     pointer-events: none;
     background-color: var(--primary-color);
 }
 
 .fa-accent-bg canvas {
     display: block;
     width: 100%;
     height: 100%;
     position: relative;
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
 }
 
 
 
 
 .fa-map-caption {
     display: block;
     position: relative;
     margin-bottom: 30px;
     margin-top: 20px;
 }
 
 .fa-map-caption p {
     font-size: 15px;
     line-height: 1.6;
     font-weight: 200;
     letter-spacing: 0.050em;
     color: #515151;
 }
 
 
 .fa-comm-areas {
     display: inline-block;
     position: relative;
 }
 
 .fa-map-transparent {
     position: absolute;
     top: 0;
     left: 0;
     z-index: 2;
     opacity: 0;
     width: 100%;
     height: 100%;
 }
 
 .fa-map-base {
     width: 100%;
     height: auto;
 }
 
 
 .fa-map-main {
     position: relative;
     width: 1017px;
     /* background-color: #fff; */
 }
 
 .fa-map-outer {
     display: block;
     width: 100%;
 }
 
 .fa-map-hovers {
     position: absolute;
     z-index: 1;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
 }
 
 .fa-map-img {
     position: absolute;
     top: 0;
     left: 0;
     width: auto;
     height: auto;
     -webkit-transition: 0.3s all ease-in-out;
     -o-transition: 0.3s all ease-in-out;
     transition: 0.3s all ease-in-out;
     opacity: 0;
     visibility: hidden;
     z-index: 2;
     pointer-events: auto;
     z-index: 4;
 }
 
 .fa-map-img img {
     max-width: 100%;
     height: auto;
 }
 
 .fa-map-pin {
     position: absolute;
     top: 0;
     left: 0;
     width: auto;
     height: auto;
     -webkit-transition: 0.3s all ease-in-out;
     -o-transition: 0.3s all ease-in-out;
     transition: 0.3s all ease-in-out;
     z-index: 5;
     display: block;
     text-align: center;
 }
 
 .fa-map-pin span {
     font-size: 60px;
     color: #3aadb7;
     font-family: var(--cursive-font);
     line-height: 1;
     white-space: nowrap;
     position: relative;
     width: 100%;
     display: inline-block;
     -webkit-transition: 0.3s all ease-in-out;
     -o-transition: 0.3s all ease-in-out;
     transition: 0.3s all ease-in-out;
 }
 
 .fa-comm-areas li.fa-comm-item {
     z-index: 1;
     font-size: 24px;
     line-height: 1;
     letter-spacing: 0.050em;
     color: #515151;
     position: relative;
     -webkit-transition: 0.3s all ease-in-out;
     -o-transition: 0.3s all ease-in-out;
     transition: 0.3s all ease-in-out;
     font-weight: 500;
     display: block;
 }
 
 .fa-comm-areas li.fa-comm-item:not(:last-child) {
     margin-bottom: 30px;
 }
 
 .fa-comm-areas > ul {
     display: block;
     position: relative;
 }
 
 .fa-comm-areas li.fa-comm-item:hover:before {
     width: 100%;
 }
 
 .fa-comm-areas li.fa-comm-item > a {
     color: inherit;
     -webkit-transition: 0.3s all ease-in-out;
     -o-transition: 0.3s all ease-in-out;
     transition: 0.3s all ease-in-out;
     display: inline-block;
     padding: 3px 20px;
     position: relative;
 }
 
 .fa-comm-areas li.fa-comm-item.hover-active > a,
 .fa-comm-areas li.fa-comm-item:hover > a, 
 .fa-comm-areas li.fa-comm-item.active > a {
     color: #3aadb7;
 }
 
 .fa-comm-areas li.fa-comm-item > a:before {
     position: absolute;
     content: '';
     top: 0;
     left: 0;
     width: 2px;
     height: 100%;
     background: -webkit-gradient(linear, left top, left bottom, from(#d39b48),color-stop(50%, #fbcf96),to(#dca550));
     background: -o-linear-gradient(top, #d39b48 0%,#fbcf96 50%,#dca550 100%);
     background: linear-gradient(to bottom, #d39b48 0%,#fbcf96 50%,#dca550 100%);
     opacity: .50;
 }
 
 .fa-map-content {
     position: absolute;
     top: 99px;
     left: 62px;
     z-index: 5;
     padding: 85px 70px 120px;
     background-color: #fff;
     width: 100%;
     max-width: 537px;
     min-height: 740px;
 }
 
 .fa-map-content:before {
     position: absolute;
     content: '';
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     border: 13px solid;
     -o-border-image: -o-linear-gradient(280deg, #d39a41,  #f5d799, #e4b669, #ca9537) 1;
        border-image: linear-gradient(170deg, #d39a41,  #f5d799, #e4b669, #ca9537) 1;
     pointer-events: none;
 }
 
 .fa-map-hovers > div {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
 }
 
 .fa-map-hovers > div.active .fa-map-img {
     opacity: 1;
     visibility: visible;
 }
 
 .fa-comm-areas li.fa-sub-link {
     display: inline-block;
     vertical-align: top;
     position: relative;
     width: 105px;
     margin-bottom: 15px;
 }
 
 .fa-comm-areas li.fa-sub-link a {
     font-size: 16px;
     line-height: 1;
     letter-spacing: 0.050em;
     color: #515151;
     -webkit-transition: all ease-in-out;
     -o-transition: all ease-in-out;
     transition: all ease-in-out;
 }
 
 .fa-comm-areas li.fa-sub-link:nth-child(n+3) ~ li {
     margin-bottom: 0;
 }
 
 .fa-comm-areas li.fa-sub-link:hover > a, .fa-comm-areas li.fa-sub-link.active > a {
     color: #3aadb7;
 }
 
 ul.fa-sub-menu {
     font-size: 0;
     margin-top: 10px;
     margin-left: 20px;
     display: none;
 }
 
 ul.fa-sub-menu.active {
     display: block;
 }
 
 .fa-comm-areas li.fa-comm-item:hover ul.fa-sub-menu {
     display: block;
 }
 
 .fa-map-list {
     width: 64.246%;
     margin-left: auto;
     margin-right: 4%;
     position: relative;
 }
 
 .fa-map-item {
     width: 100%;
     position: relative;
     display: none;
 }
 
 .fa-map-item.active {
     display: block;
 }
 
 .fa-map-container.main-map-active ul.fa-sub-menu{
     display: none!important;
 }
 
 
 .fa-map-list-inner, .fa-map-main-tab {
     display: block;
     position: relative;
     width: 100%;
     height: 100%;
 }
 
 #main-map area {
     cursor: pointer;
 }
 
 
 .fa-map-pin.is-white span {
     color: #fff;
 }
 
 .fa-map-label {
     position: absolute;
     z-index: 1;
     top: 0;
     left: 0;
     pointer-events: none;
     line-height: 1;
 }
 
 .fa-map-label span {
     font-size: 60px;
     color: #3aadb7;
     font-family: var(--cursive-font);
     line-height: 1;
     position: relative;
     display: block;
 }
 
 .fa-map-area-links {
     position: absolute;
     z-index: 7;
     top: 0;
     left: 0;
     width: auto;
     height: auto;
 }
 
 .fa-map-area-links > div {
     position: absolute;
     top: 0;
     left: 0;
     width: auto;
     height: auto;
     z-index: 1;
 }
 
 .fa-map-link {
     position: absolute;
     z-index: 5;
     top: 0;
     left: 0;
     width: auto;
     height: auto;
     text-align: center;
     white-space: nowrap;
 }
 
 .fa-map-link a {
     font-size: 14px;
     font-weight: 500;
     line-height: 1;
     letter-spacing: 0.040em;
     color: #fff;
     display: block;
     position: relative;
     z-index: 4;
     -webkit-transition: 0.3s all ease-in-out;
     -o-transition: 0.3s all ease-in-out;
     transition: 0.3s all ease-in-out;
     text-shadow: 1px 0px 7px rgba(0, 0, 0, 0.75);
 }
 
 .fa-map-link a:before {
     position: absolute;
     content: '';
     top: -6px;
     left: 0;
     right: 0;
     margin: 0 auto;
     display: block;
     width: 4px;
     height: 4px;
     border-radius: 50%;
     z-index: 2;
     background-color: #fff;
 }
 
 .fa-map-link.is-bot a:before {
     top: auto;
     bottom: -6px;
 }
 
 .fa-map-link.is-right a:before {
     top: 50%;
     right: -10px;
     left: auto;
 }
 
 .fa-map-link.is-left a:before {
     top: 50%;
     left: -10px;
     right: auto;
 }
 
 .fa-map-link.bot-left a:before{
     top: auto;
     bottom: -8px;
     left: 0;
     right: auto;
 }
 
 .fa-map-area-links > div .fa-map-link a:hover {
     color: #51ebff;
 }
 
 /* Oahu */
 [data-map-tab="oahu"] .fa-map-label {
     top: 199px;
     left: 744px;
 }
 
 .fa-map-area-links > div.sunset-beach .fa-map-link a:before {
     top: -7px;
     left: -24px;
 }
 
 .fa-map-area-links > div.haleiwa .fa-map-link a:before {
     left: -5px;
     bottom: -10px;
 }
 
 .fa-map-area-links > div.makaha .fa-map-link a:before {
     bottom: -5px;
     right: -5px;
 }
 
 .fa-map-area-links > div.nanakuli .fa-map-link a:before {bottom: -7px;right: -6px;}
 
 
 
 
 
 .fa-map-area-links > div.wahiawa .fa-map-link a:before {
     left: -8px;
     top: 5px;
 }
 
 
 
 .fa-map-area-links > div.waipahu .fa-map-link a:before {
     left: -10px;
     top: -7px;
 }
 
 
 .fa-map-area-links > div.aiea .fa-map-link a:before {top: 10px;left: -9px;}
 
 
 
 .fa-map-area-links > div.waikiki .fa-map-link a:before {
     top: 2px;
 }
 
 .fa-map-area-links > div.ala-moana .fa-map-link a:before {
     right: -7px;
 }
 
 .fa-map-area-links > div.kakaako .fa-map-link a:before {
     top: 16px;
     right: -5px;
 }
 
 .fa-map-area-links > div.aina-haina .fa-map-link a:before {
     top: 0px;
     left: -8px;
 }
 
 .fa-map-area-links > div.kuliouou .fa-map-link a:before {
     top: 6px;
     left: -7px;
 }
 
 .fa-map-area-links > div.diamond-head .fa-map-link a:before {
     right: 28px;
     top: -7px;
 }
 
 .fa-map-area-links > div.kaimuki .fa-map-link a:before {
     right: -15px;
 }
 
 .fa-map-area-links > div.manoa .fa-map-link a:before {
     top: 3px;
     left: -9px;
 }
 
 .fa-map-area-links > div.nuuanu .fa-map-link a:before {
     top: 5px;
 }
 
 .fa-map-area-links > div.honolulu .fa-map-link a:before {
     left: -9px;
     top: -4px;
 }
 
 .fa-map-area-links > div.salt-lake .fa-map-link a:before {
     bottom: -6px;
 }
 
 .fa-map-area-links > div.moanalua .fa-map-link a:before {
     bottom: -6px;
 }
 
 .fa-map-area-links > div.makiki .fa-map-link a:before {
     top: 5px;
     left: -12px;
 }
 
 .fa-map-area-links > div.foster-village .fa-map-link a:before {
     left: -11px;
     bottom: -5px;
 }
 
 .fa-map-area-links > div.kailua .fa-map-link a:before {
     left: -7px;
 }
 
 .fa-map-area-links > div.kaneohe .fa-map-link a:before {
     left: -8px;
 }
 
 /* Kauai */
 [data-map-tab="kauai"] .fa-map-hovers > div.kauai .fa-map-pin span {
     font-size: 70px;
 }
 
 .fa-map-area-links > div.kalapaki .fa-map-link a:before {
     top: -10px;
     right: -16px;
 }
 
 .fa-map-area-links > div.puhi .fa-map-link a:before {
     bottom: -8px;
 }
 
 .fa-map-area-links > div.hanalei .fa-map-link a:before {
     left: -7px;
     top: -7px;
 }
 
 /* Maui */
 [data-map-tab="maui"] .fa-map-pin span {
     font-size: 70px;
 }
 
 /* Big Island */
 [data-map-tab="big-island"] .fa-map-pin span {
     font-size: 70px;
 }
 
 
 .fa-map-area-links > div.waiakea-pond .fa-map-link a:before {
     left: -6px;
 }
 
 
 
 .fa-map-area-links > div.keaukaha .fa-map-link a:before {
     left: -7px;
     top: 9px;
 }
 
 .fa-map-area-links > div.hilo .fa-map-link a:before {
     top: -2px;
     left: -5px;
 }
 
 
 .fa-map-area-links > div.puueo-st .fa-map-link a:before {
     left: -15px;
 }
 
 
 .fa-map-area-links > div.papaikou .fa-map-link a:before {
     right: -7px;
 }
 
 
 .fa-map-area-links > div.pepeekeo .fa-map-link a:before {
     right: -25px;
     top: 9px;
 }
 
 
 .fa-map-area-links > div.laupahoehoe .fa-map-link a:before {
     right: -15px;
 }
 
 .fa-map-area-links > div.ookala .fa-map-link a:before {
     top: 11px;
     right: -8px;
 }
 
 
 .fa-map-area-links > div.kurkistown .fa-map-link a:before {
     right: -7px;
 }
 
 
 .fa-map-area-links > div.pahala .fa-map-link a:before {
     right: -29px;
 }
 
 
 .fa-map-area-links > div.naalehu .fa-map-link a:before {
     right: -28px;
 }
 
 
 .fa-map-area-links > div.ocean-view .fa-map-link a:before {
     right: -25px;
 }
 
 
 .fa-map-area-links > div.honaunau .fa-map-link a:before {
     right: -13px;
 }
 
 
 .fa-map-area-links > div.kealakekua .fa-map-link a:before {
     top: 9px;
     right: -8px;
 }
 
 
 .fa-map-area-links > div.keauhou .fa-map-link a:before {
     top: 9px;
 }
 
 .fa-map-area-links > div.halualoa .fa-map-link a:before {
     top: 9px;
 }
 
 .fa-map-area-links > div.kailua-kona .fa-map-link a:before {
     top: 8px;
     left: -7px;
 }
 
 
 
 .fa-map-area-links > div.waikoloa-village .fa-map-link a:before {
     top: -8px;
 }
 
 
 .fa-map-area-links > div.hanokoa .fa-map-link a:before {
     right: -48px;
 }
 
 
 .fa-map-area-links > div.waimea .fa-map-link a:before {bottom: -5px;right: 9px;}
 
 
 
 .fa-map-area-links > div.hawi .fa-map-link a:before {
     right: -15px;
     top: 12px;
 }
 
 /* Molokai */
 [data-map-tab="molokai"] .fa-map-label {
     top: 544px;
     left: 367px;
 }
 
 [data-map-tab="molokai"] .fa-map-label span {
     font-size: 70px;
 }
 
 
 .fa-map-area-links > div.kaunakakai .fa-map-link a:before {
     left: -13px;
 }
 
 .fa-map-area-links > div.kalawao .fa-map-link a:before {
     top: -10px;
 }
 
 .fa-map-area-links > div.makanalua .fa-map-link a:before {
     left: -13px;
     top: 5px;
 }
 
 .fa-map-area-links > div.kalaupapa .fa-map-link a:before {
     top: 5px;
     right: -11px;
 }
 
 .fa-map-area-links > div.kualapuu .fa-map-link a:before {
     right: -13px;
 }
 
 .fa-map-area-links > div.hoolehua .fa-map-link a:before {
     right: -13px;
 }
 
 .fa-map-area-links > div.maunaloa .fa-map-link a:before {
     top: -12px;
     left: -3px;
 }


/*******************************************************
 *
 * Mobile styles and other media queries
 *
 *******************************************************/
 @media only screen and (min-width: 992px) {
     .fa-map-content {
         top: 6.188vw;
         left: 3.875vw;
         padding: 5.313vw 4.375vw 7.500vw;
         max-width: 33.563vw;
         min-height: 46.250vw;
     }
 
     .fa-map-content:before{
         border: 0.813vw solid;
         -o-border-image: -o-linear-gradient(280deg, #d39a41, #f5d799, #e4b669, #ca9537) 1;
            border-image: linear-gradient(170deg, #d39a41, #f5d799, #e4b669, #ca9537) 1;
     }
 
     .fa-map-content .global-title h2 small {
         font-size: 7.500vw;
         margin-bottom: -3.375vw;
         margin-left: -2.188vw;
     }
 
     .fa-map-content .global-title h2 span {
         font-size: 6.250vw;
     }
 
     .fa-map-caption {
         margin-bottom: 1.875vw;
         margin-top: 1.250vw;
     }
 
     .fa-map-caption p {
         font-size: 0.938vw;
     }
 
     .fa-comm-areas li.fa-comm-item:not(:last-child) {
         margin-bottom: 1.875vw;
     }
 
     .fa-comm-areas li.fa-comm-item{
         font-size: 1.500vw;
     }
 
     .fa-comm-areas li.fa-comm-item > a {
         padding: 0.188vw 1.250vw;
     }
 
     .fa-comm-areas li.fa-comm-item > a:before {
         width: 0.125vw;
     }
 
     ul.fa-sub-menu {
         margin-top: 0.625vw;
         margin-left: 1.250vw;
     }
 
     .fa-comm-areas li.fa-sub-link {
         width: 6.563vw;
         margin-bottom: 0.938vw;
     }
 
     .fa-comm-areas li.fa-sub-link a {
         font-size: 1vw;
     }
 
     .fa-map-list {
         min-height: 50.188vw;
     }
 }
 
/* iPad(landscape) | iPad(landscape) | Galaxy Tab 4 (landscape) | Galaxy Tab 3 (landscape) */ 
@media only screen and (max-width: 1199px) {

} 

/* iPad(portrait) | Galaxy Tab 4(portrait)  */ 
@media only screen and (max-width: 991px) {
     .fa-map-main-tab {
          display: none!important;
      }
      
      .fa-map-list {
          width: 100%!important;
          margin: 0!important;
          display: none!important;
      }
      
      .fa-map-content {
          position: relative;
          top: 0;
          left: 0;
          margin: 0 auto;
          max-width: 420px;
          padding: 50px 30px;
          min-height: 0;
      }
      
      .fa-map-content .global-title {
          text-align: center;
      }
      
      .fa-map-caption {
          text-align: center;
          margin-bottom: 20px;
      }
      
      .fa-comm-areas li.fa-sub-link {
          width: calc(100% / 2);
      }
      
      .fa-comm-areas li.fa-sub-link:not(:last-child) {
          margin-bottom: 10px!important;
      }
      
      .fa-comm-areas li.fa-comm-item:not(:last-child) {
          margin-bottom: 20px;
      }
      
      .fa-comm-areas li.fa-comm-item {
          font-size: 20px;
      }
      
      .fa-comm-areas li.fa-comm-item > a {
          padding: 3px 15px;
      }
      
      ul.fa-sub-menu {
          display: -webkit-box!important;
          display: -ms-flexbox!important;
          display: flex!important;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-flow: row wrap;
                  flex-flow: row wrap;
          margin-left: 15px;
      }
      
      .fa-comm-areas {
          width: 100%;
          max-width: 250px;
          margin: 0 auto;
          display: block;
      }
      
      .fa-bg {
          width: 100%;
          height: 100%;
      }
      
      .fa-map-container {
          padding: 0;
      }
      
      .fa-map-wrapper {
          padding: 50px 15px;
      }
      
      .fa-bg canvas {
          opacity: .70;
      }
      
      .fa-map-content:before {
          border: 10px solid;
          -o-border-image: -o-linear-gradient(280deg, #d39a41, #f5d799, #e4b669, #ca9537) 1;
             border-image: linear-gradient(170deg, #d39a41, #f5d799, #e4b669, #ca9537) 1;
      }
      
      .fa-map-caption p {
          font-size: 14px;
      }
} 

/* Galaxy Tab 3(portrait) | Galaxy S5(landscape) */ 
@media only screen and (max-width: 767px) {

}

/* Galaxy S5(portrait) | iPod Touch(landscape) | iPod Touch(portrait) */ 
@media only screen and (max-width: 480px) {

}
 
