/*!
Theme Name: JRF
Theme URI:
Author: Johnson & Sekin
Author URI:
Description: Description
Version: 1.0.0
Tested up to:
Requires PHP:
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain:
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

*/

/****************************************************************************
  JRF by Johnson & Sekin
****************************************************************************/

/*============================================================================
RESETS
=============================================================================*/
@import url("reset.css");

/*============================================================================
DEBUG
=============================================================================*/
/* body * {
  color: hsla(000, 100%, 100%, 0.88) !important;
  background: hsla(210, 100%, 50%, 0.33) !important;
  outline: 0.25rem solid hsla(000, 100%, 100%, 0.5) !important;
} */
/* body * {
  outline: 0.25rem solid hsla(210, 100%, 50%, 0.23) !important;
} */

/*============================================================================
FONT IMPORT
=============================================================================*/
/**
 * @license
 * MyFonts Webfont Build ID 4741531, 2022-04-28T10:51:49-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: CeraPRO-Bold by TypeMates
 * URL: https://www.myfonts.com/fonts/typemates/cera/pro-bold/
 * Copyright: Copyright (c) 2015 by Jakob Runge, under exclusive license to TypeMates, Runge Thomsen GbR. All rights reserved.
 *
 * Webfont: CeraPro-Medium by TypeMates
 * URL: https://www.myfonts.com/fonts/typemates/cera/pro-medium/
 * Copyright: Copyright (c) 2015, 2018 by Jakob Runge, under exclusive license to TypeMates. All rights reserved.
 *
 * Webfont: CeraPro-Regular by TypeMates
 * URL: https://www.myfonts.com/fonts/typemates/cera/pro-regular/
 * Copyright: Copyright (c) 2015, 2018 by Jakob Runge, under exclusive license to TypeMates. All rights reserved.
 *
 *
 *
 * © 2022 MyFonts Inc
*/

/* @import must be at top of file, otherwise CSS will not work */
@import url("//hello.myfonts.net/count/48599b");

@font-face {
  font-family: "CeraPro-Regular";
  src: url("assets/webFonts/CeraProRegular/font.woff2") format("woff2"), url("assets/webFonts/CeraProRegular/font.woff") format("woff");
}
@font-face {
  font-family: "CeraPro-Medium";
  src: url("assets/webFonts/CeraProMedium/font.woff2") format("woff2"), url("assets/webFonts/CeraProMedium/font.woff") format("woff");
}
@font-face {
  font-family: "CeraPRO-Bold";
  src: url("assets/webFonts/CeraPROBold/font.woff2") format("woff2"), url("assets/webFontsts/CeraPROBold/font.woff") format("woff");
}

/*============================================================================
VARIABLES
most moved to theme.json
=============================================================================*/

:root {
  /*================ #Breakpoints ================*/
  --size-tablet: 600px;
  --size-desktop: 980px;

  --size-max: 1600px;

  --clr-light-neutral: #b6b5b6;

  font-size: 16px;
}

/*============================================================================
Global Styles
=============================================================================*/
/*================ Text Styles ================*/
nav * a,
a.button {
  text-decoration: none;
}

a:hover,
a:hover * {
  opacity: 0.8 !important;
}

body {
  font-family: "CeraPro-Regular", sans-serif;
  line-height: 1.6;
  color: var(--wp--preset--color--black);
  background-color: var(--wp--preset--color--white);
}

strong,
em {
  font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "CeraPRO-Bold", sans-serif;
  font-weight: 700;

  color: var(--wp--preset--color--primary);

  text-align: center;

  margin-bottom: 0.6em;
  line-height: 1.3;
}
h1 {
  font-size: var(--wp--preset--font-size--xxxl);
}
h2 {
  font-size: var(--wp--preset--font-size--xxl);
}
h3 {
  font-size: var(--wp--preset--font-size--xl);
}
h4 {
  font-size: var(--wp--preset--font-size--l);
}
h5 {
  font-size: var(--wp--preset--font-size--m);
}
h6 {
  font-size: var(--wp--preset--font-size--s);
}

p,
ul {
  font-size: var(--wp--preset--font-size--s);
  margin: 0;
}
p {
  line-height: 1.6;
  margin-bottom: 0.5em;
}
li {
  line-height: 1.2;
  margin-bottom: 0.2em;
}

p.strong {
  font-weight: 500;
}

img {
  width: 100%;
  height: auto;
}

img.alignleft,
figure.alignleft {
  float: left;
  width: unset;
  padding-right: 1rem;
}
img.alignright,
figure.alignright {
  float: right;
  width: unset;
  padding-left: 1rem;
}

em {
  font-style: italic !important;
}

/*================ form styling ================*/
input,
select,
textarea {
  margin-bottom: 1rem;
  margin-top: 0.7rem;

  width: 100%;
}
input {
  border-bottom: 0.13rem solid var(--clr-light-neutral);
  padding: 0.2rem 0;
}
select,
textarea {
  border: 0.09rem solid var(--clr-light-neutral);
  padding: 0.2rem;
  border-radius: 0;
}
span.subject {
  position: relative;
}
span.subject::after {
  content: "\25BC";
  color: #6c6b6c;
  position: absolute;
  right: 0.4rem;
  top: 0;
}

