body {
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.gciem-homepage {
  background: #f3f3f3;
}

/* HERO */
.gciem-hero {
  position: relative;
  overflow: hidden;
  background: #14325c;
  color: #fff;
  min-height: 520px;
}

.gciem-hero-container {
  position: relative;
  z-index: 2;
  padding-top: 28px;
  padding-bottom: 50px;
}

.gciem-earth-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 42%;
  z-index: 1;
  background:
    linear-gradient(120deg, transparent 0 24%, rgba(0, 0, 0, 0.10) 24% 100%),
    url('/images/earth-hero.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center right;
  clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
}

.gciem-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.gciem-brand {
  display: flex;
  align-items: center;
}

.gciem-brand-logo-link {
  display: inline-block;
  text-decoration: none;
}

.gciem-brand-logo {
  display: block;
  height: 54px;
  width: auto;
  max-width: 100%;
}

.gciem-nav {
  display: flex;
  align-items: center;
  gap: 26px;
}

.gciem-nav a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
}

.gciem-nav a:hover {
  text-decoration: underline;
}

.gciem-login-btn,
.gciem-register-btn {
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  padding: 7px 18px;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  display: inline-block;
}

.gciem-login-btn:hover,
.gciem-register-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  text-decoration: none;
}

.gciem-top-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
  margin: 18px 0 28px 0;
}

.gciem-hero-content {
  position: relative;
  z-index: 2;
  min-height: 320px;
}

.gciem-hero-left {
  width: 70%;
  padding-top: 20px;
  padding-bottom: 36px;
  position: relative;
  z-index: 2;
}

.gciem-hero-left h1 {
  font-size: 72px;
  line-height: 1.05;
  font-weight: 700;
  margin: 0 0 18px 0;
  color: #fff;
  white-space: nowrap;
}

.gciem-subtitle {
  font-size: 22px;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 28px;
}

.gciem-search-wrap {
  max-width: 820px;
}

/* Search snippet reset */
.gciem-search-wrap .module-content,
.gciem-search-wrap .module-search,
.gciem-search-wrap .search-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.gciem-search-wrap form {
  position: relative;
  max-width: 820px;
}

