@charset "UTF-8";
/*
Theme Name: WWPH
Theme URI: https://github.com/WordPress/twentynineteen
Author: TDF
Author URI: 
Description: 
Version: 1.0
License: 
License URI: 
Text Domain: twentynineteen
Tags: 

*/

:root {
  --wwph-teal: #1cbcbe;
  --wwph-teal-lt: #e9f6f7;
  --wwph-orange: #f3712f;
  --wwph-orange-lt: #fff5f0;
  --wwph-lime: #c3c330;
  --wwph-lime-lt: #f1f0cd;
  --wwph-yellow: #f7c717;
  --wwph-yellow-lt: #fef5e1;
}

/* defaults */

body {
  font-size: 62.5%; 
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  line-height: 0px;
  margin: 0px;
  padding: 0px;
  background-color: #fff;
}

a img {
  border: 0px;
}

a {
  text-decoration: none;
}


/* header */

header {
  display: grid;
  grid-template-columns:  auto 1fr;
  grid-template-rows: auto;
  column-gap: 20px;
    grid-template-areas: 
    "logo slogan"
    "logo mainnav";
  padding: 25px 50px;
  align-items: center;
}

header h1 {
  width: 265px;
  position: relative;
  margin: 0;
  grid-area: logo;
}

header h1 a {
  width: 100%;
  background-size: contain;
  text-indent: -9000px;
  display: block;
}

header h3 {
  grid-area: slogan;
  max-width: 60%;
  text-wrap: balance;
  justify-self: right;
  margin: 0;
  font-size: 2.7em;
  line-height: 1.3;
  font-style: italic;
  color: var(--wwph-teal);
  font-weight: normal;
  text-align: right;
  font-family: "EB Garamond", serif;
}

ul#menu-mainnav {
  grid-area: mainnav;
  justify-self: right;
  padding: 5px 0 0 0;
  margin: 0;
  list-style: none;
  display: flex;
  position: relative;
}

ul#menu-mainnav li {
  padding: 0;
  margin: 0;
  font-weight: 600;
  color: #000;
  font-size: 1.48em;
  line-height: 1.2em;
  position: relative;
}

ul#menu-mainnav li a {
  display: block;
  padding: 15px 10px;
  background-color: #fff;
  transition: all .3s;
  color: #000;
  position: relative;
}

ul#menu-mainnav li:hover a {
  background-color: var(--wwph-orange-lt);
}

ul#menu-mainnav li a:hover {
  color: var(--wwph-orange);
}

ul#menu-mainnav > li > ul.sub-menu {
  position: absolute;
  left: 0;
  top: 80%;
  background-color: var(--wwph-orange-lt);
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  transform: all .3s;
  box-shadow: 1px 6px 11px 0px rgba(0,0,0,0.3);
  -webkit-box-shadow: 1px 6px 11px 0px rgba(0,0,0,0.3);
  -moz-box-shadow: 1px 6px 11px 0px rgba(0,0,0,0.3);
  z-index: 5000;
}

ul#menu-mainnav > li:hover > ul.sub-menu {
  display: block;
}

ul#menu-mainnav > li:hover > ul.sub-menu li {
  font-size: 85%;
  margin: 0;
  padding: 0;
  font-weight: 400;
}

ul#menu-mainnav > li:hover > ul.sub-menu li a {
  background-color: var(--wwph-orange-lt);
  padding-bottom: 0;
  padding-top: 0;
}

ul#menu-mainnav > li:hover > ul.sub-menu li a::after {
  content: '\00A0';
  border-bottom: 1px solid var(--wwph-orange);
  width: 100%;
  display: block;
  height: 1px;
  margin: 12px 0;
}

ul#menu-mainnav > li:hover > ul.sub-menu li:last-of-type a::after {
  content: none;
}

ul#menu-mainnav > li:hover > ul.sub-menu li:first-of-type a {
  padding-top: 15px;
}

ul#menu-mainnav > li:hover > ul.sub-menu li:last-of-type a {
  padding-bottom: 15px;
}

/* footer */

body::after {
  content: '\00A0';
  background: #F15F78;
  background: linear-gradient(90deg, rgba(241, 95, 120, 1) 0%, rgba(245, 196, 21, 1) 25%, rgba(63, 179, 149, 1) 50%, rgba(30, 188, 190, 1) 74%, rgba(162, 117, 179, 1) 100%);
  display: block;
  height: 14px;
}

footer {
  background-image: url(./images/footer_bg.jpg);
  background-size: cover;
  background-position: center center;
}

footer .contain {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 50px;
  display: grid;
  grid-template-columns:  .33fr .33fr .33fr;
  grid-template-rows: auto;
  column-gap: 40px;
  grid-template-areas: 
    "footerlogo footerconnect footersubscribe";
}

