/*
Developed by Brendan Lawton, Design Portfolio
CSS Methodology: SMACCS with SASS
*/
/*

25  100 ultra light
45  200 light
55  400 roman
75  700 bold

*/
/* fonts */
/* swatch */
/* 1. BASE RULES */
.dp-theme {
  font-family: "Neue Helvetica W01", Arial, sans-serif;
  color: #808080;
  font-size: 16px;
  line-height: 20px;
  font-weight: 200;
  word-break: break-word; }
  .dp-theme a,
  .dp-theme a:hover,
  .dp-theme a:focus,
  .dp-theme a:visited {
    color: #09032f; }
  .dp-theme h1, .dp-theme h2, .dp-theme h3, .dp-theme h4, .dp-theme h5, .dp-theme h6 {
    font-weight: 200; }

table {
  margin: 15px 0;
  width: 100%;
  word-break: normal; }
  table td {
    padding: 8px;
    border: 1px solid #ccc; }

.plain-table td {
  border: none; }

.theme-table {
  background-color: #09032f;
  color: #ffffff; }
  .theme-table.one-cell td {
    padding: 30px; }
  .theme-table td {
    padding: 8px; }

img {
  height: auto;
  max-width: 100%; }
  img.full-width-img {
    width: 100%;
    height: auto; }

.full-width-img img {
  width: 100%;
  height: auto; }

/* 2. LAYOUT RULES */
.dp-theme main {
  padding-top: 15px; }

#site-header {
  background-color: #09032f; }

#site-footer {
  background-color: transparent; }
  #site-footer, #site-footer a {
    color: #09032f; }

.footer-wrapper {
  border-top: 1px solid #09032f; }
  .footer-wrapper.top {
    padding-bottom: 25px;
    padding-top: 28px; }
  .footer-wrapper.bottom {
    font-size: 12px;
    line-height: 25px;
    padding-top: 20px; }

.dp-theme.ccm-page.page-template-home {
  padding-top: 0 !important; }
  @media (min-width: 768px) {
    .dp-theme.ccm-page.page-template-home #site-header #main-navbar {
      background-color: transparent; } }
  .dp-theme.ccm-page.page-template-home .navbar {
    opacity: 0;
    animation: fadein 1s forwards;
    -moz-animation: fadein 1s forwards;
    /* Firefox */
    -webkit-animation: fadein 1s forwards;
    /* Safari and Chrome */
    -o-animation: fadein 1s forwards;
    /* Opera */
    animation-delay: 4s;
    -moz-animation-delay: 4s;
    /* Firefox */
    -webkit-animation-delay: 4s;
    /* Safari and Chrome */
    -o-animation-delay: 4s;
    /* Opera */ }

@media (max-width: 767px) {
  #site-footer,
  #site-footer .text-left,
  #site-footer .text-right {
    text-align: center !important; } }

@media (min-width: 768px) {
  #site-footer {
    font-size: 16px; }
  .footer-wrapper.top {
    padding-bottom: 70px;
    padding-top: 70px; }
  .footer-wrapper.bottom {
    padding-top: 25px; } }

@media (min-width: 992px) {
  #site-footer {
    font-size: 20px; } }

@media (min-width: 1200px) {
  #site-footer {
    font-size: 27px; } }

/* 3. MODULE RULES */
#site-header #main-navbar {
  background-color: #09032f;
  z-index: 1100;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s; }
  @media (min-width: 768px) {
    #site-header #main-navbar {
      pointer-events: none; } }
  #site-header #main-navbar li.open > a,
  #site-header #main-navbar a:hover,
  #site-header #main-navbar a:focus {
    color: #09032f; }

#site-header .navbar-brand {
  background-color: #09032f;
  height: auto;
  width: 133px;
  padding: 0; }

#site-header .navbar-header {
  padding: 15px; }

#site-header .navbar-toggle {
  margin-right: 0;
  padding: 10px 0 0 0; }
  #site-header .navbar-toggle:hover {
    background: transparent !important; }
  #site-header .navbar-toggle .icon-bar {
    background-color: #fff;
    height: 2px;
    width: 25px;
    transition: all 0.2s; }
  #site-header .navbar-toggle .icon-bar + .icon-bar {
    margin-top: 5px; }

