/* Consolidated CSS from Drupal export */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700");

/* --- Utility / Reset (formerly css_bj1g...) --- */
.text-align-left {
   text-align: left;
}

.text-align-right {
   text-align: right;
}

.text-align-center {
   text-align: center;
}

.text-align-justify {
   text-align: justify;
}

.align-left {
   float: left;
}

.align-right {
   float: right;
}

.align-center {
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.fieldgroup {
   border-width: 0;
   padding: 0;
}

.container-inline div,
.container-inline label {
   display: inline-block;
}

.container-inline .details-wrapper {
   display: block;
}

.clearfix:after {
   content: "";
   display: table;
   clear: both;
}

.hidden {
   display: none;
}

.visually-hidden {
   position: absolute !important;
   clip: rect(1px, 1px, 1px, 1px);
   overflow: hidden;
   height: 1px;
   width: 1px;
   word-wrap: normal;
}

.item-list__comma-list,
.item-list__comma-list li {
   display: inline;
}

.item-list__comma-list {
   margin: 0;
   padding: 0;
}

.item-list__comma-list li:after {
   content: ", ";
}

.item-list__comma-list li:last-child:after {
   content: "";
}

.nowrap {
   white-space: nowrap;
}

.position-container {
   position: relative;
}

/* --- Theme Styles (formerly css_BiWq...) --- */
.glyphicon-spin,
a .glyphicon-spin {
   display: inline-block
}

.alert a,
.field--label,
.file {
   font-weight: 700
}

.file,
.file-link {
   width: 100%
}

body {
   margin: 0;
   padding: 0;
   background: #ffffff;
   font: 13px/160% Verdana, sans-serif;
   color: #000000;
   position: relative;
}

a:link {
   color: #31405F;
   font-weight: bold;
   text-decoration: none;
}

a:visited {
   color: #31405F;
   font-weight: bold;
   text-decoration: none;
}

a:hover {
   color: #cccccc;
   font-weight: bold;
   text-decoration: underline;
}

h1.page-header {
   color: #2C4B79;
   margin-top: 11px;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 20px;
   padding-bottom: 0px;
}

h2 {
   color: #2C4B79;
   margin-top: 11px;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 20px;
   padding-bottom: 0px;
}

img {
   max-width: 100%;
   height: auto;
}

/* Header */
#leaderboard {
   text-align: center;
}

#leaderboard .header-main {
   height: 144px;
   display: block;
   margin: 0 auto;
   position: relative;
   background: #fff;
}

/* Fixed header background approach */

#navbar {
   background: #002862;
   font-family: 'Open Sans', sans-serif;
   color: #fff;
   font-size: 15px;
   margin-bottom: 0px;
}

.navbar-default .navbar-nav>li>a {
   color: #ffffff;
}

.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus {
   color: #ffffff;
}

li.expanded ul.dropdown-menu {
   background: #002862;
}

/* Sidebar & Regions */
.region-header {
   background: #426791;
   margin-bottom: 10px;
}

.well {
   min-height: 20px;
   padding: 5px;
   margin-bottom: 20px;
   background-color: #ffffff;
   border: 0px solid #e3e3e3;
}

/* Footer */
.footer {
   margin-top: 45px;
   padding-top: 35px;
   padding-bottom: 36px;
   border-top: 1px solid #E5E5E5;
   text-align: center;
}

/* Contact Form Specifics (integrated) */
.container5 {
   max-width: 600px;
   margin: 0 auto;
   padding: 20px;
}

.container5 label {
   display: block;
   margin-bottom: 5px;
   font-weight: bold;
}

.container5 input[type="text"],
.container5 input[type="email"],
.container5 input[type="tel"],
.container5 textarea {
   width: 100%;
   padding: 10px;
   margin-bottom: 15px;
   border: 1px solid #ccc;
   border-radius: 4px;
}

.container5 button {
   padding: 10px 20px;
   background-color: #002862;
   color: white;
   border: none;
   cursor: pointer;
   font-size: 16px;
}

.container5 button:hover {
   background-color: #001a40;
}

.message {
   padding: 10px;
   margin-bottom: 20px;
   border-radius: 4px;
}

.message.success {
   background-color: #dff0d8;
   color: #3c763d;
   border: 1px solid #d6e9c6;
}

.message.error {
   background-color: #f2dede;
   color: #a94442;
   border: 1px solid #ebccd1;
}

/* -------------------------------------------------------------------------
   Restored Theme Layout & Components (Manual Reconstruction)
   ------------------------------------------------------------------------- */

/* Two Column Layout on Homepage */
@media (min-width: 768px) {
   .layout--twocol {
      display: flex;
      flex-wrap: wrap;
   }

   .layout__region--first {
      width: 50%;
      padding-right: 15px;
   }

   .layout__region--second {
      width: 50%;
      padding-left: 15px;
   }
}

.layout__region--bottom {
   width: 100%;
   clear: both;
   margin-top: 20px;
}

/* Front Page Components */
.front-video img {
   border: 1px solid #ccc;
   box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

.front-quote h2 {
   color: #444;
   font-family: Georgia, serif;
   font-style: italic;
   font-size: 16px;
   line-height: 1.5;
   background: #f9f9f9;
   padding: 15px;
   border-left: 5px solid #002862;
}

.front-newsletter {
   background: #f0f0f0;
   padding: 15px;
   border-radius: 4px;
   text-align: center;
}

.newsletter-title {
   font-size: 18px;
   font-weight: bold;
   color: #002862;
   margin: 5px 0;
}

.front-info img {
   margin: 0 0 10px 15px;
}

.front-links .see-more {
   font-weight: bold;
   color: #002862;
   margin-top: 10px;
}

/* Videos Table */
table.videos td {
   vertical-align: top;
   padding: 10px;
}

table.videos img {
   margin-right: 10px;
}