footer .contain > img {
  grid-area: footerlogo;
  max-width: 60%;
  height: auto;
}

footer .contain #connect {
  grid-area: footerconnect;
}

footer .contain #subscribe {
  grid-area: footersubscribe;
}

footer .contain #connect ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  margin: 0 0 15px 0;
  padding: 0;
}

footer .contain #connect ul li {
  width: 40px;
  height: 40px;
  text-align: center;
  margin: 0 8px;
  padding: 0;
}

footer .contain #connect ul li img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  width: auto;
  margin: 0 auto;
}

footer .widget h3 {
  font-size: 3em;
  line-height: 1.1;
  margin: 0 0 .75em 0;
  text-transform: uppercase;
  font-weight: 500;
}

footer .widget p {
  font-size: 1.48em;
  line-height: 1.3;
  margin: 0 0 .5em 0;
  font-weight: 400;
}

footer a {
  color: var(--wwph-orange);
}


/* front page sections */

.section .contain {
  max-width: 1200px;
  margin: 0 auto;
}

.section#partners {
  text-indent: -9000px;
}

.section#partners .contain {
  text-indent: 0;
  padding-top: 50px;
  padding-bottom: 55px;
 display: grid;
 grid-template-columns:  .45fr .55fr;
 grid-template-rows: auto;
 column-gap: 20px;
 row-gap: 30px;
   grid-template-areas: 
   "partnertitle partnertitlemore"
   "partnerpartners partnerpartners"; 
   
}

.section#partners .contain > h2 {
  grid-area: partnertitle;
  text-align: right;
  align-self: center;
  font-size: 6.2em;
  line-height: 1;
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
}

.section#partners .contain > h2 strong {
  display: block;
  font-weight: 700;
}

.section#partners .contain > p {
  grid-area: partnertitlemore;
  text-align: left;
  align-self: center;
  margin: 0;
  font-size: 2.3em;
  line-height: 1.2;
  max-width: 80%;
}

.section#partners .contain > ul {
  grid-area: partnerpartners;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.section#partners .contain > ul li {
  width: 16%;
  margin: 2%;
  text-align: center;
}

.section#partners .contain > ul li img {
  max-width: 100%;
  max-height: 100px;
}

.section#testimonials {
  background-image: url(./images/quotes_bg.jpg);
  background-position: center center;
  background-size: cover;
}

.section#testimonials .contain::before {
  content: '\201C';
  color: #fff;
  font-size: 30em;
  display: block;
  text-align: center;
  line-height: 1;
  font-style: italic;
  margin-bottom: -165px;
}

.section#testimonials p.quote {
  font-size: 3em;
  line-height: 1.3;
  margin: 0 auto;
  font-style: italic;
  color: var(--wwph-orange);
  text-align: center;
  max-width: 80%;
}

.section#testimonials p.author {
  font-size: 1.9em;
  font-weight: 700;
  line-height: 1.3;
  color: var(--wwph-orange);
  text-align: right;
  max-width: 80%;
}

.section#testimonials p.author::before {
  content: '\2013';
  margin-right: 5px;
}

.section#testimonials #quotecycle > div {
  text-align: center;
  padding-bottom: 45px;
}

.section#testimonials .next {
    position: absolute;
    right: 0px;
    top: 15%;
    z-index: 10000;
}

.section#testimonials .prev {
    position: absolute;
    left: 0px;
    top: 15%;
    z-index: 10000;
}

.section#testimonials .next::after {
    content: '\3009';
    color: #fff;
    font-size: 10em;
    line-height: 1;
}

.section#testimonials .prev::after {
    content: '\3008';
    color: #fff;
    font-size: 10em;
    line-height: 1;
}

.section#instagram .contain {
    padding-top: 50px;
    padding-bottom: 50px;
}

.section#instagram .contain h2 {
  text-align: center;
  color: #000;
  font-size: 7.8em;
  line-height: 1;
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
}

.section#instagram .contain h2 strong {
  font-weight: 700;
}

.section#instagram .contain > p {
  text-align: center;
  font-size: 2.4em;
  line-height: 1.3;
  margin: 15px 0;
  text-transform: uppercase;
  font-weight: 500;
}

.section#instagram .contain > p a {
  color: var(--wwph-orange);
  transition: all .3s;
}

.section#instagram .contain > p a:hover {
  color: var(--wwph-teal);
}

.section#instagram .contain span {
  color: var(--wwph-teal);
  padding: 0 10px;
}

.section#donate + .section#instagram::before {
  border-top: 5px solid var(--wwph-lime);
  display: block;
  content: '\00A0';
  max-width: 1200px;
  margin: 0 auto;
}

