/* MISC
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/

/* IMPORTANT COLORS
blue: #1B67A5
red: #E4574C
gray: #F3F3F3
dark blue: #324D5A
green: #3EB49D
*/

body {
  background: #fff;
  color: #231F20;
  font-family: 'Mulish', sans-serif;
  font-weight: 100;
  font-size: 16px;
  line-height: 30px;
  margin-bottom: 0px !important;
  padding-top: 180px;
}
body {
  padding-top: 0;
}

a {
  color: #E4574C;
}
a:hover, a:visited {
  color: #E4574C;
}

h1, h2, h3, h4 {
  color: #E4574C;
  font-family: 'Mulish', sans-serif;
  font-size: 50px;
  font-weight: bold;
  text-align: left;
}
h2 {
  color: #111;
  font-size: 34px;
  text-align: left;
  margin: 30px 0 20px;
}
h3 {
  font-size: 30px;
}
h4 {
  font-size: 30px;
}
li {
  margin-bottom: 30px
}

#page {
    border-top: 20px solid #1B67A5;
}
#masthead {
  padding: 50px;
}

#hero {
  background: center no-repeat;
  background-size: cover;
  padding: 200px 30px 200px 0;
}
#hero .hero-content {
  background: rgba(255, 255, 255, .75);
  max-width: 880px;
  padding: 45px 50px 45px 90px;
}
#hero h1 {
  color: #3EB49E;
  font-size: 42px;
}
#hero p {
  font-size: 16px;
  font-weight: normal;
  margin: 25px auto 25px auto;
  padding: 0;
}

.entry-content {
  margin-top: 0;
}

.logo,
.logo a {
  color: #E4574C;
  font-size: 80px;
  text-transform: uppercase;
  text-decoration: none;
}
.logo span {
  font-size: 50%;
}

.page-hero {
  background: url('../images/header-bg-slim.jpg') no-repeat center;
  background-size: cover;
  color: #fff;
  padding: 200px 20px 100px;
  position: relative;
  margin-bottom: 100px;
  overflow: hidden;
  text-align: center;
  z-index: 10;
}
.page-hero h1,
.page-hero div {
  position: relative;
  z-index: 90;
}
.page-hero .sub-title {
  font-size: 20px;
}
/* .page-hero::after,
#hero::after {
  background: linear-gradient(to bottom, rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 100%);
  content: " ";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
}
#hero::after {
  background: linear-gradient(to bottom, rgba(255,255,255,.8) 0%,rgba(255,255,255,0) 100%);
} */

/* BUTTONS
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/
.btn {
  transition: background-color .5s ease, color .5s ease;
}
.btn-primary {
  background: transparent;
  border: 2px solid #E4574C;
  border-radius: 0;
  color: #E4574C;
  font-size: 20px;
  font-weight: normal;
  padding: 10px;
  padding: 0 30px 2px;
}
.btn-primary:hover {
  border: 2px solid #E4574C;
  background-color: #E4574C;
  color: #fff;
}

a.btn-info {
  background: transparent;
  border: 2px solid transparent;
  border-radius: 0;
  color: #1B67A5;
  font-weight: bold;
  font-size: 20px;
}
.btn-info:hover {
  border: 2px solid #1B67A5;
  background-color: #1B67A5;
  color: #fff;
}

a.btn-ghost {
  border: 2px solid #fff;
  color: #fff;
}
a.btn-ghost:hover {
  border: 2px solid #fff;
  background-color: rgba(255,255,255,.3);
  color: #fff;
}

/* MAIN NAVIGATION
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/
.offcanvas-right {
  display: none;
}
.hiraku-open-btn {
  display: none;
  margin-top: 5px;
}
#main-nav ul {
  display: flex;
  justify-content: flex-end;
}
#main-nav ul,
#main-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}
#main-nav li {
  text-align: right;
  padding-left: 22px;
}
#main-nav li:first-child {
  padding-left: 0;
}
#main-nav li a {
  color: #324D5A;
  display: block;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 0;
}
.home #main-nav li a {
  color: #324D5A;
}
.left-nav {
  color: #fff;
  background: #1B67A5;
  padding: 30px;
}
.left-nav h4 {
  color: #fff;
}

/* hiraku overrides */
.hiraku-open-btn {
  border: none;
	display: none;
  margin: 0;
}
.hiraku-open-btn-line {
	background-color: #808080;
  width: 40px;
}
.hiraku-open-btn-line::after, .hiraku-open-btn-line::before {
	background-color: #808080;
}
.home .hiraku-open-btn-line,
.home .hiraku-open-btn-line::after,
.home .hiraku-open-btn-line::before {
	background-color: #E4574C;
}
.home [aria-expanded="true"] .hiraku-open-btn-line {
  background-color: transparent;
}
.hiraku-open-btn-line::before {
	top: -10px;
}
.hiraku-open-btn-line::after {
	bottom: -10px;
}
[aria-expanded="true"] .hiraku-open-btn-line::after, [aria-expanded="true"] .hiraku-open-btn-line::before {
	width: 40px;
}
[aria-expanded="true"] .hiraku-open-btn-line::before {
	-ms-transform: translate(-2px,10px) rotate(45deg);
	transform: translate(-2px,10px) rotate(45deg);
}
[aria-expanded="true"] .hiraku-open-btn-line::after {
	-ms-transform: translate(-2px,-10px) rotate(-45deg);
	transform: translate(-2px,-10px) rotate(-45deg);
}

