/* ===============================================
   GLOBAL ELEMENTS
   =============================================== */
div.preview-notice-v2 {
  display: none;
}
body.is-preview div.preview-notice-v2 {
  display: flex;
}
body:after {
  display: none;
}
html {
  font-family: 'Poppins', sans-serif;
  color: #2a2750;
  font-size: 14px;
}
input,
textarea,
select,
button {
  font-size: inherit;
  font-family: inherit;
}
h1,
.like-h1 {
  color: #2a2750;
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
  font-size: 2.75rem;
}
h2,
h3 {
  color: #2a2750;
  font-family: 'Poppins', sans-serif;
}
h4,
h5,
h6 {
  color: #2a2750;
  font-family: 'Poppins', sans-serif;
}
a {
  color: #008f72;
}
/* ===============================================
   VANILLA THEME OVERRIDES
   =============================================== */
.addtocalendar {
  width: 100%;
}
.atc-style-blue .atcb-link,
.atc-style-blue .atcb-link:hover,
.atc-style-blue .atcb-link:active,
.atc-style-blue .atcb-link:focus {
  padding: 5px 10px;
  border: 1px solid #404040;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  background: #404040;
  border-radius: 0;
  background-clip: padding-box;
  background-clip: border-box;
  box-shadow: none;
}
.atc-style-blue .atcb-item,
.atc-style-blue .atcb-item-link {
  margin: 0;
}
button,
a.button {
  background: #2a2750;
  border-color: #2a2750;
  color: #fff;
  font-weight: normal;
  border-radius: 0;
  background-clip: padding-box;
  background-clip: border-box;
  text-transform: uppercase;
}
button.white,
a.button.white {
  background: #fff;
  border-color: #fff;
  color: #2a2750;
}
button.gold,
a.button.gold {
  background: #f5ae1a;
  border-color: #f5ae1a;
  color: #2a2750;
}
.primary-form .button-wrapper button {
  font-size: 1.5rem;
  padding: 10px 30px;
}
body.layout-show-button-amounts form#contribution-form .amounts .simple-amount label,
body.layout-show-button-amounts form#contribution-form .amounts .label-amount label {
  background: #808080;
  color: #fff;
  border-radius: 5px;
  background-clip: padding-box;
}
body.layout-show-button-amounts form#contribution-form .amounts .simple-amount input[name="amount"]:checked ~ label,
body.layout-show-button-amounts form#contribution-form .amounts .label-amount input[name="amount"]:checked ~ label {
  background: #c0c0c0;
  color: #fff;
}
body.layout-show-button-amounts form#contribution-form .amounts .simple-amount-other {
  background-color: #808080;
  color: #fff;
}
body.layout-show-button-amounts form#contribution-form .amounts .simple-amount-other.checked {
  background-color: #c0c0c0;
  color: #fff;
}
#share-links ul li.email a {
  background-color: #dd0b83;
}
/* ===============================================
   MAIN STRUCTURE
   =============================================== */
