@charset "UTF-8";
/* ========================================================================= */
/* !RESETS AND DEFAULTS */
/* ========================================================================= */
html, body, div, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, abbr, address, cite, code, del, dfn, img,
ins, kbd, q, samp, var, hr, acronym, dl, dt, dd, ol, ul, li,
pre, fieldset, form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav,
section, summary, time, mark, audio, video {
  border: 0;
  outline: 0;
  font-style: normal;
  font-size: 100%;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
}

em, strong, b, i, a, span, sub, sup, small {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

/*
a:focus {
    outline:0;
}
:focus, :active {
    outline:none; outline:0;
} ::-moz-focus-inner {
    outline:none;
}
*/
article, aside, details, figcaption, figure, footer,
header, hgroup, menu, nav, section {
  display: block;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border-top: 1px solid #000;
  color: #000;
}

input, select {
  vertical-align: middle;
}

sub {
  vertical-align: sub;
  font-size: smaller;
  line-height: 0px;
}

sup {
  vertical-align: super;
  font-size: smaller;
  line-height: 0px;
}

input, button, textarea, select, label, img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

input[type=text],
input[type=password],
input[type=url],
input[type=number],
input[type=tel],
input[type=email],
input[type=submit],
button, textarea, select {
  -webkit-appearance: none;
  outline: 1px solid transparent;
}

textarea {
  resize: none;
  overflow: auto;
}

button, a span {
  cursor: pointer;
}

button {
  border: 0;
  text-align: center;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

table {
  table-layout: fixed;
}

a[href^=tel] {
  color: inherit;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
}

select:-moz-focusring {
  color: transparent;
}

select::-ms-expand {
  display: none;
}

/* != FONT SMOOTHING */
body, input, button, textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* != ms-clear */
input[type=text]::-ms-clear {
  display: none;
}

/* != BACKGROUND POSITION AND BOX SIZING */
*, *:before, *:after {
  box-sizing: border-box;
  background-position: center;
  background-repeat: no-repeat;
}

/* != .clearfix - CLEAR ELEMENTS */
.clear {
  clear: both;
}

.clearfix {
  display: block;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

/* != .wordwrap - CONTINUE LONG URLS/WORDS ON NEXT LINE */
.wordwrap {
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: -moz-pre-wrap;
  word-wrap: break-word;
}

/* ========================================================================= */
/* !FONTS (@fontface generated with FontSpring Syntax formatting */
/* ========================================================================= */
/* != Montserrat ====================================== */
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Thin.woff") format("woff");
  font-style: normal;
  font-weight: 100;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ThinItalic.woff") format("woff");
  font-style: italic;
  font-weight: 100;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraLight.woff") format("woff");
  font-style: normal;
  font-weight: 200;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraLightItalic.woff") format("woff");
  font-style: italic;
  font-weight: 200;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Light.woff") format("woff");
  font-style: normal;
  font-weight: 300;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-LightItalic.woff") format("woff");
  font-style: italic;
  font-weight: 300;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Italic.woff") format("woff");
  font-style: italic;
  font-weight: 400;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Medium.woff") format("woff");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-MediumItalic.woff") format("woff");
  font-style: italic;
  font-weight: 500;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-SemiBold.woff") format("woff");
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-SemiBoldItalic.woff") format("woff");
  font-style: italic;
  font-weight: 600;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Bold.woff") format("woff");
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-BoldItalic.woff") format("woff");
  font-style: italic;
  font-weight: 700;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraBold.woff") format("woff");
  font-style: normal;
  font-weight: 800;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraBoldItalic.woff") format("woff");
  font-style: italic;
  font-weight: 800;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Black.woff") format("woff");
  font-style: normal;
  font-weight: 900;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-BlackItalic.woff") format("woff");
  font-style: italic;
  font-weight: 900;
}
/* ========================================================================= */
/* !SASS VARIABLES & MIXINS */
/* ========================================================================= */
/*
    // Use Case: $b (second) variable is optional and defaults to 'max-width'

    @include break(1100){
        h1{
            background: red;
        }
    }

    // Output
    @media screen and (max-width: 1100px) {
        h1 { background: red; }
    }

    // Also, if you want to specify the 2nd variable for break type (i.e., min-height)

    @include break(1100, 'min-height'){
        h1 {
            background:red;
        }
    }

    // Output
    @media screen and (min-height: 1100px) {
        h1 { background: red; }
    }
*/
/*
    // inline SVGs
    // usage: background-image: inline-svg('<svg><!-- your svg code --></svg>');
*/
/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.hinge {
  animation-duration: 2s;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounce {
  animation-name: bounce;
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
.shake {
  animation-name: shake;
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounceIn {
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
.bounceOut {
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  0% {
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes slideInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    transform: translateY(0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    transform: translateX(0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    transform: translateX(0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideOutLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  0% {
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}
@keyframes hinge {
  0% {
    transform: rotate(0);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  80% {
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  100% {
    transform: translateY(700px);
    opacity: 0;
  }
}
.hinge {
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

/* ========================================================================= */
/* !STYLES */
/* ========================================================================= */
html, body {
  font-family: Montserrat, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  color: #231f20;
  scroll-behavior: smooth;
}

/* != SELECTION STYLES (Leaving these blank will show no indication of text selection) ===== */
/*
    ::selection         {
        background: #aaa;
        color: #fff;
    }
    ::-moz-selection    {
        background: #aaa;
        color: #fff;
    }
    ::-webkit-selection {
        background: #aaa;
        color: #fff;
    }
*/
/* != DEFAULT WORDPRESS STYLES = USE AS NEEDED = .wp-caption = .wp-caption-dd = .wpGallery = .shutter = .shutterset ==== */
.aligncenter {
  display: block;
  margin: 25px auto;
}

.alignleft {
  float: left;
  margin: 0 25px 25px 0;
}

.alignright {
  float: right;
  margin: 0 0 25px 25px;
}

.alignnone {
  display: inline-block;
}

/* != LAYOUT STYLES ===== */
h1, .title1 {
  color: #009cde;
  font-weight: 700;
  font-size: 60px;
  line-height: 1.1;
}
@media screen and (max-width: 900px) {
  h1, .title1 {
    font-size: 50px;
  }
}

h2, .title2 {
  color: #231f20;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.1;
}
@media screen and (max-width: 900px) {
  h2, .title2 {
    font-size: 40px;
  }
}

h3, .title3 {
  color: #009cde;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.1;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 900px) {
  h3, .title3 {
    font-size: 26px;
    margin-bottom: 10px;
  }
}

h4, .title4 {
  color: #0d5b90;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.1;
}

h5, .title5 {
  color: #0d5b90;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.1;
}

a {
  color: #e9954b;
}
a:hover {
  color: #009cde;
}

.white-link {
  color: #fff;
  font-weight: bold;
  transition: 0.15s;
}
.white-link:hover {
  color: #0d5b90;
}

p {
  margin: 0 0 20px 0;
}

hr {
  margin: 50px 0;
  height: 1px;
  border: none;
  background: #e8eaec;
}

/* BUTTONS */
.btn {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  transition: 0.2s;
  line-height: 50px;
  padding: 0 25px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #e9954b;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}
.btn:hover {
  color: #fff;
  background: #009cde;
}
.btn.donate svg {
  width: 19px;
  height: 19px;
  fill: #fff;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -2px;
  margin: 0 15px 0 0;
}

.more {
  display: inline-block;
  text-decoration: none;
  transition: 0.2s;
  color: #e9954b;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}
.more:hover {
  color: #009cde;
}
@media screen and (max-width: 700px) {
  .more {
    display: inline;
  }
}

.content-main ul:not([class*=gf]) > li {
  position: relative;
  padding-left: 10px;
}
.content-main ul:not([class*=gf]) > li:before {
  content: "•";
  position: absolute;
  left: 0;
}
.content-main ol {
  counter-reset: li;
}
.content-main ol > li {
  position: relative;
  padding-left: 20px;
}
.content-main ol > li:before {
  content: counter(li) ". ";
  counter-increment: li;
  position: absolute;
  right: calc(100% - 15px);
}
.content-main p.background {
  margin: 40px 0;
  padding: 20px;
  background-color: #009cde;
  color: #fff;
}
.content-main p.background a {
  color: #fff;
  font-weight: bold;
}
.content-main p.background a:hover {
  text-decoration: underline;
}

.wrap {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

#skipnav {
  position: absolute;
  left: -50000px;
}

#jumptocontent {
  font-size: 0;
  line-height: 0;
  height: 0;
  width: 0;
}

.home #header {
  padding: 60px 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.article #header {
  padding: 20px 0;
}
.article #header .wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
}
.article #header .wrap .logo {
  order: 2;
  flex: 0 1 190px;
  text-align: center;
}
.article #header .wrap .logo a {
  display: block;
}
.article #header .wrap .logo a img {
  display: block;
}
.article #header .wrap .logo .issue {
  text-transform: uppercase;
  font-size: 12px;
}
.article #header .wrap .logo-mspca {
  order: 1;
  margin-top: 5px;
}
.article #header .wrap .btn {
  order: 3;
}
@media screen and (max-width: 700px) {
  .home #header {
    padding: 20px 0;
  }
  .article #header .wrap .logo-mspca {
    order: 1;
  }
  .article #header .wrap .btn {
    order: 2;
    font-size: 12px;
    line-height: 40px;
  }
  .article #header .wrap .btn.donate {
    padding: 0 20px;
  }
  .article #header .wrap .btn.donate svg {
    width: 15px;
    height: 15px;
    top: -1px;
  }
  .article #header .wrap .logo {
    order: 3;
    flex: 1 0 100%;
    text-align: center;
    margin-top: 20px;
  }
  .article #header .wrap .logo #logo {
    display: inline-block;
    width: 190px;
  }
  .article #header .wrap .logo span {
    display: block;
    margin-top: -5px;
  }
}

