/*
Theme Name: Good News
Author: Samantha
*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
   font-family: sans-serif;
   /* 1 */
   -ms-text-size-adjust: 100%;
   /* 2 */
   -webkit-text-size-adjust: 100%;
   /* 2 */
}

/**
 * Remove default margin.
 */
body {
   margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
   display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
   display: inline-block;
   /* 1 */
   vertical-align: baseline;
   /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
   display: none;
   height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
   display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
   background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
   outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
   border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
   font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
   font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
   font-size: 2em;
   margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
   background: #ff0;
   color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
   font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline;
}

sup {
   top: -0.5em;
}

sub {
   bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
   border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
   overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
   margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
   -moz-box-sizing: content-box;
   box-sizing: content-box;
   height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
   overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
   font-family: monospace, monospace;
   font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
   color: inherit;
   /* 1 */
   font: inherit;
   /* 2 */
   margin: 0;
   /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
   overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
   text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
   -webkit-appearance: button;
   /* 2 */
   cursor: pointer;
   /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
   cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
   border: 0;
   padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
   line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
   box-sizing: border-box;
   /* 1 */
   padding: 0;
   /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
   height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type='search'] {
   -webkit-appearance: textfield;
   /* 1 */
   -moz-box-sizing: content-box;
   -webkit-box-sizing: content-box;
   /* 2 */
   box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
   -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
   border: 1px solid #c0c0c0;
   margin: 0 2px;
   padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
   border: 0;
   /* 1 */
   padding: 0;
   /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
   overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
   font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
   border-collapse: collapse;
   border-spacing: 0;
}

td,
th {
   padding: 0;
}

.light {
   background: rgba(152, 170, 203, 0.1);
}

.dark {
   background: #98aacb;
}

html {
   box-sizing: border-box;
   font-size: 62.5%;
}

body {
   -webkit-font-smoothing: antialiased;
   margin-top: 8rem;
   font-family: 'Avenir', sans-serif;
   font-size: 1.6rem;
   font-weight: 300;
   color: #041b48;
   line-height: 1.6;
}

@media screen and (max-width: 900px) {
   body {
      margin-top: 7rem;
   }
}

*,
*:after,
*:before {
   box-sizing: border-box;
}

blockquote {
   border-left: 0.3rem solid #98aacb;
   margin-left: 0;
   margin-right: 0;
   padding: 1rem 1.5rem;
}

blockquote *:last-child {
   margin: 0;
}

.button,
button,
.button-dark,
input[type='submit'],
input[type='button'],
input[type='reset'],
.contact-page input[type='submit'] {
   display: inline-block;
   min-width: 15rem;
   padding: 1.5rem 3rem;
   border-radius: 5rem;
   background: transparent;
   font-size: 1.3rem !important;
   font-weight: 700 !important;
   border: 0;
   letter-spacing: 0.1rem;
   color: white;
   background: #093f9f;
   text-align: center;
   text-decoration: none;
   text-transform: uppercase;
   transition: 0.5s ease all;
}

.button:hover,
.button:focus,
button:hover,
button:focus,
.button-dark:hover,
.button-dark:focus,
input[type='submit']:hover,
input[type='submit']:focus,
input[type='button']:hover,
input[type='button']:focus,
input[type='reset']:hover,
input[type='reset']:focus,
.contact-page input[type='submit']:hover,
.contact-page input[type='submit']:focus {
   cursor: pointer;
   color: white;
   background: #041b48;
}

code {
   background: #98aacb;
   border-radius: 0.4rem;
   font-size: 86%;
   padding: 0.2rem 0.5rem;
   margin: 0 0.2rem;
   white-space: nowrap;
}

pre {
   background: #98aacb;
   border-left: 0.3rem solid #98aacb;
   font-family: Menlo, Consolas, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, monospace;
}

pre > code {
   background: transparent;
   border-radius: 0;
   display: block;
   padding: 1rem 1.5rem;
   white-space: pre;
}

form {
   margin: 0 !important;
}

.gform_wrapper {
   margin: 2rem 0 0 0 !important;
}

.gform_wrapper ul {
   margin: 0 !important;
   padding: 0 !important;
   list-style: none;
   display: flex !important;
   flex-wrap: wrap;
   justify-content: space-between;
}

.gform_wrapper ul li {
   width: 100%;
   margin: 0 0 1.5rem 0 !important;
   padding: 0 !important;
}

.gform_wrapper ul li.half {
   width: 50%;
}

.gform_wrapper ul li.gfield_error {
   background: none !important;
   border: 0 !important;
   width: 50% !important;
}

.gform_wrapper ul li.gfield_error .validation_message {
   display: none;
}

