:root {
  /* Color: Panel */
  --pnl_blue_dk: #1f2553;
  --pnl_blue_lt: #9aadc8;
  --pnl_grey: #f3f3f3;
  --pnl_black: #121630;
  --pnl_white: #ffffff;
  --pnl_menu: #9aadc7;
  /* Color: Link */
  --link_dk: #1f2553;
  --link_lt: #f3f3f3;
  --link_hover: #9aadc8;
  --link_visited: #9aadc8;
  --link_dk_new: #152553;
  --link_lt_new: #9aadc7;
  /* Color: Text */
  --txt_white: #ffffff;
  --txt_black: #000000;
  --txt_black_2: #121630;
  --txt_blue_dk: #1f2553;
  --txt_black_lt: #333333;
  /* Header Height */
  --header_nav_height: 110px;
}
@media screen and (max-width: 63.9375em) {
  :root {
    /* Header Height */
    --header_nav_height: 134px;
    --header_custom_banner_bar_height: 0px;
  }
}
@media screen and (max-width: 39.9375em) {
  :root {
    /* Header Height */
    --header_nav_height: 100px;
  }
}

/* FONTS */
@font-face {
  font-family: 'ProximaNova';
  src: url("../fonts/proxima-nova-reg/ProximaNova-Regular.otf") format("opentype");
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat-Regular';
  src: url("../fonts/montserrat/Montserrat-Regular.ttf") format("opentype");
  font-display: swap;
}

/************************************************************
 * Common
 ************************************************************/
html,
body {
  height: 100%;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}
p {
  font-size: 13pt;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat-Regular';
}
h1 {
  font-weight: bold;
  font-size: 40pt;
}
h2 {
  font-weight: bold;
  font-size: 24pt;
}
h3 {
  font-weight: bold;
  font-size: 16pt;
}
h4 {
  font-weight: bold;
  font-size: 14pt;
}
h5 {
  font-weight: bold;
  font-size: 13pt;
}
a,
a:hover,
a:active,
a:focus {
  outline: 0;
}
@media screen and (max-width: 39.9375em) {
  body {
    font-size: 12pt;
  }
  h1 {
    font-size: 28pt;
  }
  h2 {
    font-size: 18pt;
  }
  h3 {
    font-size: 14pt;
  }
  h4 {
    font-size: 12pt;
  }
  h5 {
    font-size: 11pt;
  }
}

/************************************************************
 * Buttons
 ************************************************************/
/* Primary */
.primary-button {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14pt;
  line-height: 1 !important;
  color: var(--txt_white);
  border: 2pt var(--pnl_blue_dk) solid;
  background-color: var(--pnl_blue_dk);
  padding: 20px 50px;
}
.primary-button:visited {
  color: var(--txt_white);
}
.primary-button:hover {
  background-color: var(--pnl_blue_lt);
  border-color: var(--pnl_blue_lt);
  color: var(--txt_white);
}
/* Secondary */
.secondary-button {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14pt;
  line-height: 1 !important;
  color: var(--txt_blue_dk);
  border: 2pt var(--pnl_blue_dk) solid;
  background-color: var(--pnl_white);
  padding: 20px 50px;
}
.secondary-button:visited {
  color: var(--txt_blue_dk);
}
.secondary-button:hover {
  background-color: var(--pnl_blue_lt);
  /* color: var(--txt_blue_dk); */
  border-color: var(--pnl_blue_lt);
  color: var(--txt_white);
}
/* Secondary - Reverse */
.secondary-reverse {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14pt;
  line-height: 1 !important;
  color: var(--txt_white);
  border: 2pt var(--pnl_white) solid;
  background: none;
  padding: 20px 50px;
}
.secondary-reverse:visited {
  color: var(--txt_white);
}
.secondary-reverse:hover {
  background-color: var(--pnl_blue_lt);
  color: var(--txt_white);
}
@media screen and (max-width: 63.9375em) {
  .primary-button,
  .secondary-reverse {
    font-size: 12pt;
  }
}