.sizer,
.like-sizer {
  max-width: 1140px;
  padding: 0 20px;
  margin: 0 auto;
}
.story-content:after {
  content: "";
  display: table;
  clear: both;
}
#top {
  background-color: #2a2750;
  padding: 1rem 0;
}
#top .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#menu-toggle {
  text-align: right;
  font-size: 2rem;
}
#menu-toggle a {
  color: #fff;
  text-decoration: none;
}
#menu-toggle span {
  margin-right: 0.5rem;
}
@media screen and (min-width: 1024px) {
  #menu-toggle {
    display: none;
  }
}
@media screen and (max-width: 639px) {
  #menu-toggle span {
    display: none;
  }
}
#topnav a[href=""] {
  cursor: default;
}
@media screen and (min-width: 1024px) {
  #topnav .sizer > ul {
    display: flex;
  }
  #topnav .sizer > ul > li {
    margin: 0 1rem;
    flex-grow: 1;
    height: 3rem;
    position: relative;
  }
  #topnav .sizer > ul > li > a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
    color: #fff;
    height: 3rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
  }
  #topnav .sizer > ul > li > a > span {
    display: inline-block;
    padding: 4px 0;
  }
  #topnav .sizer > ul > li:hover > a > span {
    background: url(/images/underline.png) left bottom repeat-x;
  }
  #topnav .sizer .level2 {
    width: 250px;
    position: absolute;
    top: 3rem;
    left: -9999px;
    display: none;
    z-index: 99999;
  }
  #topnav .sizer .level2 ul {
    background: #473d90;
  }
  #topnav .sizer .level2 ul li a {
    color: #fff;
    display: block;
    padding: 5px 10px;
    text-decoration: none;
    text-transform: uppercase;
    text-align: center;
  }
  #topnav .sizer .level2 ul li a:hover {
    background: #2a2750;
  }
  #topnav .sizer > ul > li:hover .level2 {
    left: 0;
    display: block;
  }
  #topnav .sizer ul ul ul {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  #topnav > .sizer {
    padding: 0;
  }
  #topnav > .sizer > ul {
    display: none;
    width: 100%;
    margin-top: 1rem;
  }
  #topnav > .sizer > ul > li {
    margin: 0;
    width: 100%;
    height: auto;
    display: block;
    border-top: 1px solid #fff;
  }
  #topnav > .sizer > ul > li > a {
    display: block;
    width: 100%;
    color: #fff;
    background: #3c3872;
    text-align: left;
    height: auto;
    line-height: 1;
    padding: 10px;
  }
  #topnav > .sizer > ul > li > a i {
    display: none;
  }
  #topnav > .sizer > ul > li > div.subnav {
    float: right;
    padding: 6px 10px;
    color: #fff;
    width: auto;
    background: none;
  }
  #topnav > .sizer > ul > li > div.subnav i {
    font-size: 1rem;
  }
  #topnav > .sizer .level2 {
    display: none;
  }
  #topnav > .sizer .level2 > ul > li > a {
    line-height: 1;
    display: block;
    padding: 5px 10px 5px 25px;
    color: #fff;
    border-top: 1px solid #fff;
    border-bottom: none;
    text-decoration: none;
  }
  #topnav > .sizer .level3 {
    display: none;
  }
}
#middle {
  min-height: 300px;
  background-color: #e9f0f4;
}
body:not(.homepage) #middle {
  padding: 2rem 0;
}
body.is-story:not(.layout-no-sidebar) #middle .container {
  display: flex;
  align-items: flex-start;
}
body.is-story:not(.layout-no-sidebar) #middle #content {
  width: 62%;
  margin-right: 5%;
}
body.is-story:not(.layout-no-sidebar) #middle #sidebar {
  width: 33%;
}
@media screen and (max-width: 1023px) {
  body.is-story:not(.layout-no-sidebar) #middle #content {
    width: 100%;
    margin-right: 0;
  }
  body.is-story:not(.layout-no-sidebar) #middle #sidebar {
    display: none;
  }
}
#sidebar {
  padding: 20px 40px;
  background-color: #fff;
}
#sidebar h2 {
  font-size: 2.75rem;
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
}
#sidebar .listed-item h3.title {
  color: #008f72;
}
#bottom {
  padding: 2rem 0;
  border-top: 10px solid #008f72;
  background: #2a2750;
  color: #fff;
}
#bottom .subscribe {
  margin-bottom: 3rem;
  color: #fff;
}
#bottom .subscribe h2 {
  margin-bottom: 0.75rem;
  color: #fff;
  font-size: 2.75rem;
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
}
#bottom .subscribe form {
  max-width: 420px;
}
#bottom .subscribe form input[name="email"] {
  border-left: 10px solid #008f72;
  margin-right: 10px;
  padding: 0 0.5rem;
  width: 200px;
  max-width: 50%;
  height: 30px;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
#bottom .subscribe form input[name="zip"] {
  margin-right: 10px;
  padding: 0 0.5rem;
  width: 100px;
  max-width: 20%;
  height: 30px;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
#bottom .subscribe form button {
  height: 30px;
}
#bottom .info .phone {
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  color: #fff;
  font-weight: bold;
}
#bottom .info .phone .fa {
  margin-left: 1rem;
  font-size: 1rem;
  color: #bcdff1;
}
#bottom .info .phone a {
  color: #fff;
}
#bottom .info .nav-list {
  margin-bottom: 0;
}
#bottom .info .nav-list a {
  color: #f5ae1a;
}
@media screen and (min-width: 1280px) {
  #bottom {
    padding: 100px 0;
    background: #2a2750 url(/images/bg_bottom.png) no-repeat bottom right;
  }
}
@media screen and (max-width: 639px) {
  #bottom .subscribe form input[name="email"],
  #bottom .subscribe form input[name="zip"] {
    display: block;
    margin: 0 0 0.5rem;
    width: 100%;
    max-width: none;
  }
  #bottom .subscribe form button {
    width: 100%;
    max-width: none;
  }
}
/* ===============================================
   HOMEPAGE
   =============================================== */