.logo-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  max-width: 460px;
}
.logo-wrap #logo {
  width: 100%;
}
.logo-wrap .issue {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.05em;
  display: inline-block;
  margin: 5px 0 0 3px;
}
@media screen and (max-width: 900px) {
  .logo-wrap {
    max-width: 350px;
  }
  .logo-wrap .issue {
    font-size: 12px;
    margin-top: 3px;
  }
  .logo-wrap .logo-mspca {
    width: 150px;
  }
}
@media screen and (max-width: 700px) {
  .logo-wrap {
    margin: 0 auto;
  }
  .logo-wrap .issue {
    order: 1;
  }
  .logo-wrap .logo-mspca {
    order: 2;
  }
  .logo-wrap #logo {
    order: 3;
  }
}
@media screen and (max-width: 400px) {
  .logo-wrap {
    max-width: 280px;
  }
  .logo-wrap .issue {
    font-size: 10px;
    margin-top: 2px;
  }
  .logo-wrap .logo-mspca {
    width: 120px;
  }
}

#cover-story {
  width: 100vw;
  height: 100vh;
  position: relative;
}
#cover-story .wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100vh - 40px);
}
#cover-story .cover-story-slide {
  position: absolute;
  z-index: -1;
  width: 75%;
  top: 0;
  right: 0;
  height: 100%;
  background-size: cover;
}
#cover-story .cover-story-slide #gl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#cover-story .cover-story-slide:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 75%;
  height: 100%;
  background: linear-gradient(to right, white 0, rgba(255, 255, 255, 0) 60%);
}
#cover-story .cover-story-teaser {
  max-width: 470px;
  padding: 240px 0 40px 0;
}
#cover-story .cover-story-teaser p {
  text-transform: uppercase;
  margin: 20px 0;
  color: #0d5b90;
  font-weight: 600;
  font-size: 28px;
}
#cover-story .scroll {
  display: block;
  width: 50px;
  height: 50px;
  border: 1px solid #e9954b;
  position: relative;
  flex: 0 0 50px;
  border-radius: 50%;
}
#cover-story .scroll:after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #e9954b;
  border-right: 1px solid #e9954b;
  transform: rotate(45deg);
  width: 15px;
  height: 15px;
  top: 14px;
  left: 17px;
}
#cover-story #scroll {
  scroll-behavior: smooth;
}
@media screen and (max-width: 900px) {
  #cover-story .cover-story-teaser {
    max-width: 350px;
    padding: 240px 0 40px 0;
  }
  #cover-story .cover-story-teaser p {
    font-size: 22px;
  }
}
@media screen and (max-width: 700px) {
  #cover-story {
    height: auto;
  }
  #cover-story .wrap {
    height: auto;
  }
  #cover-story .cover-story-slide {
    position: relative;
    width: 100%;
    height: 75vh;
    margin-bottom: 50px;
  }
  #cover-story .cover-story-slide:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, white 0, rgba(255, 255, 255, 0) 100%);
  }
  #cover-story .cover-story-teaser {
    padding: 0;
    max-width: 100%;
  }
  #cover-story .scroll {
    display: none;
  }
}