.gform_wrapper ul li.gfield_error input[type='email'],
.gform_wrapper ul li.gfield_error input[type='number'],
.gform_wrapper ul li.gfield_error input[type='password'],
.gform_wrapper ul li.gfield_error input[type='search'],
.gform_wrapper ul li.gfield_error input[type='tel'],
.gform_wrapper ul li.gfield_error input[type='text'],
.gform_wrapper ul li.gfield_error input[type='url'],
.gform_wrapper ul li.gfield_error textarea,
.gform_wrapper ul li.gfield_error select {
   border: 1px solid red !important;
}

.gform_wrapper ul li:before {
   display: none !important;
}

.gform_wrapper ul li label {
   display: none !important;
}

.gform_wrapper ul li .ginput_container_select {
   position: relative;
}

.gform_wrapper ul li .ginput_container_select select {
   line-height: 1.5 !important;
}

.gform_wrapper ul li .ginput_container_select:after {
   content: '';
   pointer-events: none;
   display: block;
   position: absolute;
   right: 5rem;
   transform: rotate(45deg);
   bottom: 2.6rem;
   width: 0.8rem;
   height: 0.8rem;
   border-right: 1px solid #3784dc;
   border-bottom: 1px solid #3784dc;
}

.gform_wrapper ul li.gform_validation_container {
   display: none;
}

.gform_wrapper .gform_footer {
   padding: 0 !important;
   margin: 0 !important;
}

.gform_confirmation_wrapper {
   font-size: 1.8rem;
   text-align: center;
   margin-top: 3rem;
}

.validation_error {
   border: 0 !important;
   color: red !important;
}

input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
input[type='url'],
textarea,
select {
   width: calc(100% - 2rem) !important;
   -webkit-appearance: none;
   appearance: none;
   background-color: white;
   border: 0;
   line-height: 1 !important;
   border-radius: 3rem !important;
   box-shadow: none !important;
   font-size: 1.8rem !important;
   padding: 1.5rem 2.5rem !important;
   margin: 0 !important;
   color: #041b48;
}

input[type='email']::placeholder,
input[type='email'] .gf_placeholder,
input[type='number']::placeholder,
input[type='number'] .gf_placeholder,
input[type='password']::placeholder,
input[type='password'] .gf_placeholder,
input[type='search']::placeholder,
input[type='search'] .gf_placeholder,
input[type='tel']::placeholder,
input[type='tel'] .gf_placeholder,
input[type='text']::placeholder,
input[type='text'] .gf_placeholder,
input[type='url']::placeholder,
input[type='url'] .gf_placeholder,
textarea::placeholder,
textarea .gf_placeholder,
select::placeholder,
select .gf_placeholder {
   color: #041b48 !important;
}

input[type='email']:focus,
input[type='number']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='text']:focus,
input[type='url']:focus,
textarea:focus,
select:focus {
   outline: 0 !important;
}

textarea {
   border-radius: 2.5rem !important;
   padding: 2rem 2.5rem !important;
   height: 12rem;
   margin: 0;
   resize: none;
}

label,
legend {
   font-size: 1.6rem;
   font-weight: 700;
   display: block;
   margin-bottom: 0.5rem;
}

fieldset {
   border-width: 0;
   padding: 0;
}

input[type='checkbox'],
input[type='radio'] {
   display: inline;
}

.label-inline {
   font-weight: normal;
   display: inline-block;
   margin-left: 0.5rem;
}

@media screen and (max-width: 650px) {
   .gform_wrapper ul {
      display: block;
   }
   .gform_wrapper ul li,
   .gform_wrapper ul .ginput_container,
   .gform_wrapper ul input[type='email'],
   .gform_wrapper ul input[type='number'],
   .gform_wrapper ul input[type='password'],
   .gform_wrapper ul input[type='search'],
   .gform_wrapper ul input[type='tel'],
   .gform_wrapper ul input[type='text'],
   .gform_wrapper ul input[type='url'],
   .gform_wrapper ul textarea,
   .gform_wrapper ul select {
      width: 100% !important;
   }
}

.feature {
   width: 100%;
   min-height: 30rem;
}

.feature img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.background {
   background: linear-gradient(to right, #041b48, #093f9f);
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
}

.background img {
   height: 100%;
   width: 100%;
   object-fit: cover;
}

.video {
   max-width: 70rem;
   margin: 0 auto;
}

.video iframe {
   width: 100%;
   height: 40rem;
}

@media screen and (max-width: 900px) {
   .feature {
      height: 60vw;
   }
   .video {
      width: 90%;
   }
   .video iframe {
      height: 50vw;
   }
}

a {
   color: #041b48;
   text-decoration: none;
   transition: 0.5s ease all;
}

a:hover {
   opacity: 0.8;
   transition: 0.5s ease all;
}

dl,
ol,
ul {
   margin-top: 0;
   padding-left: 0;
}

dl dl ul,
dl ol,
ol dl ul,
ol ol,
ul dl ul,
ul ol {
   font-size: 90%;
   margin: 1.5rem 0 1.5rem 3rem;
}

dl {
   list-style: none;
}

ul {
   list-style: circle inside;
}

ol {
   list-style: decimal inside;
}

dt,
dd,
li {
   margin-bottom: 1rem;
}

hr {
   border-top: 0.1rem solid #98aacb;
   border-width: 0;
   margin-bottom: 3.5rem;
   margin-top: 3rem;
}

.button,
button {
   margin-bottom: 1rem;
}

input,
textarea,
select,
fieldset {
   margin-bottom: 1.5rem;
}

pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
   margin-bottom: 2.5rem;
}