.section#donate .contain {
    padding-top: 60px;
    padding-bottom: 60px;
    display: grid;
    grid-template-columns:  .5fr .5fr;
    grid-template-rows: auto;
    column-gap: 50px;
    row-gap: 50px;
    grid-template-areas: 
    "donatetitle donatedesc"
    "donatebutton donatebutton"; 
}

.section#donate .contain h2 {
  grid-area: donatetitle;
  text-align: center;
  font-family: "EB Garamond", serif;
  font-style: italic;
  line-height: 1;
  margin: 0;
  font-size: 7.9em;
  color: var(--wwph-teal);
  font-weight: 400;
  text-wrap: balance;
  align-self: center;
}

.section#donate .contain > div {
  grid-area: donatedesc;
  text-align: left;
  align-self: center;
}

.section#donate .contain > div p {
  font-size: 1.6em;
  line-height: 1.6;
  margin: 0;
}

.section#donate .contain > p.button {
  grid-area: donatebutton;
  text-align: center;
}

.section#donate .contain > p.button a {
  display: inline-block;
  padding: 10px 30px;
  font-size: 2.3em;
  line-height: 1.1;
  margin: 0;
  color: #fff;
  background-color: var(--wwph-teal);
  text-transform: uppercase;
  letter-spacing: .25em;
  transition: all .3s;
}

.section#donate .contain > p.button a:hover {
  background-color: var(--wwph-orange);
}

.section#buying {
  background-color: var(--wwph-lime-lt);
  clip-path: polygon(0 8%, 100% 0%, 100% 92%, 0% 100%);
}

.section#buying .contain {
  padding-top: 80px;
  padding-bottom: 80px;
  background-image: url(./images/buy_bg.png);
  background-repeat: no-repeat;
  background-size: auto 120%;
  background-position:  15% center;
  display: grid;
  grid-template-columns:  .6fr .4fr;
  grid-template-rows: auto;
  column-gap: 50px;
  grid-template-areas: 
  "buytitle buydesc"; 
  align-items: center;
}

.section#buying .contain h2 {
  grid-area: buytitle;
  font-size: 6em;
  line-height: 1.1;
  margin: 0;
  text-transform: uppercase;
  font-weight: 500;
  text-align: left;
  text-wrap: balance;
  padding-right: 50px;
  border-right: 5px solid var(--wwph-lime);
}

.section#buying .contain h2 strong {
  font-weight: 700;
}

.section#buying .contain ul {
  grid-area: buydesc;
  list-style: none;
  padding: 0;
  margin: 0;
}

.section#buying .contain ul li {
  padding: 0;
  margin: 0 0 .6em 0;
  font-size: 1.68em;
  line-height: 1.3;
}

.section#buying .contain ul a {
  color: var(--wwph-orange);
  transition: all .3s;
}

.section#buying .contain ul a:hover {
  color: var(--wwph-teal);
}

.section#recent .contain {
  padding-top: 60px;
  padding-bottom: 60px;
}

.section#recent .contain h2 {
  text-align: center;
  color: #000;
  margin: 0;
  font-size: 3.6em;
  line-height: 1;
  letter-spacing: .25em;
  text-transform: uppercase;
}

.section#about {
  background-color: var(--wwph-teal-lt);
  clip-path: polygon(0 8%, 100% 0%, 100% 92%, 0% 100%);
}

.section#about .contain {
  padding-top: 80px;
  padding-bottom: 80px;
  display: grid;
  grid-template-columns:  .4fr .6fr;
  grid-template-rows: auto;
  column-gap: 50px;
  grid-template-areas: 
  "abouttitle aboutdesc"; 
  align-items: center;
}

.section#about .contain > img {
  grid-area: abouttitle;
  max-width: 85%;
  height: auto;
  margin: 0 auto;
}

.section#about .contain > div {
  grid-area: aboutdesc;
}

.section#about .contain > div p {
  font-size: 1.9em;
  line-height: 1.5;
  margin: 0;
  color: #000;
}

.section#about .contain > div p strong {
  color: var(--wwph-teal);
}

.section#journal .contain {
  padding-top: 60px;
  padding-bottom: 60px;
  display: grid;
  grid-template-columns:  .6fr .4fr;
  grid-template-rows: auto;
  column-gap: 50px;
  grid-template-areas: 
  "journaldesc journaltitle"; 
  align-items: center;
}

.section#journal .contain > img {
  grid-area: journaltitle;
  max-width: 85%;
  height: auto;
  margin: 0 auto;
}

.section#journal .contain > div {
  grid-area: journaldesc;
  text-align: left;
}

.section#journal .contain > div p {
  font-size: 2.2em;
  line-height: 1.4;
  margin: 0;
  color: #000;
}

.section#events {
  background-color: var(--wwph-yellow-lt); 
}