.js-hiraku-offcanvas-sidebar {
  padding: 0 30px;
}
.js-hiraku-offcanvas-sidebar h2 {
  padding-left: 5px;
}
.js-hiraku-offcanvas-sidebar ul,
.js-hiraku-offcanvas-sidebar li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.js-hiraku-offcanvas-sidebar li a {
  display: block;
  padding: 5px;
  text-decoration: none;
  text-transform: uppercase;
}
/* FOOTER
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/
#footer {
  background: #1B67A5;
  color: #fff;
  padding:0;
  margin-top: 100px;
}
#footer .container {
  padding-top: 90px;
  padding-bottom: 90px;
}
.home #footer {
  margin: 0;
}
#footer h3,
#footer h4 {
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 20px;
}
#footer h4 {
  font-weight: normal;
}
.footer-nav ul,
.footer-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 10px;
}
.footer-nav a {
  display: block;
  color: #fff;
  text-transform: uppercase;
}
.footer-logo {
  padding: 0 30px 30px 0;
  text-transform: uppercase;
}
.footer-logo .logo a {
    color: #fff;
}

#copyright {
  background: #E4574C;
  color: #fff;
  padding: 20px;
  text-align: center;
}

/* FRONT PAGE
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/

.home-section {
  padding: 50px 0;
}
.home-section h2 {
  color: #1B67A5;
  text-align: center;
  margin-bottom: 90px;
}
.home-section .section-content {
  padding: 0 0 50px 0;
}

#home-icons {
  background: #E4574C;
}

#home-about {
  background: #F3F3F3;
  text-align: center;
}
#home-about h2 {
  color: #3EB49D;
}
#home-about h3 {
  color: #3EB49D;
  font-size: 23px;
  text-transform: lowercase;
  text-align: center;
}

.stat {
  background: url('../images/green-splotch.png') center no-repeat;
  background-size: contain;
  color: #fff;
  height: 215px;
}
#home-about .stat h3 {
  color: #fff;
  font-size: 80px;
  width: 100%;
  text-align: center;
}

a.icon {
  color: #fff;
  font-size: 23px;
  font-weight: bold;
  display: block;
  flex: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
a.icon span {
  display: block;
  padding-bottom: 20px;
}
a.icon img {
  max-width: 160px;
}

#home-events h2 {
  color: #1B67A5;
}
.event-row:nth-of-type(even) {
  flex-flow: row-reverse;
}
.event-row h3 {
  color: #1B67A5;
}


/* ABOUT PAGE
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/
.members {
  margin-top: 50px;
}
.members h2 {
  text-align: left;
}
.members .row {
  margin-bottom: 100px;
}
.member-image {
  text-align: center;
  margin-bottom: 20px;
}

/* FAQ PAGE
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/


.ab-block-accordion .ab-accordion-title {
  background: none;
  display: block;
  font-size: 18px;
  font-weight: normal;
  list-style: none;
  padding-left: 40px;
  position: relative;
}
.ab-block-accordion details .ab-accordion-title::before {
  background: url('../images/icon-arrow.png') no-repeat center;
  content: " ";
  height: 23px;
  width: 23px;
  position: absolute;
  top: 12px;
  left: 0px;
  transition: transform .5s ease;
}
.ab-block-accordion details[open=""] .ab-accordion-title::before {
  transform: rotate(90deg);
}
.ab-block-accordion .ab-accordion-text {
	padding-left: 40px;
}
.ab-block-accordion .ab-accordion-text p {
  font-size: 16px !important;
}

.card {
  padding: 30px;
  margin-bottom: 30px;
  text-align: center;
}
.card-img {
  margin-bottom: 15px;
}
.card-img img {
  border-radius: 50%;
  overflow: hidden;
}
.card h3,
.card h4 {
  font-size: 18px;
  text-align: center;
}
.card h4 {
  font-size: 14px;
}

/* CONTACT PAGE
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/

.page-id-13 {
  background: url('../images/bg-contact.jpg') no-repeat center;
  background-size: cover;
}
.page-id-13 .custom-logo-link img {
  filter: brightness(0) invert(1);
}
.page-id-13 #main-nav li a {
  color: #fff;
}
.page-id-13 #content {
  min-height: 500px;
}
.page-id-13 .entry-header {
  display: none;
}
.contact-cols .wp-block-column {
  background: #D9A426;
  padding: 35px;
  padding-top: 100px;
}
.contact-cols .wp-block-column:not(:first-child) {
  background: #fff;
	margin-left: 0;
  padding-top: 150px;
}
div.wpforms-container-full .wpforms-form .wpforms-field {
  margin-bottom: 20px;
}
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-field.wpforms-field-select-style-classic select {
  border: none;
  background: #F3F3F3;
  padding: 15px 17px;
  height: auto;
}
.wpforms-submit-container {
  text-align: center;
}
div.wpforms-container-full .wpforms-form button[type="submit"] {
  font-size: 20px;
  font-weight: normal;
  background: transparent;
  border: 2px solid #E4574C;
  color: #E4574C;
  display: block;
  width: 100%;
  padding: 10px;
  text-transform: uppercase;
}
div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form button[type="submit"]:focus {
  border: 2px solid #E4574C;
  background: none;
}

/* TEAM PAGE
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/

.page-template-team-php .page-hero {
  margin: 0;
}
.team-member {
  width: 100%;
  padding-top: 133%;
  position: relative;
  overflow: hidden;
  margin-bottom: 100px;
}
.member-image {
  background-position: center;
  background-size: cover;
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 1;
  transition: opacity .5s ease;
}
.member-content {
  justify-content: center;
  align-items: center;
  color: #fff;
  display: flex;
  background-position: center;
  background-size: cover;
  text-align: center;
  position: absolute;
  height: 100%;
  width: 100%;
  top: -100%;
  right: 0;
  bottom: 0;
  left: 0;
  transition: top .5s ease, margin-top .5s ease, left .5s ease;
}
.member-content::after {
  background: rgba(0,0,0,.5);
  display: block;
  content: " ";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 5;
}
.member-content h3 {
  font-size: 20px;
}
.member-content > div {
  position: relative;
  z-index: 10;
}
.team-members {
  display: flex;
}
.team-item {
  width: 20%;
}
.team-member:hover .member-content {
  top: 0;
}
.team-item:nth-child(2n) .member-content {
  top: 0;
  left: -100%;
}
.team-item:nth-child(2n) .team-member:hover .member-content {
  top: 0;
  left: 0;
}
.team-item:nth-child(3n) .member-content {
  margin-top: 0;
  top: 100%;
  left: 0;
}
.team-item:nth-child(3n) .team-member:hover .member-content {
  top: 0;
  left: 0;
  margin-top: 0;
}

/* PARTNER PAGE
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////*/

.partner {
  background-position: center;
  background-size: cover;
  width: 100%;
  padding-top: 70%;
  position: relative;
  overflow: hidden;
  margin-bottom: 50px;
}
.partner-content {
  justify-content: center;
  align-items: center;
  color: #fff;
  display: flex;
  text-align: center;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.partner-content > div {
  position: relative;
  z-index: 10;
}
.partner-content::after {
  background: rgba(0,0,0,.5);
  display: block;
  content: " ";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 5;
}