table {
   width: 100%;
}

th,
td {
   border-bottom: 0.1rem solid #e1e1e1;
   padding: 1.2rem 1.5rem;
   text-align: left;
}

th:first-child,
td:first-child {
   padding-left: 0;
}

th:last-child,
td:last-child {
   padding-right: 0;
}

@font-face {
   font-family: 'Avenir';
   src: url('font/Avenir.ttf');
}

.taright {
   text-align: right;
}

.taleft {
   text-align: left;
}

.tacenter {
   text-align: center;
   margin: auto;
}

.columns p {
   columns: 2;
   column-gap: 5rem;
}

h1,
h2,
h3,
h4 {
   font-family: 'Avenir', sans-serif;
   color: #041b48;
   font-weight: 100;
   line-height: 1.25;
}

h5,
h6 {
   font-family: 'Avenir', sans-serif;
   color: #98aacb;
   font-weight: 300;
}

h1,
h2 {
   margin: 0 0 2rem;
}

h3,
h4,
h5,
h6 {
   margin: 0 0 1.5rem;
}

h1 {
   font-size: 5rem;
   font-weight: 600;
}

h2 {
   font-size: 3.5rem;
   font-weight: 600;
}

h3 {
   font-size: 3.5rem;
   font-style: italic;
   letter-spacing: 1px;
   margin: 0 0 2rem;
}

h4 {
   font-size: 2.5rem;
}

h5 {
   font-size: 1.4rem;
   text-transform: uppercase;
   letter-spacing: 2px;
}

h6 {
   font-size: 1.2rem;
   line-height: 1.5;
   font-weight: 500;
   color: rgba(152, 170, 203, 0.9);
   letter-spacing: 1px;
   text-transform: uppercase;
}

p {
   margin-top: 0;
   font-size: 1.8rem;
}

.title {
   max-width: 50rem;
   margin-bottom: 7rem;
}

.content ul {
   font-size: 1.8rem;
   list-style: none;
   margin: 0;
}

.content ul li {
   position: relative;
   padding-left: 2.5rem;
}

.content ul li:before {
   content: '';
   left: 1rem;
   display: block;
   position: absolute;
   height: 0.5rem;
   width: 0.5rem;
   top: 11px;
   background: #98aacb;
}

@media screen and (max-width: 950px) {
   h1 {
      font-size: 5rem;
   }
   h2,
   h3 {
      font-size: 3rem;
      margin: 0 auto 4rem;
   }
   .columns p {
      columns: 1;
   }
}

@media screen and (max-width: 600px) {
   h1,
   h2,
   h3 {
      margin: 0 0 2.5rem;
   }
   h3 {
      font-size: 2.5rem;
   }
   p {
      font-size: 1.6rem !important;
   }
   .title {
      margin-bottom: 4rem;
   }
   .taright,
   .taleft {
      text-align: left;
   }
   .content {
      padding: 0 1rem;
   }
}

section {
   position: relative;
}

.relative {
   position: relative;
}

.absolute {
   position: absolute;
}

.flex {
   display: flex;
   flex-wrap: wrap;
}

.wide {
   margin: auto;
   width: 150rem;
}

.small {
   margin: auto;
   width: 120rem;
}

.xsmall {
   margin: auto;
   width: 90rem;
}

.thick {
   padding: 10rem 0;
}

.thin {
   padding: 6rem 0;
}

.half {
   align-items: center;
   justify-content: space-between;
}

.half .item {
   width: 45%;
}

.third .item {
   width: 30%;
   margin: 0 1.6%;
}

.third .item:nth-child(n + 4) {
   margin-top: 5%;
}

.quarter .item {
   width: 22%;
   margin: 0 1% 5%;
}

.split .item {
   width: 50%;
}

.split .item .content {
   max-width: 80rem;
   padding: 5rem;
   z-index: 99;
   margin: auto;
}

.switch:nth-child(even).flex {
   flex-direction: row-reverse !important;
}

.divide {
   width: 100%;
   height: 5px;
   background: #98aacb;
}

@media screen and (max-width: 1500px) {
   .wide {
      width: 90%;
   }
}