input[type="submit"] {
  width: unset;
  border: unset;
  margin: 0 auto;
}

/*================ header styling ================*/
#masthead {
  background-color: var(--wp--preset--color--primary);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  color: var(--wp--preset--color--white);
  padding: var(--wp--custom--padding-s) var(--wp--custom--padding-m);
  gap: 0;

  position: relative;
  /* overflow: hidden; */
}

#masthead .site-branding img {
  width: 14rem;
  max-width: 40vw;
}

/* see: https://codepen.io/alvarotrigo/pen/MWEJEWG */
.menu-button-container {
  display: flex;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 500;
}
.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  margin: 1em 0;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}
.menu-button::before {
  content: "";
  margin-top: -8px;
}
.menu-button::after {
  content: "";
  margin-top: 8px;
}
#menuToggle {
  display: none;
  z-index: 499;
}
#menuToggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(405deg);
}
#menuToggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
  margin: 0 1em;
}
#menuToggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}

#siteNav {
  position: absolute;
  top: 0;
  right: 0;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;

  z-index: 200;

  background-color: var(--wp--preset--color--primary);

  text-align: right;
}

#siteNav ul {
  display: flex;
  flex-direction: column;
  font-size: var(--wp--preset--font-size--xs);

  position: relative;
}
#siteNav * li {
  margin: 1em 0 0.5em 0;

  font-weight: bold;
}
nav a:hover {
  opacity: 0.8;
}

#siteNav .sub-menu {
  display: block;
  position: unset;

  padding: 0 0.5rem;

  z-index: 10;
}
#siteNav .sub-menu li {
  margin: 0;
  padding: 0.25rem 0;
}

#siteNav .donate-button .button {
  background-color: var(--wp--preset--color--accent);
  padding: var(--wp--custom--padding-s) var(--wp--custom--padding-m);
  border-radius: var(--wp--custom--border-radius);
  border-bottom-right-radius: 0;

  color: var(--wp--preset--color--primary);

  text-align: right;
  text-transform: uppercase;
  font-weight: bold;
}

/*================ footer styling ================*/
footer#colophon {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);

  --footer-padding: var(--wp--custom--padding-m);
  padding: var(--wp--custom--padding-l) var(--footer-padding);
}
footer#colophon .text-section {
  display: flex;
  flex-direction: column;
  color: var(--wp--preset--color--white);
}
footer h5 {
  color: var(--wp--preset--color--white);
}
footer .social-links {
  order: -1;
  padding-bottom: calc(2 * var(--footer-padding));
}
footer .social-links ul {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.social-links img {
  width: var(--wp--preset--font-size--m);
}

.site-info h6 {
  color: var(--wp--preset--color--white);
  text-align: left;
  padding-bottom: var(--wp--custom--padding-s);
}
.site-info p {
  font-size: var(--wp--preset--font-size--xs);
  padding-bottom: var(--wp--custom--padding-s);
}

/*================ General & Single Column Section styling ================*/

/*================ hero styling ================*/
.hero-section {
  background-color: var(--wp--preset--color--secondary-warm);
  background-image: url("./assets/imgs/hero.png");
  background-size: cover;
  background-position: center;

  padding: var(--wp--custom--padding-xl);
}
.page-title {
  color: var(--wp--preset--color--white);
  margin: 0;
  text-transform: unset;
}

/*================ subnav styling ================*/
.subnav {
  background-color: var(--wp--preset--color--quaternary);
  color: var(--wp--preset--color--primary);
  font-weight: bold;
}
.subnav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: var(--wp--preset--font-size--xs);
}
.subnav ul li {
  padding: 0 var(--wp--custom--padding-s);
  color: var(--wp--preset--color--primary);
  font-weight: normal;
  position: relative;
}
.subnav ul li + li::before {
  content: "/";
  position: absolute;
  left: 0;
  transform: translateX(-50%);
}
.subnav .current_page_item {
  font-weight: bold;
}

/*================ text section styling ================*/

.text-section {
  margin: 0 auto;
  max-width: var(--wp--custom--container-text);
  padding: var(--wp--custom--padding-s);
}
.bg-light,
.bg-Light {
  background-color: var(--wp--preset--color--secondary);
}
.bg-white,
.bg-White {
  background-color: var(--wp--preset--color--white);
}
.bg-dark,
.bg-Dark {
  background-color: var(--wp--preset--color--primary);
}
.bg-dark *,
.bg-Dark * {
  color: var(--wp--preset--color--white);
  /* font-family: "CeraPRO-Medium", sans-serif; */
}

.ctabutton {
  text-align: center;
  padding: var(--wp--custom--padding-s) 0;
  margin: var(--wp--custom--padding-s) 0;
}
.ctabutton a.button:hover {
  opacity: 0.8;
}
.ctabutton a.button,
input[type="submit"] {
  background-color: var(--wp--preset--color--accent);
  padding: var(--wp--custom--padding-s) var(--wp--custom--padding-m);
  border-radius: var(--wp--custom--border-radius);
  border-bottom-left-radius: 0;

  color: var(--wp--preset--color--primary);
  text-transform: uppercase;
  font-weight: bold;
}