#site-header a {
  color: #fff; }

#mobile-nav-reveal .top-bar,
.modal-open #modal-nav-reveal .top-bar {
  transform: rotate(45deg);
  transform-origin: 10% 10%; }

#mobile-nav-reveal .middle-bar,
.modal-open #modal-nav-reveal .middle-bar {
  opacity: 0; }

#mobile-nav-reveal .bottom-bar,
.modal-open #modal-nav-reveal .bottom-bar {
  transform: rotate(-45deg);
  transform-origin: 10% 90%; }

#mobile-nav-reveal.collapsed .top-bar,
#modal-nav-reveal .top-bar {
  transform: rotate(0deg); }

#mobile-nav-reveal.collapsed .middle-bar,
#modal-nav-reveal .middle-bar {
  opacity: 1; }

#mobile-nav-reveal.collapsed .bottom-bar,
#modal-nav-reveal .bottom-bar {
  transform: rotate(0deg); }

@media (min-width: 768px) {
  #modal-nav-reveal,
  #mobile-nav-reveal,
  .navbar-brand {
    pointer-events: initial; } }

#modal-nav-wrapper {
  background-color: #09032f; }
  #modal-nav-wrapper #modal-inner {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
  #modal-nav-wrapper .modal-backdrop {
    display: none; }

.icon-nav-wrapper .icon-nav-list {
  float: none;
  text-align: center;
  justify-content: space-around;
  display: flex; }
  .icon-nav-wrapper .icon-nav-list > li {
    display: inline-block;
    float: none;
    flex: 1;
    text-align: center; }
  .icon-nav-wrapper .icon-nav-list .open > a,
  .icon-nav-wrapper .icon-nav-list .open > a:hover,
  .icon-nav-wrapper .icon-nav-list .open > a:focus,
  .icon-nav-wrapper .icon-nav-list > li > a:hover,
  .icon-nav-wrapper .icon-nav-list > li > a:focus,
  .icon-nav-wrapper .icon-nav-list .dropdown-menu {
    background-color: transparent; }
  .icon-nav-wrapper .icon-nav-list .dropdown-menu {
    border-radius: 0;
    box-shadow: none;
    min-width: 100%; }
    .icon-nav-wrapper .icon-nav-list .dropdown-menu a {
      text-align: center; }
  .icon-nav-wrapper .icon-nav-list .dropdown-menu > li > a:hover, .icon-nav-wrapper .icon-nav-list .dropdown-menu > li > a:focus {
    background-color: #373965;
    background-image: none; }
  .icon-nav-wrapper .icon-nav-list .nav-icon-title {
    display: block;
    font-size: 15px;
    margin-top: 5px;
    text-transform: uppercase; }