@media screen and (max-width: 1250px) {
   .small {
      width: 90%;
   }
}

@media screen and (max-width: 1100px) {
   .split .item {
      width: 100%;
      display: block;
      min-height: 40vw;
   }
   .split .item .content {
      max-width: 90%;
      padding: 4rem 0;
   }
   .third {
      justify-content: center;
   }
   .third .item {
      width: 45%;
   }
   .third .item:nth-child(n + 3) {
      margin-top: 10%;
   }
}

@media screen and (max-width: 950px) {
   .xsmall {
      width: 90%;
   }
   .thick {
      padding: 4rem 0;
   }
}

@media screen and (max-width: 900px) {
   .half .item {
      margin: 0 0 5%;
      width: 100%;
   }
   .half .item:last-child {
      margin-bottom: 0;
   }
}

@media screen and (max-width: 750px) {
   .third .item {
      width: 100%;
   }
   .third .item:nth-child(n + 2) {
      margin-top: 10%;
   }
   .third .item:last-child {
      margin-bottom: 0;
   }
}

.accordion .item {
   width: 100%;
   margin-bottom: 2rem;
}

.accordion .item:last-child {
   margin-bottom: 0;
}

.accordion .item p {
   margin: 0;
}

.accordion .item .title {
   max-width: 100%;
   height: auto;
   padding: 1rem 0;
   padding-left: 3rem;
   margin: 0;
   position: relative;
   cursor: pointer;
}

.accordion .item .title h4 {
   font-weight: 400;
   font-size: 2rem;
   margin: 0;
   color: #041b48;
}

.accordion .item .title:before {
   content: '+';
   display: block;
   position: absolute;
   width: 0.8rem;
   height: 0.8rem;
   top: 0.8rem;
   left: 0;
   font-weight: 500;
   color: #3784dc;
   font-size: 2rem;
}

.accordion .item .content {
   padding: 1rem 0;
   padding-left: 3rem;
   display: none;
   background: transparent;
}

.banner.sliding,
.banner .flickity-viewport,
.banner .main-carousel,
.banner .carousel-cell {
   position: relative;
   width: 100%;
   height: 70rem !important;
}

.banner.sliding {
   border-bottom: 5px solid #3784dc;
}

.banner .arrow {
   width: 2rem;
   height: 2rem;
   z-index: 1;
   border-right: 2px solid white;
   border-bottom: 2px solid white;
   transform: rotate(45deg);
   bottom: 4rem;
   left: 50%;
   right: 50%;
   animation: float 2s infinite ease-in;
}

.banner h1,
.banner h4,
.banner p {
   color: white;
}

@keyframes float {
   0% {
      bottom: 4rem;
   }
   50% {
      bottom: 3rem;
   }
   100% {
      bottom: 4rem;
   }
}

.banner.simple h1,
.banner.simple h4,
.banner.simple p,
.banner.main h1,
.banner.main h4,
.banner.main p {
   padding-right: 40%;
}

.banner.simple p,
.banner.main p {
   font-size: 1.8rem;
}

.banner.simple .background,
.banner.main .background {
   z-index: -9;
}

.banner.simple .background img,
.banner.main .background img {
   opacity: 0.4;
}

.banner.simple {
   height: 30rem;
}

.banner.simple h1 {
   font-size: 5rem;
}

.banner.sliding .flex {
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   justify-content: center;
   align-items: center;
   pointer-events: none;
   z-index: 99;
}

.banner.sliding .flex .small {
   padding-right: 20vw;
}

.banner.sliding .flex .small h1 {
   font-size: 4.5rem;
}

.banner.sliding .main-carousel .carousel-cell img {
   opacity: 0.2;
}

.banner.sliding .main-carousel .flickity-page-dots {
   bottom: 3rem;
}

.banner.sliding .main-carousel .flickity-page-dots .dot {
   width: 5px;
   height: 5px;
   background: white;
}

@media screen and (max-height: 900px) {
   .banner.sliding .small {
      padding: 0 !important;
   }
   .banner.simple h1,
   .banner.simple h4,
   .banner.simple p,
   .banner.main h1,
   .banner.main h4,
   .banner.main p {
      padding-right: 0;
   }
}

@media screen and (max-width: 800px) and (max-height: 900px) {
   .banner.main,
   .banner.sliding,
   .banner .flickity-viewport,
   .banner .main-carousel,
   .banner .carousel-cell {
      height: 40rem !important;
   }
   .banner.simple {
      height: 20rem !important;
   }
   .banner.simple h1 {
      margin: 0;
   }
}

@media screen and (max-width: 600px) {
   .banner {
      text-align: center;
   }
   .banner h1 {
      font-size: 3rem !important;
   }
   .banner h4 {
      font-size: 1.8rem !important;
   }
}

