/* Layout Styles - Grid, Container, Sidebar, Footer */

/* Container */
.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
  padding: .01em 16px;
  padding-bottom: 16px;
  margin-bottom: 10px;
}

.container:after,
.container:before {
  content: "";
  display: table;
  clear: both;
}

/* Row and Column Grid */
.row:after,
.row:before,
.row-padding:after,
.row-padding:before,
.clear:after,
.clear:before,
.bar:after,
.bar:before {
  content: "";
  display: table;
  clear: both;
}

.row-padding {
  display: flex;
  flex-wrap: wrap;
  margin: -8px;
}

.row-padding > .half,
.row-padding > .quarter,
.row-padding > .third,
.row-padding > .twothird {
  padding: 8px;
}

.half,
.quarter,
.third,
.twothird {
  width: 100%;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 601px) {
  .quarter { width: 24.99999%; }
  .third { width: 33.33333%; }
  .half { width: 49.99999%; }
  .twothird { width: 66.66666%; }
}

/* Main Content Area */
.main {
  transition: margin-left .4s;
}

/* Sidebar */
.sidebar {
  height: 100%;
  width: 200px;
  background-color: #fff;
  position: fixed !important;
  z-index: 1;
  overflow: auto;
  box-shadow: 2px 0 8px 0 rgba(0,0,0,.1);
}

.sidebar.collapse {
  display: none;
}

.bar-block {
  width: 100%;
}

.bar-block .button {
  width: 100%;
  text-align: left;
  padding: 8px 16px;
}

.bar-item {
  padding: 8px 16px;
  width: 100%;
  display: block;
  text-align: left;
  border: none;
  white-space: normal;
  outline: 0;
}

/* Top Bar */
.top {
  position: fixed;
  width: 100%;
  z-index: 1;
  top: 0;
}

/* Overlay */
.overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,.5);
  z-index: 2;
}

/* Footer */
.site-footer {
  background-color: #003282;
  color: #fff;
  margin-top: 75px;
  padding: 40px 0;
}

/* Position Utilities */
.display-topleft {
  position: absolute;
  left: 0;
  top: 0;
}

/* Alignment */
.center,
.text-center {
  text-align: center !important;
}

.left-align {
  text-align: left !important;
}

/* Spacing Utilities */
.padding {
  padding: 8px 16px !important;
}

.padding-large {
  padding: 12px 24px !important;
}

.padding-16 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.padding-24 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.padding-64 {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.margin-top {
  margin-top: 16px !important;
}

.margin-bottom {
  margin-bottom: 16px !important;
}

.margin-right {
  margin-right: 16px !important;
}

/* Misc Layout */
.round {
  border-radius: 4px;
}

/* Visibility */
.hide {
  display: none !important;
}

.collapse {
  display: none;
}

/* Responsive Layout */
@media (min-width: 993px) {
  .hide-large {
    display: none !important;
  }
  .sidebar.collapse {
    display: block !important;
  }
  .site-footer {
    margin-left: 340px !important;
    margin-right: 40px !important;
  }
}

@media (max-width: 992px) {
  .sidebar.collapse {
    display: none;
  }
  .main {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .site-footer {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 768px) {
  .modal-content {
    width: 500px;
  }
  .modal {
    padding-top: 50px;
  }
  .header-contact-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    padding: 10px 16px !important;
    font-size: 12px;
  }
  .stat-number {
    font-size: 2.5em;
  }
  .timeline-item {
    flex-direction: column;
  }
  .timeline-year {
    margin-right: 0;
    margin-bottom: 15px;
    align-self: flex-start;
  }
}

@media (max-width: 600px) {
  .modal-content {
    margin: 0 10px;
    width: auto !important;
  }
  .modal {
    padding-top: 30px;
  }
  .button-group {
    flex-direction: column;
    align-items: center;
  }
  .button-group .button {
    width: 100%;
    max-width: 280px;
    flex: none;
  }
}
