/**
 * Calculate the luminance for a color.
 * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
 */
/**
 * Calculate the contrast ratio between two colors.
 * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
 */
/**
 * Determine whether to use dark or light text on top of given color.
 * Returns black for dark text and white for light text.
 */
/* ---------------------------------------- Setup 'dg-colors-Default' ------------------------------------------- */
/* ----------------------------------- Implementation ------------------------------------------------------------ */
.bg-body {
  background: #fff;
  color: black;
}
.bg-body-complement {
  background: #e6e6e6;
  color: black;
}
/* complement has a slightly different shade */
.bg-body .text-contrast, .bg-body-complement .text-contrast, .bg-body .divider-dotted {
  color: #273885;
}
/* Headings aand .text-contrast are defined in relation to a background */
.bg-nav {
  background: #f1f1f1;
  color: black;
}
.bg-nav-complement {
  background: #d8d8d8;
  color: black;
}
/* complement has a slightly different shade */
.bg-nav .text-contrast, .bg-nav .divider-dotted {
  color: #fff;
}
/* Headings aand .text-contrast are defined in relation to a background */
.bg-primary, .bg-primary .text-default {
  background: #273885;
  color: #fff;
}
.bg-primary-complement, .bg-primary-complement .text-default {
  background: #1b275e;
  color: #fff;
}
/* complement has a slightly different shade */
.btn-primary, .btn-primary > a, .btn-primary > span > a {
  background: #273885;
  color: #fff;
}
.bg-primary .text-contrast, .bg-primary .divider-dotted {
  color: #fff;
}
/* Headings aand .text-contrast are defined in relation to a background */
.bg-mute {
  background: #fff;
  color: black;
}
.bg-mute-complement {
  background: #f2f2f2;
  color: black;
}
/* complement has a slightly different shade */
.btn-mute:not(.active) {
  background: #fff;
  color: black;
}
/* Not sure this is used anywhere */
.bg-mute .text-contrast, .bg-mute .divider-dotted {
  color: #3f55c7;
}
/* Headings aand .text-contrast are defined in relation to a background */
.bg-secondary {
  background: #4557ab;
  color: white;
  border-color: #4557ab;
}
/* Also .call-out */
.bg-secondary-complement {
  background: #6373c0;
  color: white;
}
.btn-secondary, .btn-secondary > a, .btn-secondary > span > a {
  background: #4557ab;
  color: white;
}
.bg-secondary .text-contrast, .bg-secondary .divider-dotted {
  color: #fff;
}
/* Headings aand .text-contrast are defined in relation to a background */
.bg-tertiary {
  background: #3f55c7;
  color: #fff;
}
.bg-tertiary-complement {
  background: #5366cd;
  color: #fff;
}
.btn-tertiary, .btn-tertiary > a, .btn-tertiary > span > a {
  background: #3f55c7;
  color: #fff;
}
.bg-tertiary .text-contrast, .bg-tertiary .divider-dotted {
  color: #fff;
}
/* Headings aand .text-contrast are defined in relation to a background */
.bg-white {
  background: #fff;
  color: black;
}
.bg-white-complement {
  background: #f2f2f2;
  color: black;
}
.btn-white, .btn-white > a, .btn-white > span > a {
  background: #4557ab;
  color: black;
}
.bg-white .text-contrast, .bg-white .divider-dotted {
  color: #3f55c7;
}
/* Headings aand .text-contrast are defined in relation to a background */
.btn-transparent {
  background: transparent;
  color: #3f55c7;
}
.btn-transparent.active, .btn-transparent.active:hover {
  background: #3f55c7;
  color: #fff;
}
/* -------------------------------------------------- Site Structure ------------------------------------------------ */
/* ------------- General -------------*/
/* html { background: $white; color: $bg-white-body-text; } /* Deprecated */
/* All links inherit from their parent - adding btn-tertiary is a hack here to avoid making nav buttons .btn class @todo#73 */
a:not(.text-contrast):not(.btn):not(.btn-tertiary):not(.btn-transparent):not(.btn-floating):not(.breadcrumb):not(.edit-link), input[type=submit].waves-button-input {
  color: inherit;
  background: transparent;
}
/* ------------- Hovers -------------*/
/* Button Hovers - the complementary base color; text color is inherited from the .{base-color}-btn class */
.btn-primary:hover {
  background: #1b275e;
}
.btn-secondary:hover {
  background: #6373c0;
}
.btn-tertiary:hover {
  background: #5366cd;
}
/* Also .phone - maybe work in */
.btn-transparent:hover {
  /*, .btn-transparent.active */
  background: #fff;
}
/* Dropdown Hover States */
.dropdown-content:not(.dropdown-main-nav) li:hover, .dropdown-content:not(.dropdown-main-nav) ul.active li, .dropdown-content:not(.dropdown-main-nav) li.selected, .dropdown-content:not(.dropdown-main-nav) li:hover a {
  background-color: #5366cd;
}
/* Hover state on home page services grid */
figure.effect-sadie figcaption:before {
  background: -webkit-linear-gradient(top, rgba(63, 85, 199, 0) 0%, rgba(63, 85, 199, .8) 75%);
  background: linear-gradient(to bottom, rgba(63, 85, 199, 0) 0%, rgba(63, 85, 199, .8) 75%);
}
/* FA / Icons hover states */
#SubFooter .fa:hover {
  color: #4557ab;
}
/* ------------- Navigation -------------*/
.bg-nav {
  background-color: #f1f1f1;
}
/* Main nav, top level links, slight background on hover */
nav .main-nav .main-menu-item:hover, nav .multi-location-nav:hover:not(.active) {
  background: #d8d8d8;
}
/* Main navbar, dropdown, background and text */
nav ul.main-nav .dropdown-main-nav, nav ul.main-nav .dropdown-main-nav .sub-menu-item {
  background: #3f55c7;
  color: #fff;
}
/* Nav underlines on hover */
nav ul.main-nav > li > a:before, nav .dropdown-main-nav li a:before, nav ul.side-nav li > a:before {
  /* Main nav, toplevel (always visible) */
  /* Main nav dropdown, inner (visible on hover) */
  /* Side nav */
  background-color: #5366cd;
}
/* Main navbar, small size (on page scroll) */
nav.small .top-nav-wrapper {
  background: #d8d8d8;
}
/* Background of small navbar */
/* Side Nav */
nav .button-collapse {
  color: #273885;
}
nav .button-collapse:hover {
  color: #4557ab;
}
nav .side-nav li {
  border-color: #fff;
}
/* --------------- Forms ---------------*/
.bg-form {
  background-color: #efefef;
}
/* primary-complement by default, but overrideable */
.input-field label {
  color: rgba(158, 158, 158, .9);
}
.input-field select, .location-selector select {
  color: #000;
}
/* Forms are hard white/ hard black text */
input label.active {
  color: #fff;
}
/* Labels in user input fields being used disappear */
/* Forms Inputs are hard white/ hard black text */
input:not([type]), input[type=text], input[type=password], input[type=email], input[type=url], input[type=time], input[type=date], input[type=datetime], input[type=datetime-local], input[type=tel], input[type=number], input[type=search], textarea.materialize-textarea {
  background-color: #fff;
}
/* Text color for read-only inputs, indicating disabled use */
input:not([type]):focus:not([readonly]) + label, input[type=text]:focus:not([readonly]) + label, input[type=password]:focus:not([readonly]) + label, input[type=email]:focus:not([readonly]) + label, input[type=url]:focus:not([readonly]) + label, input[type=time]:focus:not([readonly]) + label, input[type=date]:focus:not([readonly]) + label, input[type=datetime]:focus:not([readonly]) + label, input[type=datetime-local]:focus:not([readonly]) + label, input[type=tel]:focus:not([readonly]) + label, input[type=number]:focus:not([readonly]) + label, input[type=search]:focus:not([readonly]) + label, textarea.materialize-textarea:focus:not([readonly]) + label {
  color: #fff;
}
/* Form accent border, shows on in-use input */
input:not([type]):focus:not([readonly]), input[type=text]:focus:not([readonly]), input[type=password]:focus:not([readonly]), input[type=email]:focus:not([readonly]), input[type=url]:focus:not([readonly]), input[type=time]:focus:not([readonly]), input[type=date]:focus:not([readonly]), input[type=datetime]:focus:not([readonly]), input[type=datetime-local]:focus:not([readonly]), input[type=tel]:focus:not([readonly]), input[type=number]:focus:not([readonly]), input[type=search]:focus:not([readonly]), textarea.materialize-textarea:focus:not([readonly]) {
  border-bottom-color: #4557ab;
  box-shadow: 0 1px 0 0 #4557ab;
}
/* --------------- Footer ---------------*/
/* Sticky Footer */
.sticky-footer {
  /*  background: $white; /* hard white */
  -webkit-box-shadow: 0 -2px 18px -4px rgba(76, 76, 76, 0.37);
  -moz-box-shadow: 0 -2px 18px -4px rgba(76, 76, 76, 0.37);
  /* border - hard grey shadow */
  box-shadow: 0 -2px 18px -4px rgba(76, 76, 76, 0.37);
}
/* Footer Contact bar */
.contact .box-wrap-first, .contact .box-wrap, .contact .box-wrap-last, .contact {
  border-color: #1b275e;
}
/* Contact bar thin vertical dividers */
/* --------------- Misc ---------------*/
/* Dividers */
.divider {
  background: transparent;
}
.divider-solid {
  color: inherit;
}
/* -------------------------------------------------- Individual Pages ------------------------------------------------ */
/* Home */
.reviews-callout .speech-bubble:after {
  border-top-color: #1b275e;
}
.index-testimonial .speech-bubble:after {
  border-top-color: #4557ab;
}
#home-slider.slider .indicator-item {
  background: #273885;
}
#home-slider.slider .indicator-item.active {
  background: #3f55c7;
}
/* button color */
/* About */
.profile-wrap, .border-left {
  border-color: #fff;
}
.profile-container .image-wrapper.border-thin-primary .image-border {
  border: 3px solid #273885;
}
.profile-container .image-wrapper.border-thin-secondary .image-border {
  border: 3px solid #4557ab;
}
.profile-container .image-wrapper.border-thin-tertiary .image-border {
  border: 3px solid #3f55c7;
}
.profile-container .image-wrapper.border-box-shadow-primary .image-border {
  box-shadow: 5px 5px 5px rgba(39, 56, 133, .75);
}
/* Contact */
.location-info-panel a.btn-location {
  border-color: #fff;
  color: #fff;
}
/* hard white */
.location-info-panel a.btn-location:hover {
  background-color: #6373c0;
  box-shadow: none;
}
/* Testimonials */
.testimonials-wrap:before {
  border-color: #e6e6e6 transparent;
}
/* Hard White */
#testimonials-page-slider.slick-slider li.slick-active button:before {
  color: #3f55c7;
}
/* @todo this and home slider should be able to be combined*/
/* Multilocation Archive (All Locations) */
.multi-category .location-image {
  background: #fff;
}
/* Fills in on a too-small image */
/* All Services */
.inner-block-services .service-wrapper img {
  border-color: #3f55c7;
}
/* border around the service icons */
/* Service Pages */
.page-template-page .inner-intro.bg-white h1 span, .page-template-empty .inner-intro.bg-white h1 span, .page-template-page .inner-intro.bg-white h1 a span, .page-template-empty .inner-intro.bg-white h1 a span {
  color: #3f55c7;
}
.page-template-page .inner-intro.bg-mute h1 span, .page-template-empty .inner-intro.bg-mute h1 span {
  color: #3f55c7;
}
.page-template-page .inner-intro.bg-tertiary h1 span, .page-template-empty .inner-intro.bg-tertiary h1 span {
  color: #fff;
}
.page-template-page .inner-intro.bg-secondary h1 span, .page-template-empty .inner-intro.bg-secondary h1 span {
  color: #fff;
}
.page-template-page .inner-intro.bg-primary h1 span, .page-template-empty .inner-intro.bg-primary h1 span {
  color: #fff;
}
.page-template-page .inner-intro.bg-body h1 span, .page-template-empty .inner-intro.bg-body h1 span {
  color: #273885;
}
.breadcrumb {
  color: inherit;
  opacity: 0.65;
}
.breadcrumb:last-child {
  color: #3f55c7;
}
.breadcrumb:hover {
  color: #3f55c7;
}
.breadcrumb:hover:before, .breadcrumb:before {
  color: black;
}
/* -------------------------------------------------- Media Queries ------------------------------------------------ */
@media only screen and (max-width: 992px) {
  nav.large .nav-wrapper .top-nav-wrapper {
    background: #fff;
  }
  nav.large .nav-wrapper li.phone {
    color: #fff;
  }
  nav.large a.multi-phone i {
    border-right-color: #fff;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .border-left {
    border-left-color: #fff;
  }
  .profile-wrap {
    border-right-color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .team .profile-image img {
    border-color: #fff;
  }
}
@media only screen and (max-width: 601px) {
  .profile-wrap {
    border-top-color: #fff;
  }
}
/* -------------------------------------------------- Color Overrides ------------------------------------------------ */
/* These are helper classes which should only be used to override color scheme default relationships */
/* The default text colors, one for each type of background. */
.bg-primary-body-text {
  color: #fff !important;
}
.bg-secondary-body-text {
  color: white !important;
}
.bg-tertiary-body-text {
  color: #fff !important;
}
.bg-white-body-text {
  color: black !important;
}
.bg-mute-body-text {
  color: black !important;
}
/* A color of text corresponding to one of the base colors - This should only be used for headings, callouts, special links */
.text-default {
  color: inherit;
}
/* This will inherit the element's default color, useful for headings ie, recent blogs */
.text-primary {
  color: #273885 !important;
}
.text-secondary {
  color: #4557ab !important;
}
.text-tertiary {
  color: #3f55c7 !important;
}
.text-white {
  color: #fff !important;
}
.text-black {
  color: #000 !important;
}
.text-mute {
  color: #fff !important;
}
/* Wordpress considerations */
.edit-link {
  background: transparent;
  color: inherit;
}
.edit-link a {
  color: inherit;
}
/* Preserving but unused */
/* Special "All Services" first link in main dropdown: */
/* 
 nav .dropdown-main-nav li:first-child a:before { background-color: inherit; }  Main nav dropdown, First item ("All Services") - don't underline on hover 
 nav ul.main-nav .dropdown-content li:first-of-type { flex-basis: 100%; font-family: 'Raleway', sans-serif;font-weight:300;border-bottom:1px solid; margin-bottom:10px; }
 nav ul.main-nav .dropdown-content li:first-of-type a { line-height: 110%; padding-top: 0; font-size: 13px; } /* @todo this font size appears visually correct, but can't possibly be right 
 */