.icon-nav-wrapper svg {
  display: block;
  height: 100px;
  margin: 0 auto;
  width: 100px; }
  .icon-nav-wrapper svg path, .icon-nav-wrapper svg rect {
    stroke: #fff;
    fill: #09032f;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
  .icon-nav-wrapper svg:hover path, .icon-nav-wrapper svg:hover rect {
    fill: #fff;
    stroke: #09032f; }

.icon-nav-wrapper .submenu {
  bottom: 100%;
  top: auto;
  position: absolute;
  margin-bottom: 15px;
  width: 100%; }

.aligner {
  display: flex;
  align-items: center;
  justify-content: center; }

.text-only-wrapper .text-only-list {
  display: flex;
  justify-content: space-around;
  text-transform: uppercase; }
  .text-only-wrapper .text-only-list > li {
    flex: 1;
    text-align: center; }

.fullpage.homepage {
  text-align: center; }
  .fullpage.homepage > div.fp-section:last-of-type .fp-tableCell .full-section-arrow {
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    filter: FlipV;
    -ms-filter: "FlipV"; }
  .fullpage.homepage .fp-section {
    background-color: #01002c;
    color: #fff; }
    .fullpage.homepage .fp-section .fp-tableCell .full-section-arrow {
      left: 50%;
      content: url("../img/icons/arrow-mob.png");
      position: absolute;
      bottom: 15px;
      width: 21px;
      margin-left: -11px; }
      .fullpage.homepage .fp-section .fp-tableCell .full-section-arrow:hover {
        cursor: pointer; }
    .fullpage.homepage .fp-section#site-footer {
      background-color: transparent; }
    .fullpage.homepage .fp-section:last-child .fp-tableCell .full-section-arrow {
      -moz-transform: scaleY(-1);
      -o-transform: scaleY(-1);
      -webkit-transform: scaleY(-1);
      transform: scaleY(-1);
      filter: FlipV;
      -ms-filter: "FlipV"; }
  .fullpage.homepage .icon svg {
    width: 83px;
    height: 83px; }
    @media (min-width: 768px) {
      .fullpage.homepage .icon svg {
        width: 144px;
        height: 144px; } }
    .fullpage.homepage .icon svg path, .fullpage.homepage .icon svg rect {
      fill: none;
      stroke: #fff; }
  .fullpage.homepage a {
    color: #fff; }
  .fullpage.homepage .section-title {
    text-transform: uppercase;
    color: #fff;
    font-size: 12px;
    line-height: 14px; }
  .fullpage.homepage .headline, .fullpage.homepage .fp-section .fp-tableCell:after {
    opacity: 0;
    animation: fadein 1s forwards;
    -moz-animation: fadein 1s forwards;
    /* Firefox */
    -webkit-animation: fadein 1s forwards;
    /* Safari and Chrome */
    -o-animation: fadein 1s forwards;
    /* Opera */
    animation-delay: 2s;
    -moz-animation-delay: 2s;
    /* Firefox */
    -webkit-animation-delay: 2s;
    /* Safari and Chrome */
    -o-animation-delay: 2s;
    /* Opera */ }
  .fullpage.homepage .fp-section .fp-tableCell:after {
    animation-delay: 5s;
    -moz-animation-delay: 5s;
    /* Firefox */
    -webkit-animation-delay: 5s;
    /* Safari and Chrome */
    -o-animation-delay: 5s;
    /* Opera */ }
  .fullpage.homepage .headline {
    color: #fff;
    font-weight: 100;
    font-size: 28px;
    line-height: 32px;
    text-transform: lowercase; }
    @media (min-width: 768px) {
      .fullpage.homepage .headline {
        font-size: 34px;
        line-height: 36px; } }
    @media (min-width: 992px) {
      .fullpage.homepage .headline {
        font-size: 62px;
        line-height: 65px; } }
    @media (min-width: 1200px) {
      .fullpage.homepage .headline {
        font-size: 96px;
        line-height: 98px; } }
  .fullpage.homepage .section-description {
    color: #fff;
    font-size: 18px;
    line-height: 24px; }
    @media (min-width: 768px) {
      .fullpage.homepage .section-description {
        font-size: 22px;
        line-height: 24px; } }
    @media (min-width: 992px) {
      .fullpage.homepage .section-description {
        font-size: 26px;
        line-height: 30px; } }
    @media (min-width: 1200px) {
      .fullpage.homepage .section-description {
        font-size: 32px;
        line-height: 44px; } }

button.theme-btn,
a.theme-btn,
.theme-btn a,
a .theme-btn,
input[type="submit"] {
  background: #09032f;
  color: #fff;
  border: 1px solid #fff;
  display: inline-block;
  font-size: 15px;
  line-height: 15px;
  padding: 15px 22px;
  text-transform: uppercase;
  margin-top: 35px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }
  button.theme-btn:hover,
  a.theme-btn:hover,
  .theme-btn a:hover,
  a .theme-btn:hover,
  input[type="submit"]:hover {
    text-decoration: none;
    background: #fff;
    color: #09032f; }

.ccm-search-block-form .ccm-search-block-submit {
  margin-top: 0;
  border-radius: 0; }

.ccm-search-block-form .ccm-search-block-text {
  height: 45px;
  border-radius: 0; }

.theme-select {
  background-color: #fff;
  border: 1px solid #b3b3b3;
  padding: 15px; }
  .theme-select select {
    background-color: transparent;
    border: 0; }

div#home-slide {
  background-size: cover;
  height: 100vh;
  overflow: hidden;
  position: relative; }

@keyframes wave {
  0% {
    -webkit-transform: rotateZ(0deg) translate3d(0, 30px, 0) rotateZ(0deg);
    -moz-transform: rotateZ(0deg) translate3d(0, 30px, 0) rotateZ(0deg);
    transform: rotateZ(0deg) translate3d(0, 30px, 0) rotateZ(0deg); }
  100% {
    -webkit-transform: rotateZ(360deg) translate3d(0, 30px, 0) rotateZ(-360deg);
    -moz-transform: rotateZ(360deg) translate3d(0, 30px, 0) rotateZ(-360deg);
    transform: rotateZ(360deg) translate3d(0, 30px, 0) rotateZ(-360deg); } }

.background {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute; }
  .background ul#scene {
    margin: 0;
    position: relative;
    overflow: hidden;
    height: 100%; }
    .background ul#scene li.layer {
      width: 110%;
      height: 110%;
      left: -14% !important;
      top: -5% !important; }
      .background ul#scene li.layer .image {
        background-repeat: no-repeat;
        background-position: 50% 100%;
        background-size: cover;
        bottom: 0;
        position: absolute;
        width: 110%;
        left: -5%;
        top: -5%; }
      .background ul#scene li.layer.layer-1 .image {
        opacity: 0.2;
        -webkit-animation: wave 30s 0.1s infinite linear;
        -moz-animation: wave 30s 0.1s infinite linear;
        animation: wave 30s 0.1s infinite linear; }
      .background ul#scene li.layer.layer-2 .image {
        opacity: 0.5;
        -webkit-animation: wave 20s 0.1s infinite linear;
        -moz-animation: wave 20s 0.1s infinite linear;
        animation: wave 20s 0.1s infinite linear; }
      .background ul#scene li.layer.layer-3 .image {
        opacity: 0.8;
        -webkit-animation: wave 10s 0.1s infinite linear;
        -moz-animation: wave 10s 0.1s infinite linear;
        animation: wave 10s 0.1s infinite linear; }

