/*
 * Backgound Function Collection
 * Oct 19: Largely rewrite to be more flexible
 *      - Before/After taking "Content" now
 *      - Ignore the rest of parameters if neither Image nor color exist
 *      - Able to handle Hover & Active BG
 */
/* Positioning & Sizing Function Collection
 * 
 * Oct 19: Enhanced dimen, if only one parameter, make it square size
 */
footer .coreMap {
  width: 100%;
  padding-left: 5vw;
  padding-right: 5vw;
}

footer {
  padding-left: 5vw;
  padding-right: 5vw;
}

/*
 * Backgound Function Collection
 * Oct 19: Largely rewrite to be more flexible
 *      - Before/After taking "Content" now
 *      - Ignore the rest of parameters if neither Image nor color exist
 *      - Able to handle Hover & Active BG
 */
/* Positioning & Sizing Function Collection
 * 
 * Oct 19: Enhanced dimen, if only one parameter, make it square size
 */
footer {
  background-color: #005b75;
  width: 100%;
  color: #fff;
  font-size: 1.3rem;
}
footer .sitemap {
  padding-top: 60px;
  padding-bottom: 0;
  border-bottom: 1px solid #fff;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 25% 25% 25% 25%;
  grid-template-columns: 25% 25% 25% 25%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  grid-template-areas: "a b c d";
}
footer .sitemap .col-a {
  -ms-grid-rows: 1;
  grid-template-rows: 1;
  -ms-grid-columns: 1;
  grid-template-columns: 1;
  grid-area: a;
}
footer .sitemap .col-b {
  -ms-grid-rows: 1;
  grid-template-rows: 1;
  -ms-grid-columns: 2;
  grid-template-columns: 2;
  grid-area: b;
}
footer .sitemap .col-c {
  -ms-grid-rows: 1;
  grid-template-rows: 1;
  -ms-grid-columns: 3;
  grid-template-columns: 3;
  grid-area: c;
}
footer .sitemap .col-d {
  -ms-grid-rows: 1;
  grid-template-rows: 1;
  -ms-grid-columns: 4;
  grid-template-columns: 4;
  grid-area: d;
}
@media screen and (max-width: 991px) {
  footer .sitemap {
    -ms-grid-columns: 33.3333333333% 33.3333333333% 33.3333333333%;
    grid-template-columns: 33.3333333333% 33.3333333333% 33.3333333333%;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    grid-template-areas: "a b d" "a c d";
  }
}
@media screen and (max-width: 767px) {
  footer .sitemap {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    grid-template-areas: "a";
  }
  footer .sitemap .col-b,
footer .sitemap .col-c,
footer .sitemap .col-d {
    display: none !important;
  }
}
footer .sitemap .sitemapCol {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 100%;
  -moz-box-flex: 1;
  -moz-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 48px;
}
@media screen and (max-width: 991px) {
  footer .sitemap .sitemapCol {
    padding-left: 15px;
    padding-right: 15px;
  }
}
footer .sitemap .sitemapCol:first-child {
  padding-left: 0;
  margin-right: 15px;
}
footer .sitemap .sitemapCol:last-child {
  padding-right: 0;
}
footer .sitemap .contactInfo {
  border-right: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  footer .sitemap .contactInfo {
    border-right: none;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    -webkit-align-items: center !important;
    -moz-align-items: center !important;
    align-items: center !important;
  }
}
footer .sitemap .contactInfo a.icn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: 30px;
}
footer .sitemap .contactInfo a.icn i.icn {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}
footer .sitemap .contactInfo.sitemapgrp {
  padding-left: 0;
}
footer .sitemap .contactInfo.sitemapgrp .title {
  border-bottom: none;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  footer .sitemap .contactInfo.sitemapgrp .title {
    text-align: center;
  }
}
footer .sitemap .contactInfo.sitemapgrp a {
  min-height: 30px;
  margin-top: 15px;
}
footer .sitemap .contactInfo.sitemapgrp a:first-child {
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  footer .sitemap .contactInfo.sitemapgrp a {
    width: auto;
  }
}
footer .sitemap .socialIcons {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  footer .sitemap .socialIcons {
    justify-content: center;
    width: 80%;
  }
}
footer .sitemap .socialIcons a {
  display: block;
  width: 44px;
  height: 44px;
  margin: 10px 10px 0 0 !important;
  padding: 0;
}
footer .sitemap .socialIcons a img {
  width: 44px;
  height: 44px;
  max-width: none;
}
footer .sitemap .socialIcons a img[alt=X] {
  transform: scale(0.8);
}
footer .sitemap .sitemapgrp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
}
footer .sitemap .sitemapgrp + .sitemapgrp {
  margin-top: 48px;
}
footer .sitemap .sitemapgrp .title {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 7px;
  margin-bottom: 0;
  border-bottom: 1px solid #fff;
  width: 100%;
}
footer .sitemap .sitemapgrp a {
  color: #fff !important;
  margin-top: 8px;
}
footer .coreMap {
  margin-left: auto;
  margin-right: auto;
  padding-top: 25px;
  padding-bottom: 0;
}
footer .coreMap a, footer .coreMap a:hover, footer .coreMap a:active, footer .coreMap a:visited {
  color: #fff !important;
}
footer .coreMap .split {
  margin-left: 16px;
  margin-right: 16px;
}
footer .logosWrapper > div {
  margin: 32px 20px 0;
}
footer .copyright {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  padding-top: 10px;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  footer .copyright {
    margin-top: 20px;
    padding-left: 2%;
    padding-right: 2%;
  }
}
footer .copyright span {
  text-align: center;
}
footer .split {
  width: 2px;
  height: 10px;
  background-color: #fff;
  margin: 0 8px;
}