.gciem-search-wrap .search-input,
.gciem-search-wrap .form-group,
.gciem-search-wrap .search-giant {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

.gciem-search-wrap input[type="text"],
.gciem-search-wrap input[name="q"],
.gciem-search-wrap .form-control {
  display: block !important;
  width: 100% !important;
  height: 50px !important;
  line-height: 50px !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 70px 0 20px !important;
  font-size: 16px !important;
  color: #444 !important;
  background: #fff !important;
}

.gciem-search-wrap button,
.gciem-search-wrap .search-submit,
.gciem-search-wrap .search-input button {
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #b6b6b6 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.gciem-search-wrap button i,
.gciem-search-wrap .search-submit i,
.gciem-search-wrap .search-input button i,
.gciem-search-wrap .fa-search {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 18px !important;
}

.gciem-search-wrap button i::before,
.gciem-search-wrap .search-submit i::before,
.gciem-search-wrap .search-input button i::before,
.gciem-search-wrap .fa-search::before {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gciem-feedback {
  margin-top: 12px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
}

.gciem-feedback a {
  color: #fff;
  text-decoration: underline;
}

/* MAIN */
.gciem-main {
  background: #f3f3f3;
  padding: 52px 0 90px 0;
}

.gciem-section {
  margin-bottom: 54px;
}

.gciem-section h2 {
  margin: 0 0 10px 0;
  font-size: 32px;
  font-weight: 400;
  color: #16325c;
}

.gciem-line {
  height: 2px;
  background: #3e5172;
  margin-bottom: 26px;
}

.gciem-content-row {
  margin-top: 30px;
}

/* 清掉 CKAN 原本首頁盒子外觀 */
.homepage .module,
.homepage .box,
.homepage .media-grid,
.homepage .dataset-list,
.homepage .group-list {
  background: transparent;
  border: none;
  box-shadow: none;
}

/* 最上面 user bar */
.account-masthead {
  background: #13294b !important;
  background-image: none !important;
  border-bottom: none !important;
}

/* 裡面 icon / 文字 */
.account-masthead a,
.account-masthead span,
.account-masthead .username {
  color: #fff !important;
}

/* 舊結構關閉 */
.gciem-hero-right {
  display: none !important;
}

/* footer */
.site-footer {
  background: #14325c !important;
  color: #fff !important;
}

.homepage .dataset-heading a {
  font-size: 20px !important;
  line-height: 1.35;
  font-weight: 500;
  color: #2f2f2f;
}

.site-footer .footer-links a,
.site-footer .attribution a {
  color: #fff !important;
}

/* footer language selector: CKAN Select2 修正 */
.site-footer .lang-select label {
  color: #fff !important;
}

.site-footer .lang-select .select2-container {
  width: 100% !important;
}

.site-footer .lang-select .select2-choice {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid #bfc7d1 !important;
  color: #333 !important;
  height: 40px !important;
  line-height: 40px !important;
  box-shadow: none !important;
}

.site-footer .lang-select .select2-chosen {
  color: #333 !important;
  line-height: 40px !important;
}

.site-footer .lang-select .select2-choice .select2-arrow {
  background: #f3f3f3 !important;
  border-left: 1px solid #bfc7d1 !important;
}

.site-footer .lang-select .select2-choice .select2-arrow b {
  background-position: 0 6px !important;
}

.select2-drop.lang-dropdown,
.select2-drop.lang-dropdown .select2-results,
.select2-drop.lang-dropdown .select2-result-label {
  color: #333 !important;
  background: #fff !important;
}

.site-footer .lang-select .select2-choice,
.site-footer .lang-select .select2-choice span,
.site-footer .lang-select .select2-choice div,
.site-footer .lang-select .select2-choice abbr {
  color: #333 !important;
}

.site-footer a.select2-choice,
.site-footer a.select2-choice:link,
.site-footer a.select2-choice:visited,
.site-footer a.select2-choice:hover,
.site-footer a.select2-choice:active {
  color: #333 !important;
  text-decoration: none !important;
}

.site-footer a.select2-choice .select2-chosen {
  color: #333 !important;
}

/* mobile hamburger */
.gciem-menu-toggle {
  display: none;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(20, 50, 92, 0.25);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  padding: 0;
  margin: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}

.gciem-menu-toggle span {
  display: block;
  width: 22px;
  height: 3px;
  background: #fff;
  border-radius: 999px;
}

.gciem-mobile-menu {
  display: none;
}

/* ===== 全站 header 顏色 ===== */
.masthead {
  background: #13294b !important;
}

/* header 裡的文字 */
.masthead a,
.masthead .navbar-nav > li > a {
  color: #fff !important;
}

/* ===== 全站 footer 顏色 ===== */
.site-footer {
  background: #13294b !important;
  color: #fff !important;
}

.site-footer a {
  color: #fff !important;
}

/* mobile */
@media (max-width: 991px) {
  .gciem-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .gciem-nav {
    display: none;
  }

  .gciem-menu-toggle {
    display: inline-flex;
  }

  .gciem-mobile-menu {
    display: none;
    position: relative;
    z-index: 20;
    margin-top: 12px;
    margin-bottom: 10px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(20, 50, 92, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.10);
  }

  body.gciem-menu-open .gciem-mobile-menu {
    display: block;
  }

  .gciem-mobile-menu a {
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    line-height: 1.35;
    padding: 10px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .gciem-mobile-menu a:last-child {
    border-bottom: none;
  }

  .gciem-mobile-menu a:hover {
    text-decoration: none;
    opacity: 0.9;
  }

  .gciem-top-divider {
    margin-top: 16px;
    margin-bottom: 24px;
  }

  .gciem-earth-image {
    width: 100%;
    opacity: 0.25;
    clip-path: none;
  }

  .gciem-hero-left {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 24px;
  }

  .gciem-hero-left h1 {
    font-size: 48px;
    white-space: normal;
  }

  .gciem-subtitle {
    font-size: 18px;
    line-height: 1.45;
  }

  .gciem-brand-logo {
    height: 44px;
  }

  .gciem-search-wrap {
    max-width: 100%;
  }

  .gciem-search-wrap form {
    max-width: 100%;
  }
}