section {
  padding: 100px 0;
}
@media screen and (max-width: 700px) {
  section {
    padding: 50px 0;
  }
}

.section-header {
  text-align: center;
  margin: 0 0 40px 0;
}

.article-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
}
.article-header .article-title {
  flex: 0 1 calc(50% - 15px);
}
.article-header .article-title h2 {
  color: #0d5b90;
}
.article-header .article-title .subhead {
  margin-top: 20px;
  color: #009cde;
  font-weight: 700;
}
.article-header .article-title .subhead--graythin {
  color: #231f20;
  font-weight: 400;
  letter-spacing: 0.125em;
  word-spacing: 0.1875em;
  text-transform: uppercase;
}
.article-header .article-img {
  flex: 0 1 calc(50% - 15px);
}
.article-header .article-img figure figcaption {
  font-size: 12px;
  font-style: italic;
}
@media screen and (max-width: 600px) {
  .article-header {
    flex-direction: column-reverse;
  }
  .article-header .article-title {
    flex: 1 0 100%;
    margin-top: 20px;
  }
  .article-header .article-img {
    flex: 1 0 100%;
  }
}

.content-area {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  margin: 50px 0;
}
.content-area h3 {
  text-transform: uppercase;
}
.content-area p + h3 {
  margin-top: 40px;
}
.content-area ul:not([class*=gf]) {
  margin: 20px 0;
  list-style: none;
}
.content-area ul:not([class*=gf]) > li {
  margin: 0 0 14px 0;
  padding-left: 20px;
  position: relative;
}
.content-area ul:not([class*=gf]) > li::before {
  left: 5px;
}
.content-area .content-main {
  flex: 0 1 65%;
}
.content-area .content-sub {
  flex: 0 1 25%;
}
.content-area .content-sub figure {
  display: block;
  margin: 0 0 20px 0;
}
.content-area .content-sub figure img {
  margin: 0 0 10px 0;
}
.content-area .content-sub figure figcaption {
  font-size: 12px;
  font-style: italic;
  line-height: 1.2;
}
@media screen and (max-width: 700px) {
  .content-area .content-main {
    flex: 1 0 100%;
    margin-bottom: 20px;
  }
  .content-area .content-sub {
    flex: 1 0 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .content-area .content-sub figure {
    flex: 0 1 calc(50% - 15px);
  }
  .content-area .content-sub figure img {
    width: 100%;
  }
}
@media screen and (max-width: 450px) {
  .content-area .content-sub figure {
    flex: 1 0 100%;
  }
}

.content-feature {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  flex-direction: row;
  background-color: #0d5b90;
  color: #fff;
}
.content-feature .content-feature-img {
  flex: 0 1 50%;
  background-size: cover;
  position: relative;
}
.content-feature .content-feature-img:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 100%);
  z-index: 0;
}
.content-feature .content-feature-content {
  flex: 0 1 50%;
  padding: 100px 50px;
}
.content-feature .content-feature-content h3 {
  color: #fff;
  text-transform: uppercase;
}
@media screen and (max-width: 750px) {
  .content-feature {
    flex-direction: column;
  }
  .content-feature .content-feature-img {
    flex: 0 1 100%;
    padding: 65% 0 0 0;
  }
  .content-feature .content-feature-content {
    flex: 0 1 100%;
    padding: 50px 20px;
  }
}