.section#events .contain {
  padding-top: 50px;
  padding-bottom: 60px;
}

.section#events .contain h2 {
  text-align: center;
  color: #000;
  margin: 0;
  font-size: 3.6em;
  line-height: 1;
  letter-spacing: .25em;
  text-transform: uppercase; 
}

.section#latest .contain {
  padding-top: 50px;
  padding-bottom: 60px;
}

.section#latest .contain h2 {
  text-align: left;
  color: #000;
  margin: 0;
  font-size: 3.6em;
  line-height: 1;
  text-transform: uppercase; 
}

.section#latest ul, .section#recent ul {
  list-style: none;
  padding: 30px 0;
  margin: 0;
  display: flex;
  justify-items: center;
}

.section#latest ul li, .section#recent ul li {
  width: 20%;
  padding: 15px;
  transition: all .3s;
}

.section#latest ul li:hover, .section#recent ul li:hover {
  background-color: #f2f2f2;
}

.section#latest .coverthumb, .section#recent .coverthumb {
  height: 0;
  padding-bottom: 150%;
  position: relative;
  margin-bottom: 20px;
}

.section#latest .coverthumb .container, .section#recent .coverthumb .container {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.section#latest .coverthumb .container img, .section#recent .coverthumb .container img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.24);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.24);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.24);
}

.section#latest h4, .section#recent h4 {
  color: var(--wwph-orange);
  line-height: 1.3;
  margin: 0 0 6px 0;
  font-size: 2em;
}

.section#latest h5, .section#recent h5 {
  color: #6b6c6f;
  line-height: 1.3;
  margin: 0 0 10px 0;
  font-size: 1.2em;
  font-weight: 400;
}

.section#latest p, .section#recent p {
  color: #000;
  line-height: 1.4;
  margin: 0 0 0px 0;
  font-size: 1.2em;
  font-weight: 400;
}

.section#latest p span, .section#recent#recent p span {
  color: var(--wwph-orange);
}

.section#latest h6, .section#recent h6 {
  text-align: center;
  color: var(--wwph-lime);
  font-size: 1.8em;
  line-height: 1;
  letter-spacing: .25em;
  margin: 10px 0 0 0;
  text-transform: uppercase;
  font-weight: 500;
}

.section#latest h6 a, .section#recent h6 a {
  color: var(--wwph-lime);
}

.section#featured {
  background-image: url(./images/featured_bg.jpg);
  background-size: cover;
  background-position: center center;
}

.section#featured .contain {
  padding: 50px;
}

.section#featured .contain .pub {
  display: grid !important;
  grid-template-columns:  .65fr .35fr;
  grid-template-rows: auto;
  column-gap: 50px;
  grid-template-areas: 
  "pubmeta pubcov"; 
  position: relative;
}

.section#featured .contain .pubmeta {
  grid-area: pubmeta;
  padding-left: 50px;
}

.section#featured .contain .pub > img {
  grid-area: pubcov;
  max-width: 100%;
  max-height: 140%;
  justify-self: center;
  position: absolute;
}

.section#featured .contain .pub a {
  color: var(--wwph-orange);
  transition: all .3s;
}

.section#featured .contain .pub a:hover {
  color: var(--wwph-teal);
}

.section#featured .contain .pubmeta > h4 {
  font-size: 1.9em;
  text-transform: uppercase;
  color: var(--wwph-orange);
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.section#featured .contain .pubmeta > h3 {
  font-size: 3.8em;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-transform: uppercase;
  margin: 0;
}

.section#featured .contain .pubmeta > h5 {
  font-size: 1.9em;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 .5em 0;
}

.section#featured .contain .pubmeta > h5 em {
  font-style: normal;
  padding-left: 15px;
  margin-left: 15px;
  border-left: 1px solid #000;
}

.section#featured .contain .pubmeta > h5 span::after {
  content: ', ';
}

.section#featured .contain .pubmeta > h5 span:last-of-type::after {
  content: none;
}

.section#featured .contain .pubmeta > h5 span + span:last-of-type::before {
  content: ' and ';
}

.section#featured .contain .pubmeta > h5 span:has(+ span:last-of-type)::after {
  content: none;
}

.section#featured .contain .pubmeta > p {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
}

.section#featured  .next {
    position: absolute;
    right: -50px;
    top: 35%;
    z-index: 10000;
    width: 2em;
}

.section#featured .prev {
    position: absolute;
    left: -125px;
    top: 35%;
    z-index: 10000;
    text-align: left;
    width: 2em;
}

.section#featured .next::after {
    content: '\3009';
    color: #fff;
    font-size: 10em;
    line-height: 1;
}

.section#featured .prev::after {
    content: '\3008';
    color: #fff;
    font-size: 10em;
    line-height: 1;
}