.category-nav {
   width: 100%;
   background: #98aacb;
}

.category-nav ul {
   list-style: none;
   display: flex;
   flex-wrap: wrap;
   margin: 0 auto;
   padding: 2.6rem 0 3rem;
}

.category-nav ul li {
   margin: 0 2rem 0 0;
   padding: 0;
}

.category-nav ul li a {
   color: white;
   text-transform: uppercase;
   font-size: 1.4rem;
   letter-spacing: 1px;
   font-weight: 400;
   line-height: 100%;
}

@media screen and (max-width: 650px) {
   .category-nav ul {
      display: block;
   }
   .category-nav ul li {
      display: block;
      margin: 1rem 2rem 1rem 0;
   }
}

.cta {
   z-index: 0;
   border-bottom: 5px solid #3784dc;
}

.cta .xsmall {
   max-width: 60rem;
}

.cta h2,
.cta p {
   color: white;
}

.cta h2 {
   margin: 0 0 2rem;
}

.cta p {
   font-weight: 400;
}

.cta .button {
   background: #3784dc;
   color: white;
   margin: 0;
}

.cta .button:hover,
.cta .button:focus {
   background: #093f9f;
}

.cta .background {
   z-index: -9;
}

.cta .background img {
   opacity: 0.2;
}

@media screen and (max-width: 900px) {
   .cta .half .item {
      margin: 0 auto !important;
   }
   .cta .taright,
   .cta .taleft {
      text-align: center;
   }
}

.edit_link {
   background: #041b48;
   color: #98aacb;
   padding: 2rem;
   position: fixed;
   bottom: 0;
   left: 0;
   font-size: 1.2rem;
   text-transform: uppercase;
   letter-spacing: 0.1rem;
   font-weight: 400;
   z-index: 2000;
}

.edit_link a {
   color: white;
   margin-left: 1rem;
   font-weight: 600;
}

/*! Flickity v2.2.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
   position: relative;
}

.flickity-enabled:focus {
   outline: none;
}

.flickity-viewport {
   overflow: hidden;
   position: relative;
   height: 100%;
}

.flickity-slider {
   position: absolute;
   width: 100%;
   height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
   -webkit-tap-highlight-color: transparent;
   tap-highlight-color: transparent;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
   cursor: move;
   cursor: -webkit-grab;
   cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
   cursor: -webkit-grabbing;
   cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
   position: absolute;
   background: rgba(255, 255, 255, 0.75);
   border: none;
   color: #333;
}

.flickity-button:hover {
   background: white;
   cursor: pointer;
}

.flickity-button:focus {
   outline: none;
   box-shadow: 0 0 0 5px #19f;
}

.flickity-button:active {
   opacity: 0.6;
}

.flickity-button:disabled {
   opacity: 0.3;
   cursor: auto;
   /* prevent disabled button from capturing pointer up event. #716 */
   pointer-events: none;
}

.flickity-button-icon {
   fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
   top: 50%;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   /* vertically center */
   transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
   left: 10px;
}

.flickity-prev-next-button.next {
   right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
   left: auto;
   right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
   right: auto;
   left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
   position: absolute;
   left: 20%;
   top: 20%;
   width: 60%;
   height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
   position: absolute;
   width: 100%;
   bottom: -25px;
   padding: 0;
   margin: 0;
   list-style: none;
   text-align: center;
   line-height: 1;
}

.flickity-rtl .flickity-page-dots {
   direction: rtl;
}

.flickity-page-dots .dot {
   display: inline-block;
   width: 10px;
   height: 10px;
   margin: 0 8px;
   background: #333;
   border-radius: 50%;
   opacity: 0.25;
   cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
   opacity: 1;
}

footer {
   background: #041b48;
}

footer .wide {
   padding: 5rem 0;
}

footer .flex {
   align-items: flex-start;
}

footer .bottom {
   background: #3784dc;
}

footer .bottom .wide {
   padding: 2rem 0;
}

footer .bottom .wide p {
   margin: 0;
   font-size: 1.3rem !important;
}

footer .bottom .wide p svg {
   width: 1rem;
   height: auto;
}

footer .bottom .wide p svg path {
   fill: white;
}

footer h5,
footer p,
footer a {
   color: white;
   font-weight: 100;
   font-size: 1.5rem !important;
}

footer h5:hover,
footer p:hover,
footer a:hover {
   color: white;
}

footer h5 {
   font-weight: 500;
}

footer p,
footer li,
footer .fab {
   margin-top: 1rem;
   margin-bottom: 0;
   opacity: 0.6;
}

footer .logo {
   display: block;
}

footer .logo svg {
   width: 10rem;
   height: auto;
}

footer .social {
   margin: 2rem 0;
}