.more-container .article-row {
  margin-top: 20px;
}
@media screen and (max-width: 700px) {
  .more-container .article-row article {
    flex: 1 0 100%;
    margin: 0 0 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 100%;
  }
  .more-container .article-row article > a {
    flex: 0 1 calc(30% - 25px);
  }
  .more-container .article-row article img {
    width: 100%;
  }
  .more-container .article-row article .article-text {
    flex: 0 1 calc(70% - 25px);
  }
}
@media screen and (max-width: 550px) {
  .more-container .article-row article {
    margin: 0 0 40px 0;
    align-items: flex-start;
  }
  .more-container .article-row article > a {
    flex: 0 1 calc(40% - 15px);
  }
  .more-container .article-row article .article-text {
    flex: 0 1 calc(60% - 15px);
  }
}

.article-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  border-top: 1px solid #e8eaec;
  padding-top: 60px;
  margin-top: 60px;
}
.article-row:first-of-type {
  border-top: none;
  padding-top: 0;
}
.article-row article {
  width: calc(33% - 20px);
  margin: 0 0 60px 0;
}
.article-row article img {
  display: block;
  margin-bottom: 20px;
}
.article-row article .meta {
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 5px 0;
  text-transform: uppercase;
  color: #009cde;
  display: block;
}
.article-row article h3 {
  margin-bottom: 10px;
}
.article-row.center {
  justify-content: center;
  gap: 40px;
}