.bg-dark .ctabutton a.button {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--primary);
}
.bg-light .ctabutton a.button {
  background-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--primary);
}

.entry-item li {
  list-style-type: disc;
  margin-bottom: 0.5em;
}
/* .entry-item a {
  text-decoration: underline;
} */

/*================ Flex Module styling ================*/

.video-module {
  display: flex;
  justify-content: center;
}

/*================ Flex Module styling ================*/
.flex-ctas {
  display: flex;
  flex-direction: column;
  gap: var(--wp--custom--padding-m);

  font-weight: bold;
}
.flex-ctas.center {
  align-items: center;
  justify-content: center;
}
.flex-ctas .ctabutton {
  margin-left: var(--wp--custom--padding-s);
}

/*================ Two Column Module styling ================*/
.two-col {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;

  gap: var(--wp--custom--padding-m);
}
.text-col {
  padding: var(--wp--custom--padding-s);
}
.two-col + .two-col {
  border-top: 2px solid lightgray;
}
.two-col > div {
  width: 100%;
}
.two-col .img-col {
  height: 100%;
}

.two-col .img-col img,
.two-col figure {
  height: 0;
  min-height: 100%;
}
.two-col img.full {
  object-fit: contain;
  width: auto;
}
.two-col img.cover {
  object-fit: cover;
  width: 100%;
}
.two-col img {
  height: 100%;
}

.text-col.left {
  order: -2;
}
.text-col.right {
  order: 2;
}

/*================ Pullquote Module styling ================*/

.callout-box {
  max-width: var(--wp--custom--container-text);
  padding: var(--wp--custom--padding-m) var(--wp--custom--padding-xl);
  margin: var(--wp--custom--padding-s);
  border-radius: var(--wp--custom--border-radius);
  border-bottom-left-radius: 0;

  font-weight: 600;
  position: relative;
}
.callout-box h4,
.callout-box .ctabutton {
  text-align: left;
}

.callout-box.bg-dark {
  background-color: var(--wp--preset--color--primary);
}
.callout-box.bg-light {
  background-color: var(--wp--preset--color--secondary);
}

/*============================================================================
Front Page Specific
=============================================================================*/

/*================ hero styling ================*/
.front-page.hero-section {
  background-color: grey;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /* aspect-ratio: 192/62; */
  padding: 0;
  position: relative;
}
/* see: https://css-tricks.com/linearly-scale-font-size-with-css-clamp-based-on-the-viewport/#for-those-who-dont-mind-that-edge-case */
.front-page.hero-section h2 {
  /* font-size: clamp(1rem, 0.5072rem + 2.4638vw, 3.125rem); */
  font-size: clamp(1rem, 0.3514rem + 3.2432vw, 4rem);
  /* font-size: calc(0.6vw - 0.2rem); */

  width: 100%;
  height: 100%;
  padding: clamp(1rem, 2.4vw + 0.2rem, 4rem);
  margin: 0;

  color: var(--wp--preset--color--white);
  text-align: right;

  letter-spacing: 0.02em;
  line-height: 1.4;
  text-transform: unset;

  background-color: #3e364b86;
}