footer .social .fab {
   color: white;
   font-size: 1.4rem;
   margin: 0 1rem 0 0;
}

footer .menus ul {
   list-style: none;
   margin: 0;
   padding: 0;
}

footer .menus ul li {
   padding: 0;
   margin: 0 0 1rem;
}

@media screen and (max-width: 900px) {
   footer .half .item {
      width: 100%;
   }
   footer .half.menus {
      display: flex;
      align-items: flex-start;
   }
   footer .half.menus .item {
      width: 45%;
   }
   footer .bottom .item {
      margin: 0;
   }
   footer .bottom .item.taright,
   footer .bottom .item.taleft {
      text-align: center;
   }
}

@media screen and (max-width: 600px) {
   footer .half.menus .item {
      width: 100%;
   }
}

.single-gallery .carousel-cell {
   width: 60%;
   height: 35vw;
   background: #98aacb;
}

.single-gallery .carousel-cell img {
   height: 100%;
   width: 100%;
   object-fit: cover;
   opacity: 0.4;
}

.single-gallery .carousel-cell.is-selected img {
   opacity: 1;
}

.single-gallery .flickity-prev-next-button {
   margin: 0;
   padding: 0;
   background: transparent;
   border-radius: 0;
   min-width: 7rem !important;
   height: 7rem;
   transition: 0.5s ease all;
}

.single-gallery .flickity-prev-next-button:hover,
.single-gallery .flickity-prev-next-button:focus {
   transition: 0.5s ease all;
   background-size: 500% !important;
   outline: none;
   box-shadow: none;
}

.single-gallery .flickity-prev-next-button.next {
   right: 2rem;
}

.single-gallery .flickity-prev-next-button.previous {
   left: 2rem;
}

.single-gallery .flickity-prev-next-button svg {
   left: 1.5rem;
   width: 4rem;
   color: white;
}

@media screen and (max-width: 1000px) {
   .single-gallery .carousel-cell {
      width: 33%;
      height: 33vw;
   }
}

@media screen and (max-width: 600px) {
   .single-gallery .carousel-cell {
      width: 100%;
      height: 60vw;
   }
   .single-gallery .carousel-cell img {
      opacity: 1 !important;
   }
   .single-gallery .flickity-prev-next-button.next {
      right: 1rem;
   }
   .single-gallery .flickity-prev-next-button.previous {
      left: 1rem;
   }
   .single-gallery .flickity-prev-next-button svg {
      left: 1.5rem;
      width: 3rem;
      color: #98aacb;
   }
}

header {
   width: 100%;
   top: 0;
   position: fixed;
   z-index: 200;
   background: white;
   box-shadow: 0 0 1rem rgba(4, 27, 72, 0.1);
}

.admin-bar header {
   top: 32px;
}

@media (max-width: 767px) {
   .admin-bar header {
      top: 46px;
   }
}

header .flex {
   justify-content: space-between;
   align-items: center;
}

header .logo svg {
   height: 4rem;
   width: auto;
}

header .nav {
   display: flex;
   align-items: center;
}

header .nav ul {
   display: inline-block;
   list-style: none;
   margin: 0;
   padding: 0;
}

header .nav ul li {
   display: inline-block;
   margin: 0 0 0 3rem;
   position: relative;
}

header .nav ul li a {
   font-weight: 500;
   padding: 3rem 0;
   letter-spacing: 0.5px;
   display: block;
   color: #041b48;
}

header .nav ul li a:hover {
   color: #3784dc;
   cursor: pointer;
}

header .nav ul li.current-menu-item a {
   color: #3784dc;
}

header .nav ul li.menu-item-has-children {
   position: relative;
}

header .nav ul li.menu-item-has-children a {
   padding-right: 1.5rem;
}

header .nav ul li.menu-item-has-children:after {
   content: '';
   pointer-events: none;
   width: 0.5rem;
   height: 0.5rem;
   position: absolute;
   pointer-events: none;
   right: 0;
   top: 3.8rem;
   border-right: 1px solid #3784dc;
   border-bottom: 1px solid #3784dc;
   transform: rotate(45deg);
}

header .nav ul li .sub-menu {
   display: none;
   width: 20rem;
   margin: 0;
   position: absolute;
   top: 100%;
}

header .nav ul li .sub-menu li {
   margin: 0;
   padding: 0;
   display: block;
}

header .nav ul li .sub-menu li.current-menu-item a {
   border: 0;
   color: white;
   background: #98aacb;
}

header .nav ul li .sub-menu li a {
   letter-spacing: 0;
   font-weight: 200;
   text-transform: none;
   padding: 1.5rem 2rem;
   background: white;
   color: #98aacb;
   transition: 0.5s ease all;
}

header .nav ul li .sub-menu li a:hover {
   background: #98aacb;
   color: white;
}

header .nav .button {
   margin: 0;
}