/************************************************************
 * Header
 ************************************************************/
.site-header {
  background-color: var(--pnl_white);
  height: var(--header_nav_height);
  width: 100%;
  position: fixed;
  z-index: 700;
}
.header-inner {
  padding: 1.1rem 0;
}
.site-branding {
  height: 60px;
}
.site-branding img {
  max-height: 100%;
}
.main-space-top {
  height: var(--header_nav_height);
  content: " ";
}
@media screen and (max-width: 40em) {
  .site-branding {
    text-align: center;
  }
}

/************************************************************
 * Header - Simple
 ************************************************************/
.header-simple {
  background-color: var(--pnl_black);
  min-height: 350px;
  height: auto;
}
.header-simple .breadcrumbs {
  padding-top: 50px;
  color: #c0c0c0;
  font-size: 12pt;
}
.header-simple .breadcrumbs a {
  color: #c0c0c0;
}
.header-simple .breadcrumbs a:hover {
  text-decoration: none;
  padding-bottom: 3px;
  border-bottom: 1px solid #c0c0c0;
}
.header-simple .header-title-wrapper {
  min-height: 200px;
  height: auto;
  padding-bottom: 50px;
  display: table;
}
.header-simple .header-title-wrapper h1 {
  color: var(--txt_white);
  display: table-cell;
  vertical-align: middle;
}
@media screen and (max-width: 63.9375em) {
  .header-simple {
    height: auto;
    min-height: 0;
  }
  .header-simple .header-title-wrapper {
    height: auto;
    min-height: 0;
    padding-bottom: 25px;
    text-align: center;
    display: block;
  }
  .header-simple .breadcrumbs {
    padding-top: 25px;
    text-align: center;
  }
  .header-simple .header-title-wrapper h1 {
    display: block;
  }
}

#primary {
  padding-top: 95px;
  margin-top: -95px;
}
.entry-content {
  padding-top: 80px;
  padding-bottom: 80px;
  margin: 0;
}
#primary > section {
  padding-top: 80px;
  padding-bottom: 80px;
}

/************************************************************
 * Footer
 ************************************************************/
.site-footer {
  background-color: var(--pnl_blue_dk);
  width: 100%;
  color: var(--link_lt);
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 12pt;
  text-align: center;
}

/************************************************************
 * Post Single
 ************************************************************/
.post-entry-content {
  padding-top: 80px;
  padding-bottom: 80px;
  margin: 0;
}
.post-entry-content p a,
.post-entry-content p span a {
  color: var(--link_dk_new);
  font-weight: bold;
  font-style: italic;
}
.post-entry-content p a:hover,
.post-entry-content p span a:hover {
  padding-bottom: 3px;
  border-bottom: 2px solid var(--link_dk_new);
}

/************************************************************
 * Video Post
 ************************************************************/
.video-post-content {
  padding-left: 50px;
}
@media screen and (max-width: 63.9375em) {
  .video-post-content {
    padding-left: 0;
    padding-top: 30px;
  }
}

/************************************************************
 * Info
 * text_image_with_scroll
 ************************************************************/