/*================ intro section styling ================*/
.intro-section {
  display: flex;

  background-image: linear-gradient(to bottom, var(--wp--preset--color--tertiary), var(--wp--preset--color--quaternary));

  position: relative;
}
.intro-section > .text-section {
  max-width: 1200px;
  position: relative;
}
.intro-section-text {
  margin: var(--wp--custom--padding-m) auto;
  padding-bottom: 6.5rem;

  font-weight: 700;
}
.intro-section-img {
  position: absolute;
  height: auto;
  width: 8rem;
  right: 0;
  bottom: 0;

  filter: drop-shadow(8px -10px 1rem #00000049);
}
.welcome-section {
  background-color: var(--wp--preset--color--secondary);
}
.welcome-section-text {
  margin: 0 auto;
  padding: var(--wp--custom--padding-m);
  /* padding-bottom: 3.7rem; */

  border-radius: var(--wp--custom--border-radius);
  border-bottom-left-radius: 0;
  background-color: var(--wp--preset--color--white);
}
.welcome-section-text p {
  margin: 0;
}
.welcome-section-img {
  position: absolute;
  height: auto;
  width: 7rem;
  right: 0;
  bottom: 0;

  filter: drop-shadow(8px -10px 1rem #00000049);
}

/*================ Ritter Rules Section styling ================*/
.ritter-rules.two-col {
  grid-template-rows: 1fr;
}
.ritter-rules .img-col {
  display: none;
}
.ritter-rules .text-col {
  width: 100%;
}

/*================ Stories of TAD Section styling ================*/
.stories {
  background-color: var(--wp--preset--color--tertiary);

  --stories-top: var(--wp--custom--padding-m);
}
.stories .slide-content {
  padding: var(--wp--custom--padding-m);
  margin: auto;
  /* padding-bottom: var(--wp--custom--padding-xxl); */

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1.1fr;
  max-width: var(--wp--custom--container-text);
}
.stories .quote,
.stories .story-img {
  width: 90%;
}
.stories blockquote {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--primary);

  border-radius: var(--wp--custom--border-radius);
  border-bottom-left-radius: 0;

  padding: var(--stories-top);
  padding-left: calc(var(--stories-top) * 2.8);

  position: relative;
  z-index: 1;
}
.stories blockquote::before {
  position: absolute;
  left: var(--wp--custom--padding-s);
  top: calc(0rem - var(--stories-top));

  color: var(--wp--preset--color--white);
  font-weight: bold;
  font-family: sans-serif;
  font-size: calc(var(--stories-top) * 4.5);
  content: "\201C";

  z-index: -1;
  opacity: 0.8;
}
.stories .quote {
  font-weight: bold;
  font-size: calc(1rem + calc(var(--stories-top) * 0.2));
  line-height: 1.4;
}
.stories .quote-author {
  padding: 0.4em 0;
  font-weight: bold;
  font-size: calc(0.9rem + calc(var(--stories-top) * 0.02));

  text-transform: uppercase;
  line-height: 1.2;
}
.stories .quote-author::before {
  content: "—";
}

.stories .story-img {
  position: relative;

  z-index: 1;
}
.stories img {
  position: absolute;
  object-fit: cover;
  height: 100%;

  right: unset;
  left: 10%;
  top: -1rem;
}

/* slick styling */
.slick-track {
  display: flex;
  align-items: center;
  justify-content: center;
}

.stories .slick-dotted.slick-slider {
  margin-bottom: 5rem;
}

.stories .slick-dots {
  position: absolute;
  bottom: -4rem;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.stories .slick-dots li {
  position: relative;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin: 0 0.3rem;
  padding: 0;
  cursor: pointer;
}

.stories .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 2rem;
  height: 2rem;
  padding: 0.3rem;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.stories .slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: var(--wp--preset--color--white);
}

.stories .slick-dots li button:before {
  font-size: 0.5rem;
  line-height: 1.1rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.1rem;
  height: 1.1rem;
  content: "\2B24";
  text-align: center;
  opacity: 0.25;
  color: var(--wp--preset--color--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* stories share section */

.stories-share {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}
.stories-share .text-section {
  display: flex;
  flex-direction: column;
  text-align: center;

  gap: var(--wp--custom--padding-m);
  padding: var(--wp--custom--padding-s);
}
.stories-share p {
  font-weight: bold;
}
.stories-share .ctabutton {
  white-space: nowrap;
}

/*================ Become an #AortaSupporta styling ================*/
.aortasupporta p {
  text-align: center;
}

/*================ Become an #AortaSupporta styling ================*/
.john_quote {
  padding: var(--wp--custom--padding-l);
}
.john_quote p {
  font-weight: bold;
  text-align: center;
  font-size: var(--wp--preset--font-size--s);
  text-transform: uppercase;

  color: var(--wp--preset--color--primary);
  margin: auto;
}
.john_quote p quote {
  text-transform: none;
  font-size: var(--wp--preset--font-size--l);
  max-width: 40ch;
  line-height: 1.4;
  display: inline-block;
  margin-bottom: 0.2em;
}

/*============================================================================
Your Aortic Health Specific
=============================================================================*/

/*================ what is tad? styling ================*/
.what-is-tad .illustration {
  margin: auto;
}
.what-is-tad .illustration img {
  object-fit: contain;
}
.two-col.what-is-tad {
  grid-template-columns: 1fr;
  grid-template-rows: 10rem auto;
}

/*================ ritter rules call out ================*/
.ritter-rules-callout,
.ritter-rules-callout h3,
.ritter-rules-callout p {
  color: var(--wp--preset--color--white);
  text-align: left;
}
.ritter-rules-callout {
  --ritter-img-width: calc(var(--wp--custom--padding-xs) + 18vw);
  position: relative;
  background-image: linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
  border-top-right-radius: 0;

  padding: calc(var(--wp--custom--padding-xs) + 2vw);
}
.ritter-rules-callout .ctabutton .button {
  padding: var(--wp--custom--padding-s);
}
.ritter-rules-callout .img-col img {
  position: absolute;
  height: auto;
  width: var(--ritter-img-width);
  right: 0;
  bottom: 0;
  border-bottom-right-radius: var(--wp--custom--border-radius);
}

/*================ whats-your-journey ================*/
.whats-your-journey-title {
  text-align: left;
  font-size: var(--wp--preset--font-size--l);
}
.whats-your-journey-links {
  line-height: 1.3;
  font-family: "CeraPRO-Medium", sans-serif;
}
.whats-your-journey-links li {
  margin-bottom: 1.2em;
}
.whats-your-journey-links a {
  color: var(--wp--preset--color--primary);
  cursor: pointer;
  font-weight: 500;
}
.whats-your-journey-links a::after {
  content: "   \203A";
}
.whats-your-journey-links a:hover {
  opacity: 0.9;
}

/*================ now what ================*/
.now-what-section {
  border-top: 2px solid lightgray;

  display: grid;
  grid-template-rows: auto 1fr 1fr 1fr;
  grid-template-columns: auto;
  gap: var(--wp--custom--padding-s);
}
.now-what-title {
  font-size: var(--wp--preset--font-size--l);
}
.now-what-item {
  padding: 0 1em;
}
.now-what-item img {
  height: 80%;
  object-fit: cover;
}
.now-what-item p {
  margin: 0.5em 0;
  text-align: center;
}
.now-what-item a {
  font-family: "CeraPRO-Medium", sans-serif;
  font-weight: 500;
}
.now-what-item a::after {
  content: "   \203A";
}

/*================ aneurysm vs dissection ================*/
.aneurysm-dissection .two-col {
  margin-bottom: var(--wp--custom--padding-m);
}
.aneurysm-dissection .two-col .callout-box {
  margin: auto;
  height: 100%;
  padding: var(--wp--custom--padding-s);
}

.aneurysm-dissection .callout-box:last-of-type {
  border-bottom-left-radius: var(--wp--custom--border-radius);
  border-bottom-right-radius: 0;
}

.aneurysm-dissection h6 {
  color: var(--wp--preset--color--black);
  text-align: left;
}
.aneurysm-dissection li {
  font-weight: normal;
  margin-bottom: 0.5em;
}
.aneurysm-dissection hr {
  margin: var(--wp--custom--padding-m) 0;
}

/*============================================================================
Ritter Rules Specific
=============================================================================*/
.rules .rule h3 {
  text-align: left;
}
.rule {
  border-bottom: 0.12rem solid var(--clr-light-neutral);
  padding-bottom: var(--wp--custom--padding-m);
  margin-bottom: var(--wp--custom--padding-m);
}
.rule:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

/*============================================================================
About Page Specific
=============================================================================*/
/*================ three links ================*/
.three-links {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 1fr;
  gap: var(--wp--custom--padding-m);
  padding: var(--wp--custom--padding-m) 0;
}

.link img {
  height: clamp(10rem, 33vw, 13rem);
  width: 100%;
  object-fit: cover;
}

/*================ timeline styling ================*/
.timeline-list {
  --timeline-gap: var(--wp--custom--padding-s);
  display: grid;

  grid-template-columns: 1fr;

  gap: var(--timeline-gap);
  max-width: 600px;
  margin: auto;
}

.timeline-item {
  margin-bottom: calc(2 * var(--timeline-gap));
}

.timeline-list .timeline-item img {
  max-height: clamp(10rem, 30vw, 16rem);
  object-fit: cover;
}

.timeline-item-date {
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--primary);
  font-size: 1.2rem;
  text-align: left;
  line-height: 1;
  padding: 0.4em 1em;
  margin: 0.4em 0;
}
.timeline-item-description {
  margin: 0.7em 0;
}

/*================ contact styling ================*/
.contact-intro {
  text-align: center;
  font-size: 1.2em;
  padding: 2rem 0;
}

#wpcf7-f448-p251-o1 {
  margin: 2rem 0;
}
#wpcf7-f448-p251-o1 form {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--custom--padding-m);
}
#wpcf7-f448-p251-o1 p {
  /* width: 100%; */
  grid-template-columns: unset;
}
#wpcf7-f448-p251-o1 p:last-of-type {
  text-align: center;
}
#wpcf7-f448-p251-o1 label {
  font-weight: 500;
}