header .hamburger {
   display: none;
   width: 2.5rem;
   height: 2rem;
   position: relative;
   cursor: pointer;
}

header .hamburger .bar {
   position: absolute;
   width: 2.5rem;
   height: 2px;
   display: block;
   background: #3784dc;
   transition: 0.5s ease all;
}

header .hamburger .bar:nth-child(1) {
   top: 0rem;
}

header .hamburger .bar:nth-child(2) {
   top: 0.9rem;
}

header .hamburger .bar:nth-child(3) {
   bottom: 0rem;
}

@media screen and (max-width: 900px) {
   header {
      padding: 2rem 0;
   }
   header .flex {
      justify-content: space-between;
   }
   header .logo {
      height: 3rem;
   }
   header .logo svg {
      height: 3rem;
      width: auto;
   }
   header .hamburger {
      display: block;
      cursor: pointer;
   }
   header .nav {
      display: none;
   }
   header.active .nav {
      display: block;
      width: 100%;
      z-index: 2;
      text-align: center;
   }
   header.active .nav ul {
      margin: 0 auto;
      padding: 3rem 0 2rem;
      width: 30rem;
   }
   header.active .nav li {
      width: 100%;
      text-align: center;
      margin: 0;
      padding: 0;
   }
   header.active .nav li a {
      padding: 1rem 0;
   }
   header.active .nav li.menu-item-has-children {
      padding-right: 0;
   }
   header.active .nav li.menu-item-has-children:after {
      content: '';
      right: 20%;
      top: 2.8rem;
      border-right: 1px solid #98aacb;
      border-bottom: 1px solid #98aacb;
      transform: rotate(45deg);
   }
   header.active .nav li .sub-menu {
      position: relative;
      width: 100%;
      padding: 0;
      border: 0;
   }
   header.active .nav li .sub-menu li {
      border: 0;
   }
   header.active .nav li .sub-menu a {
      background: rgba(152, 170, 203, 0.1);
   }
   header.active .nav li .sub-menu a:hover {
      background: #98aacb;
   }
   header.active .hamburger .bar:nth-child(1) {
      transform: rotate(45deg);
      top: calc(1rem - 1px);
   }
   header.active .hamburger .bar:nth-child(2) {
      opacity: 0;
   }
   header.active .hamburger .bar:nth-child(3) {
      transform: rotate(-45deg);
      bottom: calc(1rem - 1px);
   }
}

.logos .flex {
   justify-content: center;
}

.logos a {
   display: block;
   display: flex;
   align-items: center;
   margin: 2rem 3rem;
}

.logos a img {
   filter: grayscale(100%);
   opacity: 0.3;
   max-height: 5rem;
   max-width: 15rem;
   height: auto;
   width: auto;
}

.pagination {
   text-align: center;
}

.pagination ul {
   list-style: none;
   margin: 0;
   padding: 0;
}

.pagination ul li {
   margin: 0;
   padding: 0;
   display: inline-block;
}

.pagination ul li a {
   width: 4rem;
   height: 4rem;
   display: inline-block;
   border: 1px solid #98aacb;
   text-align: center;
   line-height: 2;
   font-size: 1.8rem;
   color: #98aacb;
   font-weight: 400;
   margin: 0 1rem;
}

.pagination ul li.active a {
   background: #98aacb;
   color: white;
}

.pagination ul li.next a:after,
.pagination ul li.prev a:after {
   content: '';
   display: inline-block;
   height: 0.8rem;
   width: 0.8rem;
   border-right: 1px solid #98aacb;
   border-bottom: 1px solid #98aacb;
}

.pagination ul li.next a:after {
   margin-right: 0.4rem;
   transform: rotate(-45deg);
}

.pagination ul li.prev a:after {
   margin-left: 0.3rem;
   transform: rotate(135deg);
}

.services .item {
   align-items: flex-start;
   align-self: flex-start;
   z-index: 0;
   margin-bottom: 3%;
}

.services .item h6 {
   padding-right: 2rem;
   display: inline;
   position: relative;
   transition: 0.2s ease all;
}

.services .item h6:hover {
   padding-right: 3rem;
}

.services .item h6:after {
   content: '';
   width: 0.7rem;
   height: 0.7rem;
   border-right: 1px solid rgba(152, 170, 203, 0.6);
   border-bottom: 1px solid rgba(152, 170, 203, 0.6);
   transform: rotate(-45deg);
   position: absolute;
   top: 0.5rem;
   right: 0;
}

.services .item .icon {
   width: 4rem;
   height: 4rem;
   display: block;
   margin: 0 0 2rem;
}

.services .item .icon svg {
   width: 100%;
   height: 100%;
   object-fit: contain;
   object-position: center;
}

.services .item .icon svg path {
   fill: #3784dc;
}