.in-this-issue article .meta {
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 5px 0;
  text-transform: uppercase;
  color: #009cde;
  display: block;
}
.in-this-issue .article-single {
  border-top: 1px solid #e8eaec;
  padding: 60px 0 0 0;
  margin: 0;
}
.in-this-issue .article-single article {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
}
.in-this-issue .article-single article img {
  flex: 0 1 calc(50% - 25px);
  width: 0;
}
.in-this-issue .article-single article .article-text {
  flex: 0 1 calc(50% - 25px);
}
.in-this-issue .article-single.alt article {
  flex-direction: row-reverse;
}
@media screen and (max-width: 700px) {
  .in-this-issue article {
    margin: 0 0 20px 0;
  }
  .in-this-issue .article-row {
    display: block;
    border: none;
    padding: 0;
  }
  .in-this-issue .article-row article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 100%;
  }
  .in-this-issue .article-row article > a {
    flex: 0 1 calc(30% - 25px);
  }
  .in-this-issue .article-row article > a img {
    width: 100%;
  }
  .in-this-issue .article-row article .article-text {
    flex: 0 1 calc(70% - 25px);
  }
  .in-this-issue .article-single {
    border: none;
    padding: 0;
    margin: 0;
  }
  .in-this-issue .article-single article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 100%;
  }
  .in-this-issue .article-single article img {
    flex: 0 1 calc(30% - 25px);
    width: 0;
  }
  .in-this-issue .article-single article .article-text {
    flex: 0 1 calc(70% - 25px);
  }
  .in-this-issue .article-single article .article-text p {
    display: none;
  }
}
@media screen and (max-width: 700px) and (max-width: 550px) {
  .in-this-issue article {
    margin: 0 0 40px 0;
  }
  .in-this-issue .article-row article {
    align-items: flex-start;
  }
  .in-this-issue .article-row article > a {
    flex: 0 1 calc(40% - 15px);
    width: 0;
  }
  .in-this-issue .article-row article .article-text {
    flex: 0 1 calc(60% - 15px);
  }
  .in-this-issue .article-single article {
    align-items: flex-start;
  }
  .in-this-issue .article-single article img {
    flex: 0 1 calc(40% - 15px);
    width: 0;
  }
  .in-this-issue .article-single article .article-text {
    flex: 0 1 calc(60% - 15px);
  }
}

.featured {
  position: relative;
  background-color: #009cde;
  overflow: hidden;
}
.featured .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: row;
}
.featured .featured-image {
  box-shadow: 0 0 80px rgba(0, 0, 0, 0.5);
  width: 50%;
  position: absolute;
  height: 100%;
  left: 50%;
  background-size: cover;
}
.featured .featured-image:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 100%);
  z-index: 0;
}
.featured .featured-content {
  width: 45%;
  color: #fff;
}
.featured .featured-content h2 {
  font-size: 30px;
  color: #fff;
  margin: 0 0 20px 0;
}
.featured .featured-content a {
  color: #fff;
}
.featured .featured-content a:hover {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .featured {
    padding: 0 0 40px 0;
  }
  .featured .wrap {
    display: block;
  }
  .featured .featured-image {
    width: calc(100% + 40px);
    position: relative;
    height: 0;
    margin: 0 0 40px -20px;
    padding: 60% 0 0 0;
    left: 0;
  }
  .featured .featured-content {
    width: 100%;
  }
  .featured .featured-content h2 {
    font-size: 30px;
  }
}