/*============================================================================
Calendar styles
=============================================================================*/

#list header {
  text-align: center;
  border-top: 2px solid var(--clr-light-neutral);
  border-bottom: 2px solid var(--clr-light-neutral);

  padding: var(--wp--custom--padding-s) 0;

  position: relative;
}
#list header .calendar-title {
  font-size: var(--wp--preset--font-size--xl);
}

#list header :is(.prev, .next) {
  position: absolute;
  top: var(--wp--custom--padding-s);

  display: block;
  cursor: pointer;
  text-decoration: none;
  color: transparent;

  display: block;
  width: 40px;
  height: 50px;
  flex-shrink: 0;
}
#list header .prev {
  left: 0;
}

#list header .next {
  right: 0;
}

header :is(.prev, .next) span {
  height: 4px;
  width: 79%;
  border-radius: var(--wp--custom--border-radius);
  background-color: var(--wp--preset--color--primary);
  display: block;
  position: absolute;
}

header :is(.prev, .next) span:first-of-type {
  top: 0;
  right: 0;
  transform-origin: right;
  transform: rotate(-50deg);
}

header :is(.prev, .next) span:last-of-type {
  bottom: 0;
  right: 0;
  transform-origin: right;
  transform: rotate(50deg);
}

header a:last-of-type span:first-of-type {
  top: 0;
  right: 0;
  transform-origin: left;
  transform: rotate(50deg);
}

header a:last-of-type span:last-of-type {
  bottom: 0;
  right: 0;
  transform-origin: left;
  transform: rotate(-50deg);
}

.event-card {
  padding: var(--wp--custom--padding-m) 0;

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;

  gap: var(--wp--custom--padding-m);
}
:is(.event-card, .event-info) > * {
  margin: var(--wp--custom--padding-s) 0;
}