.section-info-text-image {
  background-color: var(--pnl_white);
  color: var(--txt_black_lt);
}
.section-info-text-image .image {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.section-info-text-image .content-container {
  display: inline-flex;
}
.section-info-text-image p {
  color: var(--txt_black_lt);
}
.section-info-text-image p a {
  color: var(--link_dk_new);
  font-weight: bold;
  font-style: italic;
}
.section-info-text-image p a:hover {
  padding-bottom: 3px;
  border-bottom: 2px solid var(--link_dk_new);
}
@media screen and (max-width: 63.9375em) {
  .section-info-text-image {
    text-align: center;
  }
  .section-info-text-image .image-for-mobile-wrapper {
    margin-bottom: 30px;
  }
  .section-info-text-image .image {
    height: 40vh;
  }
  .section-info-text-image .content-container {
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .section-info-text-image ul > li,
  .section-info-text-image ul > li > ul > li {
    padding-left: 0 !important;
  }
  .section-info-text-image ul > li::before {
    display: block;
    content: '一' !important;
    font-weight: bolder;
    font-size: 16pt;
    padding: 0 !important;
    margin: 0 !important;
  }
  .section-info-text-image ul > li > ul > li::before {
    display: block;
    content: '—' !important;
    font-weight: normal;
    font-size: 14pt;
    padding: 0;
    margin: 0;
  }
}

/************************************************************
 * Video List
 * video_list
 ************************************************************/
.section-video-list {
  padding-top: 50px;
  padding-bottom: 50px;
  margin: 0;
  background-color: var(--pnl_grey);
}
.section-video-list h2 {
  color: var(--txt_blue_dk);
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 20px;
}
.section-video-list .card {
  background: none;
  border: none;
  margin-left: 10px;
  margin-right: 10px;
  padding-top: 50px;
  padding-bottom: 50px;
  height: 100%;
  position: relative;
}
.section-video-list .card .post-image {
  width: 60%;
  margin: 0 auto;
  z-index: 500;
  background-color: var(--pnl_white);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.section-video-list .card .post-image::after {
  content: ' ';
  display: block;
  padding-bottom: 70%;
}
.section-video-list .card .card-section {
  background-color: var(--pnl_white);
  margin-top: -80px;
  padding-top: 100px;
  color: var(--txt_black_lt);
}
.section-video-list .card .card-content-wrapper {
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
}
.section-video-list .card .card-section h3 {
  color: var(--txt_blue_dk);
  font-weight: bold;
  text-transform: uppercase;
}
.section-video-list .card .card-section p {
  margin-top: 36px;
}
.section-video-list .card .card-divider {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 2rem;
  padding-top: 0;
  background-color: var(--pnl_white);
}
.section-video-list .card .card-divider a {
  width: 100%;
  display: block;
}
/* 1440px Maximum */
@media screen and (max-width: 90em) {
  .section-video-list .card {
    margin-left: 0;
    margin-right: 0;
  }
  .section-video-list .card .post-image {
    width: 75%;
  }
  .section-video-list .card .card-content-wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/************************************************************
 * Search
 ************************************************************/
.search .search-result-wrapper {
  padding-top: 50px;
  padding-bottom: 50px;
  margin: 0;
}
.search .search-result-wrapper .search-keyword {
  font-size: 13pt;
  color: var(--txt_black_lt);
  padding-bottom: 50px;
}
.search .search-result-wrapper .search-keyword span {
  font-weight: bold;
}
.search .search-result-wrapper .numbered-pagination {
  padding-top: 65px;
  text-align: center;
}
.search .search-result-wrapper .numbered-pagination > span {
  background-color: var(--pnl_grey);
  padding: 0 25px;
}
.search .search-result-wrapper .numbered-pagination .page-numbers {
  margin: 0 10px;
  color: var(--link_dk);
}
.search .search-result-wrapper .numbered-pagination .current {
  font-weight: bold;
}
.search .search-result-wrapper .numbered-pagination .prev,
.search .search-result-wrapper .numbered-pagination .next {
  border: 2px solid var(--pnl_black);
  border-radius: 50%;
  padding: 9.25px 15px;
}
.search .search-result-wrapper .numbered-pagination .disabled {
  color: #c0c0c0;
  border-color: #c0c0c0;
}
.search .search-result-wrapper .numbered-pagination hr {
  margin-top: -15px;
  background-color: var(--pnl_black);
  width: 100%;
  max-width: 100%;
  height: 2px;
  border: none;
}
.search .search-result-wrapper article > a {
  padding-bottom: 50px;
  display: block;
  color: var(--txt_black_2);
}
.search .search-result-wrapper article > a > .url {
  font-weight: bold;
}
@media screen and (max-width: 63.9375em) {
  .search .search-result-wrapper .numbered-pagination > span {
    padding: 0;
  }
  .search .search-result-wrapper .numbered-pagination .prev,
  .search .search-result-wrapper .numbered-pagination .next {
    display: unset;
  }
}