ul#scene.contain-to-banner {
  height: 100%; }

ul#scene li.layer .image {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  width: 110%;
  left: -5%;
  top: -5%;
  bottom: -5%;
  right: -5%; }

ul#scene li.layer svg path {
  stroke: #fff !important; }

.subpage-banner {
  position: relative;
  overflow: hidden;
  padding: 122px 0;
  height: 335px; }
  .subpage-banner svg {
    display: block;
    height: 85px;
    margin: 0 auto;
    width: 85px; }
  .subpage-banner .cls-6 {
    fill: none; }
  .subpage-banner path, .subpage-banner line, .subpage-banner rect, .subpage-banner circle {
    stroke: #fff !important; }
  .subpage-banner .page-title {
    color: #fff;
    font-size: 25px;
    line-height: 25px;
    text-align: center; }

.dp-theme .breadcrumb {
  background-color: transparent;
  border-bottom: 1px solid #808080;
  border-radius: 0;
  margin-top: 15px;
  padding: 0;
  margin-bottom: 0; }
  .dp-theme .breadcrumb li {
    margin-bottom: 15px; }
    .dp-theme .breadcrumb li + li:before {
      content: '>';
      color: #06083e; }
    .dp-theme .breadcrumb li.active {
      color: #06083e; }

#top-button-wrapper {
  padding: 15px; }
  #top-button-wrapper #top-button {
    display: block;
    margin: 10px auto; }

@media (min-width: 768px) and (max-width: 5000px) {
  #main-navbar .navbar-header {
    float: none; }
  #main-navbar .navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }
  #main-navbar .navbar-collapse.collapse {
    display: none !important; }
  #main-navbar .navbar-nav {
    float: none !important;
    margin: 7.5px -15px; }
  #main-navbar .navbar-nav > li {
    float: none; }
  #main-navbar .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px; }
  #modal-nav-reveal {
    display: block; } }

/* 4. STATE RULES */
#site-header .navbar-brand {
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s; }

.modal-open #site-header .navbar-brand {
  opacity: 0; }

/* 5. THEME RULES */
.lead, .intro, .key-message, .small-heading, h2, h3, h4 {
  font-weight: 400; }

h2 {
  color: #09032f;
  font-size: 26px;
  line-height: 28px;
  margin-top: 15px;
  display: block; }
  @media (min-width: 768px) {
    h2 {
      font-size: 32px;
      line-height: 34px; } }