.event-card :is(.location, .date) {
  text-transform: uppercase;
  font-weight: 700;
}

.event-img img {
  object-fit: contain;
  object-position: top;
}

.event-date,
.event-location,
.event-link {
  font-size: 0.85em;
}

/*============================================================================
Aorta academy
=============================================================================*/
.aorta-academy-header hr {
  margin: 0 auto;
  max-width: calc(0.95 * var(--wp--custom--container-text));
  padding: 0;

  border: 0;
  border-bottom: solid 0.13rem var(--clr-light-neutral);
}
.aorta-academy .hero-section,
.aorta-academy-header .hero-section {
  background: var(--wp--preset--color--primary);

  padding: 0;
}

.aorta-academy-header .hero-section h2 img {
  height: 14rem;
  max-width: 60vw;
  padding: 0;
}
.aorta-academy-subtitle,
.search-subtitle {
  font-weight: bold;
  color: var(--wp--preset--color--primary);
  font-size: var(--wp--preset--font-size--m);
  font-family: "CeraPRO-Bold", sans-serif;
  text-align: center;
}
.aorta-academy-description,
.search-description {
  font-weight: normal;
  color: var(--wp--preset--color--black);
  font-size: var(--wp--preset--font-size--s);
  font-family: "CeraPRO-Regular", sans-serif;
  text-align: center;
}

.aorta-academy-archives,
.search-results-posts {
  margin: 0 auto;
  max-width: var(--wp--custom--container-text);
  padding: var(--wp--custom--padding-m) var(--wp--custom--padding-s);

  display: grid;

  gap: 2rem;
}
@media screen and (min-width: 500px) {
  .aorta-academy-archives,
  .search-results-posts {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 800px) {
  .aorta-academy-archives,
  .search-results-posts {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.aorta-academy-archive-intro-media {
  padding-block: var(--wp--custom--padding-l);
  margin-block: var(--wp--custom--padding-l);
}
.aorta-academy-archives .aorta-academy-article .photo-module,
.search-results-posts .entry-item .photo-module {
  width: 100%;
}
.aorta-academy-archives .aorta-academy-article,
.search-results-posts .entry-item {
  display: block;
  /* flex-wrap: wrap; */
  /* gap: 1rem; */
}
.aorta-academy-archives .aorta-academy-article .photo-module figure img,
.search-results-posts .photo-module figure img {
  object-fit: cover;
  object-position: top;
  aspect-ratio: 1.5 / 1;
  margin-bottom: 1rem;
}

.resource-title-download {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-block: 1rem;
}
.resource-title-download h2 {
  text-align: left;
  font-size: var(--wp--preset--font-size--l);
}
.resource-title-download > * {
  margin: 0;
}
h2.entry-title {
  font-size: var(--wp--preset--font-size--m);
  text-align: center;
}
h2.entry-title a {
  text-decoration: none;
}

/*============================================================================
Search
=============================================================================*/
#searchform {
  margin-block: 1rem;
}
#searchform .searchcontainer {
  display: flex;
  width: 100%;
  gap: 0;
  margin-block: 1rem;
}
#searchfield,
#searchsubmit {
  outline: 1px solid var(--clr-light-neutral);

  border: 0;
  border-radius: 0;

  line-height: 1;

  padding: 1rem 0.75rem;
  margin: 0;
}
#searchsubmit {
  background: none;
  color: transparent;

  color: var(--wp--preset--color--primary);

  padding-block: 0;
  width: 3.2rem;
  position: relative;

  transition: font-size 0.2s ease;
}
#searchsubmit:hover,
#searchsubmit:active,
#searchsubmit:focus {
  font-size: 1.4em;
}

/* CATEGORY FILTERS */

#searchform .category-dropdowns {
  display: flex;
  gap: 1rem;
  padding-block: 1rem;
}
#searchform .cat-item {
  width: 100%;
  position: relative;

  outline: 1px solid var(--clr-light-neutral);
  padding: 0.5rem;
  margin: 0;

  display: flex;
  justify-content: space-between;
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--white);
}
#searchform .category-dropdowns > .cat-item::after {
  color: var(--wp--preset--color--secondary);
  content: "\25C0";
  transition: transform 0.2s ease-out;
}
#searchform .cat-parent:hover.cat-item::after {
  transform: rotate(-90deg);
}

#searchform .cat-item a {
  text-decoration: none;
}
#searchform .cat-item ul.children {
  display: none;
  width: 100%;
  z-index: 10;

  position: absolute;
  top: 100%;
  left: 0;
}
#searchform .cat-item:hover ul.children {
  display: block;
}

#searchform .cat-child label {
  order: -1;
}

#searchform .cat-child input {
  width: unset;
  margin: 0;

  outline: 0;
  border: 0.13rem solid var(--clr-light-neutral);
}

/*============================================================================
Media Query for larger sizes
=============================================================================*/

@media screen and (min-width: 400px) {
  /*== front page styling ==*/
  /* .front-page.hero-section {
    aspect-ratio: 192/62;
  } */

  .text-section {
    padding: var(--wp--custom--padding-l) var(--wp--custom--padding-m);
  }
}