.featured-donate {
  position: relative;
  background-color: #000;
  overflow: hidden;
}
.featured-donate .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: row-reverse;
}
.featured-donate .featured-donate-image {
  box-shadow: 0 0 80px rgba(0, 0, 0, 0.5);
  width: 50%;
  position: absolute;
  height: 100%;
  left: 0;
  background-size: cover;
}
.featured-donate .featured-donate-image:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0) 0, black 100%);
  z-index: 0;
}
.featured-donate .feature-donate-content {
  width: 45%;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .featured-donate {
    padding: 0 0 50px 0;
  }
  .featured-donate .wrap {
    display: block;
  }
  .featured-donate .featured-donate-image {
    position: relative;
    width: calc(100% + 40px);
    margin: 0 0 40px -20px;
    height: 0;
    padding: 60% 0 0 0;
  }
  .featured-donate .featured-donate-image:after {
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, black 100%);
    z-index: 10;
  }
  .featured-donate .feature-donate-content {
    width: 100%;
  }
}

.caption {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  display: block;
  padding: 0 20px 30px 20px;
  border-left: 1px solid #009cde;
  color: #fff;
  margin: 0 0 0 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: auto;
  z-index: 1;
}
.caption a {
  color: #fff;
  text-decoration: underline;
}
.caption a:hover {
  text-decoration: none;
}
.caption--smaller {
  font-size: 14px;
}

.donor-spotlight .donors {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  margin-top: -15px;
}
.donor-spotlight .donors .donor {
  flex: 0 1 calc(50% - 15px);
  margin: 15px 0;
}
.donor-spotlight .donors .donor figure {
  position: relative;
  margin: 0 0 30px 0;
}
.donor-spotlight .donors .donor figure img {
  display: block;
}
.donor-spotlight .donors .donor .donor-story {
  display: none;
}
.donor-spotlight .donors .donor figcaption {
  margin-top: 10px;
  display: block;
  font-size: 12px;
  font-style: italic;
  line-height: 1.2;
}
@media screen and (max-width: 600px) {
  .donor-spotlight .donors .donor {
    flex: 1 0 100%;
  }
  .donor-spotlight .donors .donor + .donor {
    margin-top: 50px;
  }
}

.callout {
  margin: 100px 0;
}
.callout blockquote {
  margin: 0 auto;
  max-width: 780px;
  text-align: center;
}
.callout blockquote p {
  color: #009cde;
  font-size: 22px;
  position: relative;
  line-height: 1.3;
}
.callout blockquote p:before {
  content: "“";
}
.callout blockquote p:after {
  content: "”";
}
.callout blockquote cite {
  color: #858F98;
  font-size: 14px;
  text-transform: uppercase;
}
@media screen and (max-width: 700px) {
  .callout {
    margin: 50px 0;
  }
}
@media screen and (max-width: 500px) {
  .callout blockquote p {
    font-size: 18px;
  }
  .callout blockquote cite {
    font-size: 12px;
  }
}

.more-articles {
  margin: 50px 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
}
.more-articles .meta {
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 5px 0;
  text-transform: uppercase;
  color: #009cde;
  display: block;
}
.more-articles h4 {
  font-size: 14px;
  text-transform: uppercase;
  color: #009cde;
  margin: 0 0 20px 0;
  flex: 1 0 100%;
}
.more-articles article {
  flex: 0 1 calc(33.333% - 20px);
}
.more-articles article img {
  display: block;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 700px) {
  .more-articles article {
    flex: 1 0 100%;
    margin: 0 0 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 100%;
  }
  .more-articles article > a {
    flex: 0 1 calc(30% - 25px);
  }
  .more-articles article img {
    width: 100%;
  }
  .more-articles article .article-text {
    flex: 0 1 calc(70% - 25px);
  }
}
@media screen and (max-width: 550px) {
  .more-articles article {
    margin: 0 0 40px 0;
    align-items: flex-start;
  }
  .more-articles article > a {
    flex: 0 1 calc(40% - 15px);
  }
  .more-articles article .article-text {
    flex: 0 1 calc(60% - 15px);
  }
}