@media screen and (max-width: 600px) {
   .services .item {
      text-align: center;
   }
   .services .item .icon {
      display: inline-block;
      margin: 0 auto 2rem;
   }
}

.team {
   align-items: flex-start;
}

.team .phone:before,
.team .email:before {
   color: #98aacb;
}

.team .item .top {
   width: 100%;
   align-items: center;
}

.team .item .top .info h4 {
   padding-bottom: 1rem;
   border-bottom: 1px solid rgba(152, 170, 203, 0.2);
}

.team .item .top .info h4 {
   padding-bottom: 2rem;
}

.team .item .top .info a {
   display: inline-block;
   line-height: 1;
   font-size: 1rem;
   margin: 0 1.5rem 0 0;
}

.team .item .top .image {
   height: 9rem;
   width: 9rem;
   border-radius: 100%;
   border: 3px solid #98aacb;
   overflow: hidden;
   margin-right: 3rem;
}

.team .item .top .image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.team .item .content {
   margin-top: 3rem;
}

.contact-page a,
.contact-page span {
   display: block;
   margin-bottom: 2rem;
   font-size: 2rem;
   font-weight: 500;
}

.contact-page .fas {
   color: #3784dc;
   margin-right: 2rem;
}

@media screen and (max-width: 600px) {
   .contact-page .half .item {
      margin: 0;
   }
   .contact-page .half a {
      font-size: 1.8rem;
   }
}

.posts .flex {
   align-items: flex-start;
}

.posts .item .image {
   width: 100%;
   height: 25rem;
   position: relative;
   background: #98aacb;
   border-bottom: 10px solid #98aacb;
}

.posts .item .image img {
   height: 100%;
   width: 100%;
   object-fit: cover;
   transition: 0.5s ease all;
}

.posts .item .image .cat {
   display: inline;
   margin: 0;
   color: white;
   top: 0;
   left: 0;
   padding: 1rem 2rem;
   background: #98aacb;
}

.posts .item .image .cat a,
.posts .item .image .cat a:hover {
   color: white;
}

.posts .item .meta {
   width: 100%;
   display: block;
   padding: 2rem 1rem;
   margin: 0 0 2rem;
   border-bottom: 1px solid rgba(152, 170, 203, 0.4);
}

.posts .item h3 {
   padding: 0 1rem;
   transition: 0.5s ease all;
}

.posts .item h3:hover {
   cursor: pointer;
   opacity: 0.6;
   transition: 0.5s ease all;
}

.posts .button {
   margin-top: 6rem;
}

@media screen and (max-width: 650px) {
   .posts .item .image {
      height: 50vw;
   }
}

.services-page .listing .xsmall {
   border-bottom: 1px solid rgba(152, 170, 203, 0.3);
}

.services-page .listing .xsmall:last-child {
   border: 0;
}

.services-page strong {
   font-weight: 500;
}

.services-page .icon {
   width: 5rem;
   height: 5rem;
   margin-bottom: 3rem;
}

.services-page .icon svg {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.services-page .icon svg path {
   fill: #3784dc;
}

.single-post .banner {
   height: 50rem;
   z-index: -9;
}

.single-post .banner .background img {
   opacity: 0.2;
}

.single-post .banner h1 {
   width: 70%;
   margin: auto;
   text-align: center;
   font-size: 5rem;
}

.single-post h6 {
   border-bottom: 1px solid rgba(152, 170, 203, 0.2);
   padding-bottom: 2rem;
}

.single-post .xsmall {
   max-width: 90rem;
}

.single-post p img {
   width: 100%;
   height: auto;
}

@media screen and (max-width: 1150px) {
   .single-post .banner {
      height: 35rem;
   }
   .single-post .banner h1 {
      font-size: 3rem;
   }
   .single-post .single-gallery .carousel-cell {
      width: 40vw;
      height: 40vw;
   }
}

@media screen and (max-width: 650px) {
   .single-post .stats {
      margin-top: -3rem;
      padding: 0;
   }
   .single-post .stats div {
      border-right: 0;
      width: 80%;
      margin: auto;
      padding: 2rem 0;
      border-bottom: 1px solid rgba(152, 170, 203, 0.4);
   }
   .single-post .quote img {
      height: 8rem;
      left: 0;
   }
   .single-post .single-gallery .carousel-cell {
      width: 100%;
      height: 70vw;
   }
}

.service-page .columns .tacenter {
   justify-content: center;
}

.service-page .columns .icon {
   line-height: 3;
   width: 6rem;
   height: 6rem;
   margin-right: 4rem;
   display: inline-block;
}

.service-page .columns .icon svg {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.service-page .columns .icon svg path {
   fill: #98aacb;
}

@media screen and (max-width: 600px) {
   .service-page .columns .tacenter {
      display: block;
   }
}