@media screen and (min-width: 600px) {
  :root {
    --padding-basic: 2.2rem;
    font-size: 18px;
  }

  .ctabutton,
  .button {
    font-size: var(--wp--preset--font-size--s);
  }

  /*================ form styling ================*/
  #wpcf7-f448-p251-o1 form {
    grid-template-columns: 1fr 1fr;
  }
  #wpcf7-f448-p251-o1 p:nth-of-type(5),
  #wpcf7-f448-p251-o1 p:nth-of-type(6) {
    grid-column: 1/3;
  }

  /*================ footer styling ================*/
  footer#colophon {
    padding: var(--wp--custom--padding-xl) var(--footer-padding);
  }
  footer#colophon .text-section {
    flex-direction: row;
    padding: var(--footer-padding);
    gap: calc(2 * var(--footer-padding));
  }

  footer#colophon .newsletter-signup {
    flex-direction: column;
    gap: var(--footer-padding);
    border-bottom: 2px solid lightgray;
    margin-bottom: var(--wp--custom--padding-m);
  }
  footer#colophon .social-links {
    order: unset;
    width: 50%;
  }

  /*================ multi-cta section styling ================*/
  .flex-ctas {
    flex-direction: row;
  }
  .flex-ctas .two-col {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(auto-fit, minmax(200px, 1fr));
  }

  .callout-box {
    margin: var(--wp--custom--padding-m) auto;
  }

  /*================ Two Column Module styling ================*/
  .two-col {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;

    gap: var(--wp--custom--padding-m);
  }

  /*== intro section styling ==*/
  /* todo re do this to be more nice on mobile... floats? */
  .intro-section-text {
    padding: var(--wp--custom--padding-m);
    padding-right: 9rem;
  }
  .intro-section-img {
    height: 13rem;
    width: auto;
  }

  .welcome-section-text {
    padding-bottom: unset;
    padding: var(--wp--custom--padding-m);
    /* padding-right: 10.5rem; */
  }
  .welcome-section-img {
    height: auto;
    width: max(10.5rem, 21%);
  }

  /*== front page styling ==*/
  .ritter-rules.two-col {
    grid-template-columns: 10rem 1fr;
  }
  .ritter-rules * {
    text-align: left;
  }
  .ritter-rules .img-col {
    display: unset;
  }
  /*== Your Aortic Health Specific ==*/
  .two-col.what-is-tad {
    grid-template-columns: min(33%, 14rem) 1fr;
    grid-template-rows: auto;
  }
  .now-what-section {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .now-what-title {
    grid-column: 1/4;
  }

  .ritter-rules-callout {
    --ritter-img-width: calc(40% - var(--wp--custom--padding-m) + 1vw);
    padding: calc(var(--wp--custom--padding-xs) + 4vw);
    padding: var(--wp--custom--padding-m);
  }
  .ritter-rules-callout .text-col {
    padding-right: calc(var(--ritter-img-width) + var(--wp--custom--padding-xs));
  }

  /*== about page styling ==*/
  .three-links {
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-rows: 1fr;
  }

  /*== timeline styling ==*/
  .timeline-list {
    position: relative;

    /* display: flex;
    flex-wrap: wrap;
    justify-content: space-between; */
    /* --timeline-gap: var(--wp--custom--padding-xl); */

    /* columns: 2 auto; */
  }

  /*  */

  /* .timeline-list .timeline-item {
    position: relative;
  }
  .timeline-list .timeline-item::after {
    position: absolute;

    right: -5.5rem;
    top: 50%;

    content: "";
    width: 2rem;
    height: 2rem;
    border-radius: 50%;

    background-color: var(--wp--preset--color--secondary);
  } */
  .timeline-item {
    /* width: 40%; */
    break-inside: avoid;
  }
  /* .timeline-list::before,
  .timeline-list::after {
    content: "";
    height: 100%;
    width: 0.2rem;
    background-color: red;
    position: absolute;
    top: 0;
  }
  .timeline-list::after {
    right: 47%;
  }
  .timeline-list::before {
    left: 47%;
  } */

  /*  */

  /*  */

  /*  */

  /*== events styling ==*/
  .event-card {
    grid-template-columns: minmax(220px, 1fr) 2fr;
    grid-template-rows: 1fr;
    gap: var(--wp--custom--padding-xl);

    text-align: left;
  }
  .event-title {
    text-align: left;
  }

  /*================ aneurysm vs dissection ================*/
  .aneurysm-dissection .two-col .callout-box {
    padding: var(--wp--custom--padding-m);
  }
}