.help .ways-to-help {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #e8eaec;
}
.help .ways-to-help .way-to-help {
  background: #fff;
  padding: 30px;
  position: relative;
}
.help .ways-to-help .way-to-help .more {
  pointer-events: none;
}
.help .ways-to-help .way-to-help h3, .help .ways-to-help .way-to-help .title5 {
  font-weight: 700;
}
.help .ways-to-help .way-to-help img {
  display: block;
  margin: 0 0 20px 0;
}
.help .ways-to-help .way-to-help .help-info {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  min-height: 100%;
  padding: 30px;
  z-index: 1;
  background: #fff;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
  font-size: 14px;
}
.help .ways-to-help .way-to-help:hover .help-info {
  top: 0;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 800px) {
  .help .ways-to-help {
    grid-template-columns: repeat(2, 1fr);
  }
  .help .ways-to-help:after {
    content: "";
    display: block;
    background-color: #fff;
  }
}
@media screen and (max-width: 500px) {
  .help .ways-to-help {
    display: block;
    background-color: #fff;
  }
  .help .ways-to-help .way-to-help {
    padding: 0;
    margin: 30px 0 40px 0;
  }
  .help .ways-to-help .way-to-help h3, .help .ways-to-help .way-to-help .title5 {
    margin: 0 0 5px 0;
  }
  .help .ways-to-help .way-to-help img {
    display: none;
  }
  .help .ways-to-help .way-to-help .more {
    pointer-events: all;
  }
  .help .ways-to-help .way-to-help .help-info {
    position: static;
    top: 0;
    left: 0;
    padding: 10px 0 0 0;
    z-index: 1;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    height: auto;
    transition: 0s;
    font-size: 14px;
    display: none;
  }
  .help .ways-to-help .way-to-help .help-info p {
    margin: 0;
  }
}

.follow-us {
  background-color: #009cde;
  color: #fff;
  padding: 50px 0;
}
.follow-us .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
}
.follow-us .title3 {
  color: #fff;
  font-size: 30px;
  font-weight: 300;
  margin: 0;
}
.follow-us .social-nav a {
  color: #fff;
  vertical-align: middle;
  display: inline-flex;
  align: center;
  margin: 0 0 0 30px;
}
.follow-us .social-nav a svg {
  width: 24px;
  height: 24px;
  display: inline-block;
  fill: #fff;
  margin: 0 2px 0 0;
}
@media screen and (max-width: 1120px) {
  .follow-us .wrap {
    justify-content: space-between;
  }
  .follow-us .title3 {
    flex: 1 0 100%;
    text-align: center;
    margin: 0 0 20px 0;
  }
  .follow-us .social-nav {
    flex: 1 0 100%;
    text-align: center;
  }
  .follow-us .social-nav a {
    margin: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  .follow-us .social-nav a {
    justify-content: center;
    width: 45%;
    margin: 0 0 20px 0;
  }
}
@media screen and (max-width: 450px) {
  .follow-us .social-nav a {
    width: 100%;
  }
}

.services {
  background: #e6eff9;
}
.services .service-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  margin: 0 0 20px 0;
}
.services .service-header div {
  flex: 0 1 55%;
}
.services .service-header ul {
  flex: 0 1 33.333%;
}
.services .service-header ul li {
  text-transform: uppercase;
  font-weight: 700;
  color: #2c4068;
  font-size: 14px;
  letter-spacing: 0.05em;
  margin: 0 0 5px 0;
}
.services h2 {
  text-transform: uppercase;
  margin-bottom: 20px;
}
.services a.phone {
  color: inherit;
  font-size: 14px;
}
.services .service-listing {
  column-count: 3;
  column-gap: 60px;
  column-rule: 1px solid #bdd5ef;
  margin-bottom: 60px;
}
.services .service-listing li {
  margin-bottom: 20px;
  break-inside: avoid;
}
.services .service-listing li p, .services .service-listing li address {
  font-size: 14px;
}
.services .locations {
  border-top: 1px solid #bdd5ef;
  margin-top: 60px;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
}
.services .locations h2 {
  flex: 1 0 100%;
}
.services .locations .location {
  flex: 0 1 calc(50% - 30px);
  font-size: 14px;
  margin: 0 0 20px 0;
}
.services .locations .location h3 {
  font-size: 17px;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 5px 0;
  color: #0d5b90;
}
@media screen and (max-width: 700px) {
  .services .service-header {
    margin: 0 0 40px 0;
  }
  .services .service-header div {
    flex: 1 0 100%;
  }
  .services .service-header ul {
    flex: 1 0 100%;
  }
  .services .service-listing {
    column-count: 2;
  }
}
@media screen and (max-width: 500px) {
  .services .service-listing {
    column-count: 1;
    margin-bottom: 40px;
  }
  .services .locations .location {
    flex: 1 0 100%;
  }
}