body.homepage #middle {
  padding: 0;
  background-color: #e2ebf0;
}
body.homepage #middle > .sizer {
  max-width: none;
  padding: 0;
}
body.homepage .hero {
  padding: 3rem 0;
  background-color: #2a2750;
  color: #fff;
}
body.homepage .hero .card-inner {
  align-items: center;
}
body.homepage .hero .card-media .slide {
  position: absolute;
  left: -999em;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
body.homepage .hero .card-media .slide.active {
  position: relative;
  left: 0;
  opacity: 1;
}
body.homepage .hero .card-media img {
  border-radius: 5px;
  width: 100%;
}
body.homepage .hero .card-media .caption {
  position: relative;
  margin-top: -70px;
  padding: 20px;
  background-color: #bcdff1;
  color: #2a2750;
  width: 70%;
  float: right;
  border-radius: 5px;
}
body.homepage .hero .card-media .caption * {
  margin: 0;
}
body.homepage .hero .card-content {
  text-align: right;
  padding: 0 0 0 50px;
}
body.homepage .hero .card-content h1 {
  font-size: 4rem;
  color: #fff;
}
body.homepage .hero .card-content h1 span {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
}
body.homepage .hero .card-content p {
  font-size: 1.5rem;
}
@media screen and (max-width: 639px) {
  body.homepage .hero {
    padding: 1.5rem 0;
  }
  body.homepage .hero .card-media {
    margin-bottom: 2rem;
  }
  body.homepage .hero .card-content {
    text-align: left;
    padding: 0;
  }
  body.homepage .hero .card-content h1 {
    font-size: 3.25rem;
  }
  body.homepage .hero .card-content .img {
    display: none;
  }
}
body.homepage .work {
  padding: 3rem 0;
}
body.homepage .work h2 {
  text-transform: uppercase;
  font-weight: normal;
}
body.homepage .work h2 span {
  display: inline-block;
  padding-bottom: 4px;
  background: url(/images/underline.png) left bottom repeat-x;
}
body.homepage .work .grid-block-grid .img {
  transition: 0.25s;
  border-radius: 5px;
}
body.homepage .work .grid-block-grid .img img {
  display: block;
  border-radius: 5px 5px 0 0;
}
body.homepage .work .grid-block-grid .img .txt {
  margin: 0;
  padding: 10px 0;
  background-color: #bcdff1;
  font-size: 1rem;
  text-align: center;
  border-radius: 0 0 5px 5px;
}
body.homepage .work .grid-block-grid .img:hover {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
}
body.homepage .clients {
  padding: 3rem 0 2rem;
}
body.homepage .clients h3 {
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
  text-align: center;
  font-size: 1.5rem;
}
body.homepage .case-studies {
  padding: 5rem 0;
  background-color: #2a2750;
  color: #fff;
}
body.homepage .case-studies h2 {
  text-transform: uppercase;
  font-weight: normal;
  color: #fff;
}
body.homepage .case-studies h2 span {
  display: inline-block;
  padding-bottom: 4px;
  background: url(/images/underline.png) left bottom repeat-x;
}
body.homepage .case-studies h3 {
  color: #fff;
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
  font-size: 1.75rem;
}
@media screen and (min-width: 1920px) {
  body.homepage .case-studies {
    background-image: url(/images/bg_casestudies_tr.png), url(/images/bg_casestudies_bl.png);
    background-repeat: no-repeat, no-repeat;
    background-position: top right, bottom left;
  }
}
body.homepage .about {
  padding: 3rem 0;
}
body.homepage .about h2 {
  text-transform: uppercase;
  font-weight: normal;
}
body.homepage .about h2 span {
  display: inline-block;
  padding-bottom: 4px;
  background: url(/images/underline.png) left bottom repeat-x;
}
body.homepage .about .card .card-inner {
  align-items: center;
}
body.homepage .testimonials {
  padding: 3rem 0;
}
body.homepage .testimonials h3 {
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
  text-align: center;
  font-size: 1.5rem;
}
body.homepage .testimonials .testimonial {
  display: flex;
  flex-direction: column;
  padding: 40px 30px 10px;
  background-color: #e9f0f4;
}
body.homepage .testimonials .testimonial p {
  margin-bottom: 3rem;
  text-align: right;
  font-style: italic;
  flex-grow: 1;
}
@media screen and (max-width: 639px) {
  body.homepage .testimonials .testimonial {
    margin-bottom: 1.5rem;
  }
}
/* ===============================================
   BLOG
   =============================================== */
body.our-work.category-archive .story-content > h1.page-title {
  display: inline-block;
  padding-bottom: 4px;
  background: url(/images/underline.png) left bottom repeat-x;
}
body.our-work.category-archive .blog-item h1.page-title {
  font-size: 2.25rem;
}
body.our-work.category-archive .blog-item .footer {
  display: none;
}
/* ===============================================
   WHAT WE DO COVER
   =============================================== */
body#story-25 .what {
  padding: 30px 60px;
  margin-bottom: 3rem;
  background-color: #c7d9e3;
  border-radius: 10px;
}
body#story-25 .what h2 {
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
  font-size: 2.25rem;
}
body#story-25 .services .listed-item {
  margin-bottom: 3rem;
}
body#story-25 .services .listed-item h2 {
  font-family: 'Abril Fatface', cursive;
  font-weight: normal;
  font-size: 2.25rem;
}
body#story-25 .services .listed-item li {
  margin-bottom: 0.5rem;
}