@media screen and (min-width: 760px) {
  /*== front page styling ==*/
  .front-page.hero-section {
    aspect-ratio: 192/62;
  }
  .front-page.hero-section h2 {
    font-size: calc(-0.3269rem + 4.3269vw);

    right: var(--wp--custom--padding-m);

    width: 70%;
    height: unset;

    background-color: transparent;

    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: var(--wp--custom--padding-s);
  }

  .stories {
    --stories-top: var(--wp--custom--padding-l);
  }

  .stories .slide-content {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }
  .stories blockquote,
  .stories .story-img {
    width: 100%;
    z-index: 100;
  }
  .stories .story-img img {
    left: unset;
    right: var(--wp--custom--padding-m);
    top: var(--wp--custom--padding-m);
  }

  .slide:nth-of-type(even) blockquote {
    grid-column: 2/3;
    border-bottom-left-radius: var(--wp--custom--border-radius);
    border-bottom-right-radius: 0;
  }
  .slide:nth-of-type(even) .story-img {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .slide:nth-of-type(even) .story-img img {
    right: unset;
    left: var(--wp--custom--padding-m);
  }

  .stories-share .text-section {
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;

    text-align: left;
  }
}

@media screen and (min-width: 1000px) {
  .intro-section-img {
    height: 75%;
  }
  .intro-section-text {
    padding-right: max(calc(100vw - 1200px - var(--wp--custom--padding-m)), 15.5rem);
  }
}

@media screen and (min-width: 1080px) {
  :root {
    font-size: 20px;
  }

  .ctabutton,
  .button {
    font-size: var(--wp--preset--font-size--xs);
  }

  /*================ header styling ================*/
  #masthead {
    flex-direction: row;
    padding: var(--wp--custom--padding-m);
    overflow: visible;
  }

  #masthead .site-branding img {
    width: 14rem;
    max-width: 40vw;
  }

  .menu-button-container {
    display: none;
  }
  #menuToggle {
    display: none;
  }

  #siteNav {
    position: unset;

    flex-direction: row;

    width: 100%;
    height: unset;
  }

  #siteNav .menu-main-menu-container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  #siteNav #header-menu {
    display: flex;
    flex-direction: row;
  }
  #siteNav * li {
    margin: 0 0.5em;
  }

  #siteNav .sub-menu {
    display: none;

    position: absolute;

    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--primary);

    text-align: center;

    padding: 0 0.5rem;

    z-index: 10;
  }

  #siteNav ul li:hover .sub-menu {
    display: block;

    transition: all 2s ease-out;
  }

  #masthead .donate-button .button {
    background-color: var(--wp--preset--color--accent);
    padding: var(--wp--custom--padding-s) var(--wp--custom--padding-m);
    border-radius: var(--wp--custom--border-radius);
    border-bottom-left-radius: 0;

    color: var(--wp--preset--color--primary);
    text-transform: uppercase;
    font-weight: bold;
  }
  /*== front page styling ==*/

  .front-page.hero-section h2 {
    font-size: clamp(1.6rem, 0.0371rem + 3.2902vw, 3rem);
    width: 60%;
    right: var(--wp--custom--padding-xl);
  }
}

@media screen and (max-width: 1080px) {
  #menuToggle ~ #siteNav * {
    opacity: 0;

    height: 0;
    /* width: 0; */

    z-index: -100;
  }
  #menuToggle:checked ~ #siteNav * {
    opacity: 1;

    height: unset;
    /* width: unset; */

    z-index: 100;
  }
  #menuToggle ~ #siteNav {
    opacity: 0;

    height: 0;
    /* width: 0; */
    margin: 0;
    padding: 0;
    margin: 0;

    z-index: -300;
  }
  #menuToggle:checked ~ #siteNav {
    opacity: 1;

    height: 100vh;
    width: 50vw;
    padding: var(--wp--custom--padding-l) var(--wp--custom--padding-m);
    margin: auto;

    z-index: 300;
  }
  #menuToggle ~ #siteNav,
  #menuToggle:checked ~ #siteNav {
    transition: width 400ms cubic-bezier(0.23, 1, 0.32, 1), opacity 500ms cubic-bezier(0.23, 1, 0.32, 1);
  }
}
/* .image-copyright-concern {
  box-shadow: inset 0 0 0 2000px rgba(255, 0, 150, 0.2);
} */

@media screen and (min-width: 1680px) {
  .intro-section-img {
    height: calc(75% + 1vw);
  }
  .intro-section-text {
    padding-right: 0;
  }
}

@media print {
  body {
    background: white;
    font-size: 10pt;
    margin: 0;
  }
  p,
  ul,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .page-title {
    color: #000;
  }
  #masthead,
  #colophon {
    display: none;
  }
  #mainContent {
    margin: unset;
    float: none;
    width: auto;
  }
  .hero-section,
  .subnav {
    background-color: #fff;
    background-image: none;
    color: #000;
  }

  section {
    padding: 0;
    margin: 0;
  }

  #mainContent * a,
  .ctabutton a.button,
  .subnav a {
    font-weight: bold;
    color: darkgray;
    text-decoration: underline;
    background-color: #fff;
    padding: 0;
    margin: 0;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
  }
  blockquote,
  table,
  pre {
    page-break-inside: avoid;
  }
  ul,
  ol,
  dl {
    page-break-before: avoid;
  }
  /* img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  img.right {
    padding: 4px;
    margin: 0 0 2px 7px;
    display: inline;
  }
  img.left {
    padding: 4px;
    margin: 0 7px 2px 0;
    display: inline;
  }
  .right {
    float: right;
  }
  .left {
    float: left;
  } */
  img {
    page-break-inside: avoid;
    page-break-after: avoid;
  }
}