.small {
  font-size: 14px;
}

#footer {
  background: #231f20;
  color: #fff;
  padding: 60px 0;
  font-size: 14px;
}
#footer h2 {
  color: #009cde;
  text-transform: uppercase;
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 10px 0;
}
#footer .footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
}
#footer .footer-top .about {
  flex: 0 1 57%;
}
#footer .footer-top .team {
  flex: 0 1 33%;
}
#footer .footer-top .team ul li {
  margin: 0 0 20px 0;
}
#footer .footer-top .team ul li strong {
  display: block;
}
#footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 50px 0 0 0;
  margin-top: 50px;
}
#footer .footer-bottom .social-nav-rounded a {
  display: inline-block;
  margin: 0 0 0 10px;
}
#footer .footer-bottom .social-nav-rounded a svg {
  width: 27px;
  height: 27px;
  padding: 3px;
  border-radius: 50%;
  background: #009cde;
  fill: #231f20;
}
#footer .footer-bottom .footer-text {
  padding-top: 20px;
  flex: 1 0 100%;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
}
#footer .footer-bottom .footer-text .jackrabbit {
  color: rgba(255, 255, 255, 0.2);
}
#footer .footer-bottom .footer-text .jackrabbit a {
  color: inherit;
}
@media screen and (max-width: 650px) {
  #footer .footer-top .about {
    flex: 1 0 100%;
    margin-bottom: 20px;
  }
  #footer .footer-top .team {
    flex: 1 0 100%;
  }
}
@media screen and (max-width: 550px) {
  #footer {
    padding: 50px 0;
  }
  #footer .footer-bottom {
    margin-top: 30px;
  }
  #footer .footer-bottom .social-nav-rounded {
    order: 1;
    flex: 1 0 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  #footer .footer-bottom .logo-footer {
    order: 2;
    flex: 1 0 100%;
    text-align: center;
  }
  #footer .footer-bottom .footer-text {
    order: 3;
    flex: 1 0 100%;
    text-align: center;
    justify-content: center;
  }
  #footer .footer-bottom .footer-text .jackrabbit {
    margin: 0;
  }
}

/* != PLACEHOLDER ATTRIBUTE STYLES = input or textarea - placeholder="whatever" ===== */
/*
    ::-webkit-input-placeholder {
        color: #aaa;
    }

    ::-moz-placeholder {
        color: #aaa;
    }
*/
input[type=submit], button {
  display: inline-block;
  cursor: pointer;
}
select {
  -webkit-appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg width%3D%2213%22 height%3D%228%22 viewBox%3D%220 0 13 8%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M.293.293c.36-.36.928-.388 1.32-.083l.094.083L6.51 5.096 11.313.293c.36-.36.928-.388 1.32-.083l.094.083c.36.36.389.928.084 1.32l-.084.094-5.51 5.51c-.36.36-.927.388-1.32.083l-.094-.083-5.51-5.51c-.39-.39-.39-1.024 0-1.414z%22 fill%3D%22%23f00%22 fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") no-repeat calc(100% - 10px) 50%;
}

.validation_error {
  padding: 15px;
  color: #fff;
  background: #c00;
  margin: 20px 0;
}
.validation_message {
  text-transform: uppercase;
  font-size: 12px;
  color: #c00;
  font-weight: 600;
}

.gform_validation_container {
  position: absolute;
  top: -9999px;
  left: -9999px;
  pointer-events: none;
  opacity: 0;
}