h3 {
  color: #09032f;
  font-size: 20px;
  line-height: 22px;
  display: block; }
  @media (min-width: 768px) {
    h3 {
      font-size: 28px;
      line-height: 30px; } }

.lead, h4 {
  font-size: 16px;
  line-height: 22px;
  color: #09032f; }
  @media (min-width: 768px) {
    .lead, h4 {
      font-size: 20px;
      line-height: 26px; } }

.border-right {
  border-right: 1px solid #ccc; }

/* DP Bootstrap Accordion
------------------------------------------------------------------------------*/
.d-p-accordion.panel-group .panel {
  border-color: #09032f;
  border-radius: 0; }
  .d-p-accordion.panel-group .panel .panel-heading {
    border: none;
    padding: 0;
    background: transparent none; }
    .d-p-accordion.panel-group .panel .panel-heading:hover {
      background-color: #E6E6EC; }
    .d-p-accordion.panel-group .panel .panel-heading h4 {
      font-size: 1.25em; }
      .d-p-accordion.panel-group .panel .panel-heading h4 a {
        padding: 10px 15px;
        display: block; }
  .d-p-accordion.panel-group .panel .panel-body {
    border: none;
    border-top: 1px solid #E6E6EC; }
    .d-p-accordion.panel-group .panel .panel-body *:last-child {
      margin-bottom: 0; }

/* PAGE LIST HOVER */
.page-hover.sm {
  padding: 15px; }

.page-hover svg path,
.page-hover svg rect,
.page-hover svg circle,
.page-hover svg line {
  stroke: #06083e;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.page-hover:hover {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#06083e+0,ffffff+100&0.1+0,0+100 */
  background: -moz-linear-gradient(top, rgba(6, 8, 62, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(6, 8, 62, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(6, 8, 62, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1a06083e', endColorstr='#00ffffff', GradientType=0);
  /* IE6-9 */ }

.page-list-hover a:hover,
.page-list-hover a:active,
.page-list-hover a:focus,
.page-list-hover a:visited {
  text-decoration: none; }

.page-hover:hover svg path,
.page-hover:hover svg rect,
.page-hover:hover svg circle,
.page-hover:hover svg line {
  fill: #06083e;
  stroke: #fff; }

/* DP Bootstrap Tabs
------------------------------------------------------------------------------*/
.d-p-tabs .nav-tabs {
  border: none; }

.d-p-tabs .nav-tabs li {
  margin: 0; }

.d-p-tabs .nav-tabs > li > a {
  background-color: #CDCDD9; }

.d-p-tabs .nav-tabs > li > a,
.d-p-tabs .nav-tabs > li > a:hover,
.d-p-tabs .nav-tabs > li > a:focus {
  border: none;
  border-radius: 0; }

.d-p-tabs .nav-tabs > li:not(.active) > a:hover,
.d-p-tabs .nav-tabs > li:not(.active) > a:focus {
  background-color: #cccbd5; }

.d-p-tabs .nav-tabs > li.active > a,
.d-p-tabs .nav-tabs > li.active > a:hover,
.d-p-tabs .nav-tabs > li.active > a:focus {
  color: white;
  background-color: #09032f; }

.d-p-tabs .panel-default {
  background-color: #E6E6EC;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: #444444; }

.table > thead > tr > th {
  color: #09032f;
  border-bottom: 2px solid #09032f; }

.table > tbody > tr > td {
  color: #444444;
  border-bottom: 1px solid #444444; }

.d-p-biographies {
  margin-bottom: 25px; }
  .d-p-biographies .biography:nth-child(2n+1) {
    clear: left; }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes fadein {
  /* Firefox */
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadein {
  /* Safari and Chrome */
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-o-keyframes fadein {
  /* Opera */
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fp-tableCell.fader {
  opacity: 0; }

.fp-tableCell {
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s; }

#modal-nav-container li {
  opacity: 1;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s; }

.icon-column {
  opacity: 1;
  -webkit-transition: opacity 2s;
  -moz-transition: opacity 2s;
  -ms-transition: opacity 2s;
  -o-transition: opacity 2s;
  transition: opacity 2s; }

#modal-nav-container li.successive-transition,
.icon-column.successive-transition {
  opacity: 0;
  transition: opacity 1s; }

/** IE SVG FIX **/
.cls-2 {
  clip-path: none !important; }