@charset "UTF-8";
/* ========================================================================== */
/* REM HELPER                                                                 */
/* Encodes the effective `html` font-size so converted px->rem values render  */
/* pixel-identically at default zoom but scale gracefully under Firefox       */
/* "Zoom Text Only". Serenity has no html font-size override -> 1rem = 16px.  */
/* See .cursor/plans/firefox_zoom_text_only_foundation_and_serenity_home.plan.md */
/* ========================================================================== */
[data-aos][data-aos][data-aos-duration="50"], body[data-aos-duration="50"] [data-aos] {
  -webkit-transition-duration: 50ms;
  -o-transition-duration: 50ms;
  transition-duration: 50ms; }

[data-aos][data-aos][data-aos-delay="50"], body[data-aos-delay="50"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="50"].aos-animate, body[data-aos-delay="50"] [data-aos].aos-animate {
  -webkit-transition-delay: 50ms;
  -o-transition-delay: 50ms;
  transition-delay: 50ms; }

[data-aos][data-aos][data-aos-duration="100"], body[data-aos-duration="100"] [data-aos] {
  -webkit-transition-duration: 0.1s;
  -o-transition-duration: 0.1s;
  transition-duration: 0.1s; }

[data-aos][data-aos][data-aos-delay="100"], body[data-aos-delay="100"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="100"].aos-animate, body[data-aos-delay="100"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  transition-delay: 0.1s; }

[data-aos][data-aos][data-aos-duration="150"], body[data-aos-duration="150"] [data-aos] {
  -webkit-transition-duration: 0.15s;
  -o-transition-duration: 0.15s;
  transition-duration: 0.15s; }

[data-aos][data-aos][data-aos-delay="150"], body[data-aos-delay="150"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="150"].aos-animate, body[data-aos-delay="150"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s; }

[data-aos][data-aos][data-aos-duration="200"], body[data-aos-duration="200"] [data-aos] {
  -webkit-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s; }

[data-aos][data-aos][data-aos-delay="200"], body[data-aos-delay="200"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="200"].aos-animate, body[data-aos-delay="200"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  transition-delay: 0.2s; }

[data-aos][data-aos][data-aos-duration="250"], body[data-aos-duration="250"] [data-aos] {
  -webkit-transition-duration: 0.25s;
  -o-transition-duration: 0.25s;
  transition-duration: 0.25s; }

[data-aos][data-aos][data-aos-delay="250"], body[data-aos-delay="250"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="250"].aos-animate, body[data-aos-delay="250"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.25s;
  -o-transition-delay: 0.25s;
  transition-delay: 0.25s; }

[data-aos][data-aos][data-aos-duration="300"], body[data-aos-duration="300"] [data-aos] {
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s; }

[data-aos][data-aos][data-aos-delay="300"], body[data-aos-delay="300"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="300"].aos-animate, body[data-aos-delay="300"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s; }

[data-aos][data-aos][data-aos-duration="350"], body[data-aos-duration="350"] [data-aos] {
  -webkit-transition-duration: 0.35s;
  -o-transition-duration: 0.35s;
  transition-duration: 0.35s; }

[data-aos][data-aos][data-aos-delay="350"], body[data-aos-delay="350"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="350"].aos-animate, body[data-aos-delay="350"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.35s;
  -o-transition-delay: 0.35s;
  transition-delay: 0.35s; }

[data-aos][data-aos][data-aos-duration="400"], body[data-aos-duration="400"] [data-aos] {
  -webkit-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  transition-duration: 0.4s; }

[data-aos][data-aos][data-aos-delay="400"], body[data-aos-delay="400"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="400"].aos-animate, body[data-aos-delay="400"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s; }

[data-aos][data-aos][data-aos-duration="450"], body[data-aos-duration="450"] [data-aos] {
  -webkit-transition-duration: 0.45s;
  -o-transition-duration: 0.45s;
  transition-duration: 0.45s; }

[data-aos][data-aos][data-aos-delay="450"], body[data-aos-delay="450"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="450"].aos-animate, body[data-aos-delay="450"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.45s;
  -o-transition-delay: 0.45s;
  transition-delay: 0.45s; }

[data-aos][data-aos][data-aos-duration="500"], body[data-aos-duration="500"] [data-aos] {
  -webkit-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s; }

[data-aos][data-aos][data-aos-delay="500"], body[data-aos-delay="500"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="500"].aos-animate, body[data-aos-delay="500"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  transition-delay: 0.5s; }

[data-aos][data-aos][data-aos-duration="550"], body[data-aos-duration="550"] [data-aos] {
  -webkit-transition-duration: 0.55s;
  -o-transition-duration: 0.55s;
  transition-duration: 0.55s; }

[data-aos][data-aos][data-aos-delay="550"], body[data-aos-delay="550"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="550"].aos-animate, body[data-aos-delay="550"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.55s;
  -o-transition-delay: 0.55s;
  transition-delay: 0.55s; }

[data-aos][data-aos][data-aos-duration="600"], body[data-aos-duration="600"] [data-aos] {
  -webkit-transition-duration: 0.6s;
  -o-transition-duration: 0.6s;
  transition-duration: 0.6s; }

[data-aos][data-aos][data-aos-delay="600"], body[data-aos-delay="600"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="600"].aos-animate, body[data-aos-delay="600"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s; }

[data-aos][data-aos][data-aos-duration="650"], body[data-aos-duration="650"] [data-aos] {
  -webkit-transition-duration: 0.65s;
  -o-transition-duration: 0.65s;
  transition-duration: 0.65s; }

[data-aos][data-aos][data-aos-delay="650"], body[data-aos-delay="650"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="650"].aos-animate, body[data-aos-delay="650"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.65s;
  -o-transition-delay: 0.65s;
  transition-delay: 0.65s; }

[data-aos][data-aos][data-aos-duration="700"], body[data-aos-duration="700"] [data-aos] {
  -webkit-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  transition-duration: 0.7s; }

[data-aos][data-aos][data-aos-delay="700"], body[data-aos-delay="700"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="700"].aos-animate, body[data-aos-delay="700"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.7s;
  -o-transition-delay: 0.7s;
  transition-delay: 0.7s; }

[data-aos][data-aos][data-aos-duration="750"], body[data-aos-duration="750"] [data-aos] {
  -webkit-transition-duration: 0.75s;
  -o-transition-duration: 0.75s;
  transition-duration: 0.75s; }

[data-aos][data-aos][data-aos-delay="750"], body[data-aos-delay="750"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="750"].aos-animate, body[data-aos-delay="750"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.75s;
  -o-transition-delay: 0.75s;
  transition-delay: 0.75s; }

[data-aos][data-aos][data-aos-duration="800"], body[data-aos-duration="800"] [data-aos] {
  -webkit-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s; }

[data-aos][data-aos][data-aos-delay="800"], body[data-aos-delay="800"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="800"].aos-animate, body[data-aos-delay="800"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s; }

[data-aos][data-aos][data-aos-duration="850"], body[data-aos-duration="850"] [data-aos] {
  -webkit-transition-duration: 0.85s;
  -o-transition-duration: 0.85s;
  transition-duration: 0.85s; }

[data-aos][data-aos][data-aos-delay="850"], body[data-aos-delay="850"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="850"].aos-animate, body[data-aos-delay="850"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.85s;
  -o-transition-delay: 0.85s;
  transition-delay: 0.85s; }

[data-aos][data-aos][data-aos-duration="900"], body[data-aos-duration="900"] [data-aos] {
  -webkit-transition-duration: 0.9s;
  -o-transition-duration: 0.9s;
  transition-duration: 0.9s; }

[data-aos][data-aos][data-aos-delay="900"], body[data-aos-delay="900"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="900"].aos-animate, body[data-aos-delay="900"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  transition-delay: 0.9s; }

[data-aos][data-aos][data-aos-duration="950"], body[data-aos-duration="950"] [data-aos] {
  -webkit-transition-duration: 0.95s;
  -o-transition-duration: 0.95s;
  transition-duration: 0.95s; }

[data-aos][data-aos][data-aos-delay="950"], body[data-aos-delay="950"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="950"].aos-animate, body[data-aos-delay="950"] [data-aos].aos-animate {
  -webkit-transition-delay: 0.95s;
  -o-transition-delay: 0.95s;
  transition-delay: 0.95s; }

[data-aos][data-aos][data-aos-duration="1000"], body[data-aos-duration="1000"] [data-aos] {
  -webkit-transition-duration: 1s;
  -o-transition-duration: 1s;
  transition-duration: 1s; }

[data-aos][data-aos][data-aos-delay="1000"], body[data-aos-delay="1000"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1000"].aos-animate, body[data-aos-delay="1000"] [data-aos].aos-animate {
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s; }

[data-aos][data-aos][data-aos-duration="1050"], body[data-aos-duration="1050"] [data-aos] {
  -webkit-transition-duration: 1.05s;
  -o-transition-duration: 1.05s;
  transition-duration: 1.05s; }

[data-aos][data-aos][data-aos-delay="1050"], body[data-aos-delay="1050"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1050"].aos-animate, body[data-aos-delay="1050"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.05s;
  -o-transition-delay: 1.05s;
  transition-delay: 1.05s; }

[data-aos][data-aos][data-aos-duration="1100"], body[data-aos-duration="1100"] [data-aos] {
  -webkit-transition-duration: 1.1s;
  -o-transition-duration: 1.1s;
  transition-duration: 1.1s; }

[data-aos][data-aos][data-aos-delay="1100"], body[data-aos-delay="1100"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1100"].aos-animate, body[data-aos-delay="1100"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.1s;
  -o-transition-delay: 1.1s;
  transition-delay: 1.1s; }

[data-aos][data-aos][data-aos-duration="1150"], body[data-aos-duration="1150"] [data-aos] {
  -webkit-transition-duration: 1.15s;
  -o-transition-duration: 1.15s;
  transition-duration: 1.15s; }

[data-aos][data-aos][data-aos-delay="1150"], body[data-aos-delay="1150"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1150"].aos-animate, body[data-aos-delay="1150"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.15s;
  -o-transition-delay: 1.15s;
  transition-delay: 1.15s; }

[data-aos][data-aos][data-aos-duration="1200"], body[data-aos-duration="1200"] [data-aos] {
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s; }

[data-aos][data-aos][data-aos-delay="1200"], body[data-aos-delay="1200"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1200"].aos-animate, body[data-aos-delay="1200"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.2s;
  -o-transition-delay: 1.2s;
  transition-delay: 1.2s; }

[data-aos][data-aos][data-aos-duration="1250"], body[data-aos-duration="1250"] [data-aos] {
  -webkit-transition-duration: 1.25s;
  -o-transition-duration: 1.25s;
  transition-duration: 1.25s; }

[data-aos][data-aos][data-aos-delay="1250"], body[data-aos-delay="1250"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1250"].aos-animate, body[data-aos-delay="1250"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.25s;
  -o-transition-delay: 1.25s;
  transition-delay: 1.25s; }

[data-aos][data-aos][data-aos-duration="1300"], body[data-aos-duration="1300"] [data-aos] {
  -webkit-transition-duration: 1.3s;
  -o-transition-duration: 1.3s;
  transition-duration: 1.3s; }

[data-aos][data-aos][data-aos-delay="1300"], body[data-aos-delay="1300"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1300"].aos-animate, body[data-aos-delay="1300"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.3s;
  -o-transition-delay: 1.3s;
  transition-delay: 1.3s; }

[data-aos][data-aos][data-aos-duration="1350"], body[data-aos-duration="1350"] [data-aos] {
  -webkit-transition-duration: 1.35s;
  -o-transition-duration: 1.35s;
  transition-duration: 1.35s; }

[data-aos][data-aos][data-aos-delay="1350"], body[data-aos-delay="1350"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1350"].aos-animate, body[data-aos-delay="1350"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.35s;
  -o-transition-delay: 1.35s;
  transition-delay: 1.35s; }

[data-aos][data-aos][data-aos-duration="1400"], body[data-aos-duration="1400"] [data-aos] {
  -webkit-transition-duration: 1.4s;
  -o-transition-duration: 1.4s;
  transition-duration: 1.4s; }

[data-aos][data-aos][data-aos-delay="1400"], body[data-aos-delay="1400"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1400"].aos-animate, body[data-aos-delay="1400"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.4s;
  -o-transition-delay: 1.4s;
  transition-delay: 1.4s; }

[data-aos][data-aos][data-aos-duration="1450"], body[data-aos-duration="1450"] [data-aos] {
  -webkit-transition-duration: 1.45s;
  -o-transition-duration: 1.45s;
  transition-duration: 1.45s; }

[data-aos][data-aos][data-aos-delay="1450"], body[data-aos-delay="1450"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1450"].aos-animate, body[data-aos-delay="1450"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.45s;
  -o-transition-delay: 1.45s;
  transition-delay: 1.45s; }

[data-aos][data-aos][data-aos-duration="1500"], body[data-aos-duration="1500"] [data-aos] {
  -webkit-transition-duration: 1.5s;
  -o-transition-duration: 1.5s;
  transition-duration: 1.5s; }

[data-aos][data-aos][data-aos-delay="1500"], body[data-aos-delay="1500"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1500"].aos-animate, body[data-aos-delay="1500"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.5s;
  -o-transition-delay: 1.5s;
  transition-delay: 1.5s; }

[data-aos][data-aos][data-aos-duration="1550"], body[data-aos-duration="1550"] [data-aos] {
  -webkit-transition-duration: 1.55s;
  -o-transition-duration: 1.55s;
  transition-duration: 1.55s; }

[data-aos][data-aos][data-aos-delay="1550"], body[data-aos-delay="1550"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1550"].aos-animate, body[data-aos-delay="1550"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.55s;
  -o-transition-delay: 1.55s;
  transition-delay: 1.55s; }

[data-aos][data-aos][data-aos-duration="1600"], body[data-aos-duration="1600"] [data-aos] {
  -webkit-transition-duration: 1.6s;
  -o-transition-duration: 1.6s;
  transition-duration: 1.6s; }

[data-aos][data-aos][data-aos-delay="1600"], body[data-aos-delay="1600"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1600"].aos-animate, body[data-aos-delay="1600"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.6s;
  -o-transition-delay: 1.6s;
  transition-delay: 1.6s; }

[data-aos][data-aos][data-aos-duration="1650"], body[data-aos-duration="1650"] [data-aos] {
  -webkit-transition-duration: 1.65s;
  -o-transition-duration: 1.65s;
  transition-duration: 1.65s; }

[data-aos][data-aos][data-aos-delay="1650"], body[data-aos-delay="1650"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1650"].aos-animate, body[data-aos-delay="1650"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.65s;
  -o-transition-delay: 1.65s;
  transition-delay: 1.65s; }

[data-aos][data-aos][data-aos-duration="1700"], body[data-aos-duration="1700"] [data-aos] {
  -webkit-transition-duration: 1.7s;
  -o-transition-duration: 1.7s;
  transition-duration: 1.7s; }

[data-aos][data-aos][data-aos-delay="1700"], body[data-aos-delay="1700"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1700"].aos-animate, body[data-aos-delay="1700"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.7s;
  -o-transition-delay: 1.7s;
  transition-delay: 1.7s; }

[data-aos][data-aos][data-aos-duration="1750"], body[data-aos-duration="1750"] [data-aos] {
  -webkit-transition-duration: 1.75s;
  -o-transition-duration: 1.75s;
  transition-duration: 1.75s; }

[data-aos][data-aos][data-aos-delay="1750"], body[data-aos-delay="1750"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1750"].aos-animate, body[data-aos-delay="1750"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.75s;
  -o-transition-delay: 1.75s;
  transition-delay: 1.75s; }

[data-aos][data-aos][data-aos-duration="1800"], body[data-aos-duration="1800"] [data-aos] {
  -webkit-transition-duration: 1.8s;
  -o-transition-duration: 1.8s;
  transition-duration: 1.8s; }

[data-aos][data-aos][data-aos-delay="1800"], body[data-aos-delay="1800"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1800"].aos-animate, body[data-aos-delay="1800"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.8s;
  -o-transition-delay: 1.8s;
  transition-delay: 1.8s; }

[data-aos][data-aos][data-aos-duration="1850"], body[data-aos-duration="1850"] [data-aos] {
  -webkit-transition-duration: 1.85s;
  -o-transition-duration: 1.85s;
  transition-duration: 1.85s; }

[data-aos][data-aos][data-aos-delay="1850"], body[data-aos-delay="1850"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1850"].aos-animate, body[data-aos-delay="1850"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.85s;
  -o-transition-delay: 1.85s;
  transition-delay: 1.85s; }

[data-aos][data-aos][data-aos-duration="1900"], body[data-aos-duration="1900"] [data-aos] {
  -webkit-transition-duration: 1.9s;
  -o-transition-duration: 1.9s;
  transition-duration: 1.9s; }

[data-aos][data-aos][data-aos-delay="1900"], body[data-aos-delay="1900"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1900"].aos-animate, body[data-aos-delay="1900"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.9s;
  -o-transition-delay: 1.9s;
  transition-delay: 1.9s; }

[data-aos][data-aos][data-aos-duration="1950"], body[data-aos-duration="1950"] [data-aos] {
  -webkit-transition-duration: 1.95s;
  -o-transition-duration: 1.95s;
  transition-duration: 1.95s; }

[data-aos][data-aos][data-aos-delay="1950"], body[data-aos-delay="1950"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="1950"].aos-animate, body[data-aos-delay="1950"] [data-aos].aos-animate {
  -webkit-transition-delay: 1.95s;
  -o-transition-delay: 1.95s;
  transition-delay: 1.95s; }

[data-aos][data-aos][data-aos-duration="2000"], body[data-aos-duration="2000"] [data-aos] {
  -webkit-transition-duration: 2s;
  -o-transition-duration: 2s;
  transition-duration: 2s; }

[data-aos][data-aos][data-aos-delay="2000"], body[data-aos-delay="2000"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2000"].aos-animate, body[data-aos-delay="2000"] [data-aos].aos-animate {
  -webkit-transition-delay: 2s;
  -o-transition-delay: 2s;
  transition-delay: 2s; }

[data-aos][data-aos][data-aos-duration="2050"], body[data-aos-duration="2050"] [data-aos] {
  -webkit-transition-duration: 2.05s;
  -o-transition-duration: 2.05s;
  transition-duration: 2.05s; }

[data-aos][data-aos][data-aos-delay="2050"], body[data-aos-delay="2050"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2050"].aos-animate, body[data-aos-delay="2050"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.05s;
  -o-transition-delay: 2.05s;
  transition-delay: 2.05s; }

[data-aos][data-aos][data-aos-duration="2100"], body[data-aos-duration="2100"] [data-aos] {
  -webkit-transition-duration: 2.1s;
  -o-transition-duration: 2.1s;
  transition-duration: 2.1s; }

[data-aos][data-aos][data-aos-delay="2100"], body[data-aos-delay="2100"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2100"].aos-animate, body[data-aos-delay="2100"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.1s;
  -o-transition-delay: 2.1s;
  transition-delay: 2.1s; }

[data-aos][data-aos][data-aos-duration="2150"], body[data-aos-duration="2150"] [data-aos] {
  -webkit-transition-duration: 2.15s;
  -o-transition-duration: 2.15s;
  transition-duration: 2.15s; }

[data-aos][data-aos][data-aos-delay="2150"], body[data-aos-delay="2150"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2150"].aos-animate, body[data-aos-delay="2150"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.15s;
  -o-transition-delay: 2.15s;
  transition-delay: 2.15s; }

[data-aos][data-aos][data-aos-duration="2200"], body[data-aos-duration="2200"] [data-aos] {
  -webkit-transition-duration: 2.2s;
  -o-transition-duration: 2.2s;
  transition-duration: 2.2s; }

[data-aos][data-aos][data-aos-delay="2200"], body[data-aos-delay="2200"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2200"].aos-animate, body[data-aos-delay="2200"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.2s;
  -o-transition-delay: 2.2s;
  transition-delay: 2.2s; }

[data-aos][data-aos][data-aos-duration="2250"], body[data-aos-duration="2250"] [data-aos] {
  -webkit-transition-duration: 2.25s;
  -o-transition-duration: 2.25s;
  transition-duration: 2.25s; }

[data-aos][data-aos][data-aos-delay="2250"], body[data-aos-delay="2250"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2250"].aos-animate, body[data-aos-delay="2250"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.25s;
  -o-transition-delay: 2.25s;
  transition-delay: 2.25s; }

[data-aos][data-aos][data-aos-duration="2300"], body[data-aos-duration="2300"] [data-aos] {
  -webkit-transition-duration: 2.3s;
  -o-transition-duration: 2.3s;
  transition-duration: 2.3s; }

[data-aos][data-aos][data-aos-delay="2300"], body[data-aos-delay="2300"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2300"].aos-animate, body[data-aos-delay="2300"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.3s;
  -o-transition-delay: 2.3s;
  transition-delay: 2.3s; }

[data-aos][data-aos][data-aos-duration="2350"], body[data-aos-duration="2350"] [data-aos] {
  -webkit-transition-duration: 2.35s;
  -o-transition-duration: 2.35s;
  transition-duration: 2.35s; }

[data-aos][data-aos][data-aos-delay="2350"], body[data-aos-delay="2350"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2350"].aos-animate, body[data-aos-delay="2350"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.35s;
  -o-transition-delay: 2.35s;
  transition-delay: 2.35s; }

[data-aos][data-aos][data-aos-duration="2400"], body[data-aos-duration="2400"] [data-aos] {
  -webkit-transition-duration: 2.4s;
  -o-transition-duration: 2.4s;
  transition-duration: 2.4s; }

[data-aos][data-aos][data-aos-delay="2400"], body[data-aos-delay="2400"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2400"].aos-animate, body[data-aos-delay="2400"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.4s;
  -o-transition-delay: 2.4s;
  transition-delay: 2.4s; }

[data-aos][data-aos][data-aos-duration="2450"], body[data-aos-duration="2450"] [data-aos] {
  -webkit-transition-duration: 2.45s;
  -o-transition-duration: 2.45s;
  transition-duration: 2.45s; }

[data-aos][data-aos][data-aos-delay="2450"], body[data-aos-delay="2450"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2450"].aos-animate, body[data-aos-delay="2450"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.45s;
  -o-transition-delay: 2.45s;
  transition-delay: 2.45s; }

[data-aos][data-aos][data-aos-duration="2500"], body[data-aos-duration="2500"] [data-aos] {
  -webkit-transition-duration: 2.5s;
  -o-transition-duration: 2.5s;
  transition-duration: 2.5s; }

[data-aos][data-aos][data-aos-delay="2500"], body[data-aos-delay="2500"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2500"].aos-animate, body[data-aos-delay="2500"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.5s;
  -o-transition-delay: 2.5s;
  transition-delay: 2.5s; }

[data-aos][data-aos][data-aos-duration="2550"], body[data-aos-duration="2550"] [data-aos] {
  -webkit-transition-duration: 2.55s;
  -o-transition-duration: 2.55s;
  transition-duration: 2.55s; }

[data-aos][data-aos][data-aos-delay="2550"], body[data-aos-delay="2550"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2550"].aos-animate, body[data-aos-delay="2550"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.55s;
  -o-transition-delay: 2.55s;
  transition-delay: 2.55s; }

[data-aos][data-aos][data-aos-duration="2600"], body[data-aos-duration="2600"] [data-aos] {
  -webkit-transition-duration: 2.6s;
  -o-transition-duration: 2.6s;
  transition-duration: 2.6s; }

[data-aos][data-aos][data-aos-delay="2600"], body[data-aos-delay="2600"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2600"].aos-animate, body[data-aos-delay="2600"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.6s;
  -o-transition-delay: 2.6s;
  transition-delay: 2.6s; }

[data-aos][data-aos][data-aos-duration="2650"], body[data-aos-duration="2650"] [data-aos] {
  -webkit-transition-duration: 2.65s;
  -o-transition-duration: 2.65s;
  transition-duration: 2.65s; }

[data-aos][data-aos][data-aos-delay="2650"], body[data-aos-delay="2650"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2650"].aos-animate, body[data-aos-delay="2650"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.65s;
  -o-transition-delay: 2.65s;
  transition-delay: 2.65s; }

[data-aos][data-aos][data-aos-duration="2700"], body[data-aos-duration="2700"] [data-aos] {
  -webkit-transition-duration: 2.7s;
  -o-transition-duration: 2.7s;
  transition-duration: 2.7s; }

[data-aos][data-aos][data-aos-delay="2700"], body[data-aos-delay="2700"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2700"].aos-animate, body[data-aos-delay="2700"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.7s;
  -o-transition-delay: 2.7s;
  transition-delay: 2.7s; }

[data-aos][data-aos][data-aos-duration="2750"], body[data-aos-duration="2750"] [data-aos] {
  -webkit-transition-duration: 2.75s;
  -o-transition-duration: 2.75s;
  transition-duration: 2.75s; }

[data-aos][data-aos][data-aos-delay="2750"], body[data-aos-delay="2750"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2750"].aos-animate, body[data-aos-delay="2750"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.75s;
  -o-transition-delay: 2.75s;
  transition-delay: 2.75s; }

[data-aos][data-aos][data-aos-duration="2800"], body[data-aos-duration="2800"] [data-aos] {
  -webkit-transition-duration: 2.8s;
  -o-transition-duration: 2.8s;
  transition-duration: 2.8s; }

[data-aos][data-aos][data-aos-delay="2800"], body[data-aos-delay="2800"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2800"].aos-animate, body[data-aos-delay="2800"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.8s;
  -o-transition-delay: 2.8s;
  transition-delay: 2.8s; }

[data-aos][data-aos][data-aos-duration="2850"], body[data-aos-duration="2850"] [data-aos] {
  -webkit-transition-duration: 2.85s;
  -o-transition-duration: 2.85s;
  transition-duration: 2.85s; }

[data-aos][data-aos][data-aos-delay="2850"], body[data-aos-delay="2850"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2850"].aos-animate, body[data-aos-delay="2850"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.85s;
  -o-transition-delay: 2.85s;
  transition-delay: 2.85s; }

[data-aos][data-aos][data-aos-duration="2900"], body[data-aos-duration="2900"] [data-aos] {
  -webkit-transition-duration: 2.9s;
  -o-transition-duration: 2.9s;
  transition-duration: 2.9s; }

[data-aos][data-aos][data-aos-delay="2900"], body[data-aos-delay="2900"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2900"].aos-animate, body[data-aos-delay="2900"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.9s;
  -o-transition-delay: 2.9s;
  transition-delay: 2.9s; }

[data-aos][data-aos][data-aos-duration="2950"], body[data-aos-duration="2950"] [data-aos] {
  -webkit-transition-duration: 2.95s;
  -o-transition-duration: 2.95s;
  transition-duration: 2.95s; }

[data-aos][data-aos][data-aos-delay="2950"], body[data-aos-delay="2950"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="2950"].aos-animate, body[data-aos-delay="2950"] [data-aos].aos-animate {
  -webkit-transition-delay: 2.95s;
  -o-transition-delay: 2.95s;
  transition-delay: 2.95s; }

[data-aos][data-aos][data-aos-duration="3000"], body[data-aos-duration="3000"] [data-aos] {
  -webkit-transition-duration: 3s;
  -o-transition-duration: 3s;
  transition-duration: 3s; }

[data-aos][data-aos][data-aos-delay="3000"], body[data-aos-delay="3000"] [data-aos] {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0; }

[data-aos][data-aos][data-aos-delay="3000"].aos-animate, body[data-aos-delay="3000"] [data-aos].aos-animate {
  -webkit-transition-delay: 3s;
  -o-transition-delay: 3s;
  transition-delay: 3s; }

[data-aos][data-aos][data-aos-easing=linear], body[data-aos-easing=linear] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
  -o-transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

[data-aos][data-aos][data-aos-easing=ease], body[data-aos-easing=ease] [data-aos] {
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease; }

[data-aos][data-aos][data-aos-easing=ease-in], body[data-aos-easing=ease-in] [data-aos] {
  -webkit-transition-timing-function: ease-in;
  -o-transition-timing-function: ease-in;
  transition-timing-function: ease-in; }

[data-aos][data-aos][data-aos-easing=ease-out], body[data-aos-easing=ease-out] [data-aos] {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

[data-aos][data-aos][data-aos-easing=ease-in-out], body[data-aos-easing=ease-in-out] [data-aos] {
  -webkit-transition-timing-function: ease-in-out;
  -o-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out; }

[data-aos][data-aos][data-aos-easing=ease-in-back], body[data-aos-easing=ease-in-back] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  -o-transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

[data-aos][data-aos][data-aos-easing=ease-out-back], body[data-aos-easing=ease-out-back] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

[data-aos][data-aos][data-aos-easing=ease-in-out-back], body[data-aos-easing=ease-in-out-back] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -o-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

[data-aos][data-aos][data-aos-easing=ease-in-sine], body[data-aos-easing=ease-in-sine] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
  -o-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

[data-aos][data-aos][data-aos-easing=ease-out-sine], body[data-aos-easing=ease-out-sine] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  -o-transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

[data-aos][data-aos][data-aos-easing=ease-in-out-sine], body[data-aos-easing=ease-in-out-sine] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  -o-transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

[data-aos][data-aos][data-aos-easing=ease-in-quad], body[data-aos-easing=ease-in-quad] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  -o-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

[data-aos][data-aos][data-aos-easing=ease-out-quad], body[data-aos-easing=ease-out-quad] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

[data-aos][data-aos][data-aos-easing=ease-in-out-quad], body[data-aos-easing=ease-in-out-quad] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

[data-aos][data-aos][data-aos-easing=ease-in-cubic], body[data-aos-easing=ease-in-cubic] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  -o-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

[data-aos][data-aos][data-aos-easing=ease-out-cubic], body[data-aos-easing=ease-out-cubic] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic], body[data-aos-easing=ease-in-out-cubic] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

[data-aos][data-aos][data-aos-easing=ease-in-quart], body[data-aos-easing=ease-in-quart] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  -o-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

[data-aos][data-aos][data-aos-easing=ease-out-quart], body[data-aos-easing=ease-out-quart] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

[data-aos][data-aos][data-aos-easing=ease-in-out-quart], body[data-aos-easing=ease-in-out-quart] [data-aos] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

[data-aos^=fade][data-aos^=fade] {
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: opacity, transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }

[data-aos^=fade][data-aos^=fade].aos-animate {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

[data-aos=fade-up] {
  -webkit-transform: translate3d(0, 100px, 0);
  transform: translate3d(0, 100px, 0); }

[data-aos=fade-down] {
  -webkit-transform: translate3d(0, -100px, 0);
  transform: translate3d(0, -100px, 0); }

[data-aos=fade-right] {
  -webkit-transform: translate3d(-100px, 0, 0);
  transform: translate3d(-100px, 0, 0); }

[data-aos=fade-left] {
  -webkit-transform: translate3d(100px, 0, 0);
  transform: translate3d(100px, 0, 0); }

[data-aos=fade-up-right] {
  -webkit-transform: translate3d(-100px, 100px, 0);
  transform: translate3d(-100px, 100px, 0); }

[data-aos=fade-up-left] {
  -webkit-transform: translate3d(100px, 100px, 0);
  transform: translate3d(100px, 100px, 0); }

[data-aos=fade-down-right] {
  -webkit-transform: translate3d(-100px, -100px, 0);
  transform: translate3d(-100px, -100px, 0); }

[data-aos=fade-down-left] {
  -webkit-transform: translate3d(100px, -100px, 0);
  transform: translate3d(100px, -100px, 0); }

[data-aos^=zoom][data-aos^=zoom] {
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: opacity, transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }

[data-aos^=zoom][data-aos^=zoom].aos-animate {
  opacity: 1;
  -webkit-transform: translateZ(0) scale(1);
  transform: translateZ(0) scale(1); }

[data-aos=zoom-in] {
  -webkit-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6); }

[data-aos=zoom-in-up] {
  -webkit-transform: translate3d(0, 100px, 0) scale(0.6);
  transform: translate3d(0, 100px, 0) scale(0.6); }

[data-aos=zoom-in-down] {
  -webkit-transform: translate3d(0, -100px, 0) scale(0.6);
  transform: translate3d(0, -100px, 0) scale(0.6); }

[data-aos=zoom-in-right] {
  -webkit-transform: translate3d(-100px, 0, 0) scale(0.6);
  transform: translate3d(-100px, 0, 0) scale(0.6); }

[data-aos=zoom-in-left] {
  -webkit-transform: translate3d(100px, 0, 0) scale(0.6);
  transform: translate3d(100px, 0, 0) scale(0.6); }

[data-aos=zoom-out] {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2); }

[data-aos=zoom-out-up] {
  -webkit-transform: translate3d(0, 100px, 0) scale(1.2);
  transform: translate3d(0, 100px, 0) scale(1.2); }

[data-aos=zoom-out-down] {
  -webkit-transform: translate3d(0, -100px, 0) scale(1.2);
  transform: translate3d(0, -100px, 0) scale(1.2); }

[data-aos=zoom-out-right] {
  -webkit-transform: translate3d(-100px, 0, 0) scale(1.2);
  transform: translate3d(-100px, 0, 0) scale(1.2); }

[data-aos=zoom-out-left] {
  -webkit-transform: translate3d(100px, 0, 0) scale(1.2);
  transform: translate3d(100px, 0, 0) scale(1.2); }

[data-aos^=slide][data-aos^=slide] {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

[data-aos^=slide][data-aos^=slide].aos-animate {
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

[data-aos=slide-up] {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0); }

[data-aos=slide-down] {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0); }

[data-aos=slide-right] {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

[data-aos=slide-left] {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

[data-aos^=flip][data-aos^=flip] {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

[data-aos=flip-left] {
  -webkit-transform: perspective(2500px) rotateY(-100deg);
  transform: perspective(2500px) rotateY(-100deg); }

[data-aos=flip-left].aos-animate {
  -webkit-transform: perspective(2500px) rotateY(0);
  transform: perspective(2500px) rotateY(0); }

[data-aos=flip-right] {
  -webkit-transform: perspective(2500px) rotateY(100deg);
  transform: perspective(2500px) rotateY(100deg); }

[data-aos=flip-right].aos-animate {
  -webkit-transform: perspective(2500px) rotateY(0);
  transform: perspective(2500px) rotateY(0); }

[data-aos=flip-up] {
  -webkit-transform: perspective(2500px) rotateX(-100deg);
  transform: perspective(2500px) rotateX(-100deg); }

[data-aos=flip-up].aos-animate {
  -webkit-transform: perspective(2500px) rotateX(0);
  transform: perspective(2500px) rotateX(0); }

[data-aos=flip-down] {
  -webkit-transform: perspective(2500px) rotateX(100deg);
  transform: perspective(2500px) rotateX(100deg); }

[data-aos=flip-down].aos-animate {
  -webkit-transform: perspective(2500px) rotateX(0);
  transform: perspective(2500px) rotateX(0); }

body.compensate-for-scrollbar {
  overflow: hidden; }

.fancybox-active {
  height: auto; }

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden; }

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: 0;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  width: 100%;
  z-index: 99992; }

.fancybox-container * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  -webkit-transition-duration: inherit;
  -o-transition-duration: inherit;
  transition-duration: inherit;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
  -o-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar {
  direction: ltr;
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  -o-transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997; }

.fancybox-show-caption .fancybox-caption, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-nav .fancybox-navigation .fancybox-button, .fancybox-show-toolbar .fancybox-toolbar {
  opacity: 1;
  -webkit-transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  -o-transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible; }

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-toolbar {
  right: 0;
  top: 0; }

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: 99994; }

.fancybox-is-open .fancybox-stage {
  overflow: hidden; }

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  white-space: normal;
  width: 100%;
  z-index: 99994; }

.fancybox-slide:before {
  content: "";
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0; }

.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous {
  display: block; }

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0; }

.fancybox-slide--image:before {
  display: none; }

.fancybox-slide--html {
  padding: 6px; }

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle; }

.fancybox-slide--image .fancybox-content {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995; }

.fancybox-can-zoomOut .fancybox-content {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-content {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-container [data-selectable=true] {
  cursor: text; }

.fancybox-image, .fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--iframe .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--video .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%; }

.fancybox-slide--video .fancybox-content {
  background: #000; }

.fancybox-slide--map .fancybox-content {
  background: #e5e3df; }

.fancybox-slide--iframe .fancybox-content {
  background: #fff; }

.fancybox-iframe, .fancybox-video {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%; }

.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0; }

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%; }

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0; }

.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  -webkit-transition: color 0.2s;
  -o-transition: color 0.2s;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px; }

.fancybox-button, .fancybox-button:link, .fancybox-button:visited {
  color: #ccc; }

.fancybox-button:hover {
  color: #fff; }

.fancybox-button:focus {
  outline: 0; }

.fancybox-button.fancybox-focus {
  outline: 1px dotted; }

.fancybox-button[disabled], .fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: 0; }

.fancybox-button div {
  height: 100%; }

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%; }

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0; }

.fancybox-button--fsenter svg:nth-child(2), .fancybox-button--fsexit svg:first-child, .fancybox-button--pause svg:first-child, .fancybox-button--play svg:nth-child(2) {
  display: none; }

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: linear;
  -o-transition-timing-function: linear;
  transition-timing-function: linear;
  z-index: 99998; }

.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401; }

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1; }

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0; }

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden; }

.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none; }

.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px; }

.fancybox-navigation .fancybox-button div {
  padding: 7px; }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  padding: 31px 26px 31px 6px; }

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0; }

.fancybox-caption {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgba(0, 0, 0, 0.85)), color-stop(50%, rgba(0, 0, 0, 0.3)), color-stop(65%, rgba(0, 0, 0, 0.15)), color-stop(75.5%, rgba(0, 0, 0, 0.075)), color-stop(82.85%, rgba(0, 0, 0, 0.037)), color-stop(88%, rgba(0, 0, 0, 0.019)), to(transparent));
  background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.85) 0, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, transparent);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, transparent);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996; }

.fancybox-caption--separate {
  margin-top: -50px; }

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all; }

.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none; }

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline; }

.fancybox-loading {
  -webkit-animation: a 1s linear infinite;
  animation: a 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999; }

@-webkit-keyframes a {
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn); } }
@keyframes a {
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn); } }
.fancybox-animated {
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
  -o-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous {
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1); }

.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: rotate(-1turn);
  -ms-transform: rotate(-1turn);
  transform: rotate(-1turn); }

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: rotate(1turn);
  -ms-transform: rotate(1turn);
  transform: rotate(1turn); }

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg); }

.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: scaleX(1) translateZ(0);
  transform: scaleX(1) translateZ(0); }

.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translateZ(0) scale(1);
  transform: translateZ(0) scale(1); }

@media (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px; }

  .fancybox-slide--image {
    padding: 6px 0; }

  .fancybox-close-small {
    right: -6px; }

  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px; }

  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px; } }
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center; }

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px; }

.fancybox-share p {
  margin: 0;
  padding: 0; }

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap; }

.fancybox-share__button:link, .fancybox-share__button:visited {
  color: #fff; }

.fancybox-share__button:hover {
  text-decoration: none; }

.fancybox-share__button--fb {
  background: #3b5998; }

.fancybox-share__button--fb:hover {
  background: #344e86; }

.fancybox-share__button--pt {
  background: #bd081d; }

.fancybox-share__button--pt:hover {
  background: #aa0719; }

.fancybox-share__button--tw {
  background: #1da1f2; }

.fancybox-share__button--tw:hover {
  background: #0d95e8; }

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px; }

.fancybox-share__button svg path {
  fill: #fff; }

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0;
  outline: 0;
  padding: 10px 15px;
  width: 100%; }

.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%; }

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden; }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px; }

.fancybox-thumbs__list a:before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991; }

.fancybox-thumbs__list a:focus:before {
  opacity: 0.5; }

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
  opacity: 1; }

@media (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px; }

  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }

  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px); } }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  font-weight: 900;
  height: 100%;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent; }

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1; }

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.15; }

.slick-prev:before,
.slick-next:before {
  font-family: "Font Awesome 5 Free";
  font-size: 32px;
  line-height: 1;
  color: black;
  opacity: 0.95;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }

[dir=rtl] .slick-prev {
  left: auto;
  right: -25px; }

.slick-prev:before {
  content: "\f104"; }

[dir=rtl] .slick-prev:before {
  content: "\f105"; }

.slick-next {
  right: -25px; }

[dir=rtl] .slick-next {
  left: -25px;
  right: auto; }

.slick-next:before {
  content: "\f105"; }

[dir=rtl] .slick-next:before {
  content: "\f104"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer; }

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\f111";
  width: 20px;
  height: 20px;
  font-family: "Font Awesome 5 Free";
  font-size: 20px;
  font-weight: 900;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.15;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.95; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-right: auto;
  margin-left: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ""; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir=rtl] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

html, body, div, form, fieldset, legend, label {
  margin: 0;
  padding: 0; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

th, td {
  text-align: left;
  vertical-align: top; }

h1, h2, h3, h4, h5, h6, th, td, caption {
  font-weight: normal; }

img {
  border: 0; }

.row,
.row-1,
.row-2,
.row-3,
.row-4,
.row-5,
.row-6,
.row-7,
.row-8,
.row-9,
.row-10,
.row-11,
.row-12,
.row.row-for-desktop-and-wide-tablet-only {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

[class*=col-] {
  width: 100%;
  margin-bottom: 20px;
  padding: 10px; }

[class*=col-]:last-child {
  margin-bottom: 0; }

@media (min-width: 1023px) {
  .row.row-for-desktop-and-wide-tablet-only {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px; }

  .row.row-for-desktop-and-wide-tablet-only [class*=col-] {
    padding: 15px; } }
@media (min-width: 768px) and (max-width: 1023px) {
  .row.row-for-desktop-and-wide-tablet-only {
    margin-right: 0;
    margin-left: 0; }

  .row.row-for-desktop-and-wide-tablet-only [class*=col-] {
    width: 100%;
    margin-bottom: 20px;
    padding: 10px; }

  .row.row-for-desktop-and-wide-tablet-only [class*=col-]:last-child {
    margin-bottom: 0; } }
@media (min-width: 768px) {
  .row,
  .row-1,
  .row-2,
  .row-3,
  .row-4,
  .row-5,
  .row-6,
  .row-7,
  .row-8,
  .row-9,
  .row-10,
  .row-11,
  .row-12 {
    margin-right: -15px;
    margin-left: -15px; }

  [class*=col-] {
    padding: 15px; }

  .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 8.3333333333%;
    margin: 0; }

  .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 16.6666666667%;
    margin: 0; }

  .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 25%;
    margin: 0; }

  .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333333333%;
    margin: 0; }

  .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 41.6666666667%;
    margin: 0; }

  .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 58.3333333333%;
    margin: 0; }

  .col-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 66.6666666667%;
    margin: 0; }

  .col-9 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 75%;
    margin: 0; }

  .col-10 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 83.3333333333%;
    margin: 0; }

  .col-11 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 91.6666666667%;
    margin: 0; }

  .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-1 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-1 .col-2, .row-1 .col-3, .row-1 .col-4, .row-1 .col-5, .row-1 .col-6, .row-1 .col-7, .row-1 .col-8, .row-1 .col-9, .row-1 .col-10, .row-1 .col-11, .row-1 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-2 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .row-2 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-2 .col-3, .row-2 .col-4, .row-2 .col-5, .row-2 .col-6, .row-2 .col-7, .row-2 .col-8, .row-2 .col-9, .row-2 .col-10, .row-2 .col-11, .row-2 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-3 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333333333%;
    margin: 0; }

  .row-3 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 66.6666666667%;
    margin: 0; }

  .row-3 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-3 .col-4, .row-3 .col-5, .row-3 .col-6, .row-3 .col-7, .row-3 .col-8, .row-3 .col-9, .row-3 .col-10, .row-3 .col-11, .row-3 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-4 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 25%;
    margin: 0; }

  .row-4 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .row-4 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 75%;
    margin: 0; }

  .row-4 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-4 .col-5, .row-4 .col-6, .row-4 .col-7, .row-4 .col-8, .row-4 .col-9, .row-4 .col-10, .row-4 .col-11, .row-4 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-5 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 20%;
    margin: 0; }

  .row-5 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 40%;
    margin: 0; }

  .row-5 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 60%;
    margin: 0; }

  .row-5 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 80%;
    margin: 0; }

  .row-5 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-5 .col-6, .row-5 .col-7, .row-5 .col-8, .row-5 .col-9, .row-5 .col-10, .row-5 .col-11, .row-5 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-6 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 16.6666666667%;
    margin: 0; }

  .row-6 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333333333%;
    margin: 0; }

  .row-6 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .row-6 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 66.6666666667%;
    margin: 0; }

  .row-6 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 83.3333333333%;
    margin: 0; }

  .row-6 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-6 .col-7, .row-6 .col-8, .row-6 .col-9, .row-6 .col-10, .row-6 .col-11, .row-6 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-7 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 14.2857142857%;
    margin: 0; }

  .row-7 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 28.5714285714%;
    margin: 0; }

  .row-7 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 42.8571428571%;
    margin: 0; }

  .row-7 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 57.1428571429%;
    margin: 0; }

  .row-7 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 71.4285714286%;
    margin: 0; }

  .row-7 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 85.7142857143%;
    margin: 0; }

  .row-7 .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-7 .col-8, .row-7 .col-9, .row-7 .col-10, .row-7 .col-11, .row-7 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-8 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 12.5%;
    margin: 0; }

  .row-8 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 25%;
    margin: 0; }

  .row-8 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 37.5%;
    margin: 0; }

  .row-8 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .row-8 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 62.5%;
    margin: 0; }

  .row-8 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 75%;
    margin: 0; }

  .row-8 .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 87.5%;
    margin: 0; }

  .row-8 .col-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-8 .col-9, .row-8 .col-10, .row-8 .col-11, .row-8 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-9 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 11.1111111111%;
    margin: 0; }

  .row-9 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 22.2222222222%;
    margin: 0; }

  .row-9 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333333333%;
    margin: 0; }

  .row-9 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 44.4444444444%;
    margin: 0; }

  .row-9 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 55.5555555556%;
    margin: 0; }

  .row-9 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 66.6666666667%;
    margin: 0; }

  .row-9 .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 77.7777777778%;
    margin: 0; }

  .row-9 .col-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 88.8888888889%;
    margin: 0; }

  .row-9 .col-9 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-9 .col-10, .row-9 .col-11, .row-9 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-10 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 10%;
    margin: 0; }

  .row-10 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 20%;
    margin: 0; }

  .row-10 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 30%;
    margin: 0; }

  .row-10 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 40%;
    margin: 0; }

  .row-10 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .row-10 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 60%;
    margin: 0; }

  .row-10 .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 70%;
    margin: 0; }

  .row-10 .col-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 80%;
    margin: 0; }

  .row-10 .col-9 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 90%;
    margin: 0; }

  .row-10 .col-10 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-10 .col-11, .row-10 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-11 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 9.0909090909%;
    margin: 0; }

  .row-11 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 18.1818181818%;
    margin: 0; }

  .row-11 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 27.2727272727%;
    margin: 0; }

  .row-11 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 36.3636363636%;
    margin: 0; }

  .row-11 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 45.4545454545%;
    margin: 0; }

  .row-11 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 54.5454545455%;
    margin: 0; }

  .row-11 .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 63.6363636364%;
    margin: 0; }

  .row-11 .col-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 72.7272727273%;
    margin: 0; }

  .row-11 .col-9 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 81.8181818182%;
    margin: 0; }

  .row-11 .col-10 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 90.9090909091%;
    margin: 0; }

  .row-11 .col-11 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-11 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; }

  .row-12 .col-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 8.3333333333%;
    margin: 0; }

  .row-12 .col-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 16.6666666667%;
    margin: 0; }

  .row-12 .col-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 25%;
    margin: 0; }

  .row-12 .col-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333333333%;
    margin: 0; }

  .row-12 .col-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 41.6666666667%;
    margin: 0; }

  .row-12 .col-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .row-12 .col-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 58.3333333333%;
    margin: 0; }

  .row-12 .col-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 66.6666666667%;
    margin: 0; }

  .row-12 .col-9 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 75%;
    margin: 0; }

  .row-12 .col-10 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 83.3333333333%;
    margin: 0; }

  .row-12 .col-11 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 91.6666666667%;
    margin: 0; }

  .row-12 .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; } }
@media (min-width: 1024px) {
  .col-lg-1 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 8.3333333333%;
    margin: 0; }

  .col-lg-2 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 16.6666666667%;
    margin: 0; }

  .col-lg-3 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 25%;
    margin: 0; }

  .col-lg-4 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333333333%;
    margin: 0; }

  .col-lg-5 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 41.6666666667%;
    margin: 0; }

  .col-lg-6 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin: 0; }

  .col-lg-7 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 58.3333333333%;
    margin: 0; }

  .col-lg-8 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 66.6666666667%;
    margin: 0; }

  .col-lg-9 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 75%;
    margin: 0; }

  .col-lg-10 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 83.3333333333%;
    margin: 0; }

  .col-lg-11 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 91.6666666667%;
    margin: 0; }

  .col-lg-12 {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin: 0; } }
html {
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch; }

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

header {
  position: relative;
  display: block; }

section {
  position: relative;
  display: block; }

footer {
  position: relative;
  display: block; }

main {
  position: relative;
  display: block; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder {
  color: #cccccc; }

input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
  opacity: 1;
  color: #cccccc; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: #cccccc; }

body {
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  position: relative;
  letter-spacing: normal;
  color: #1c2838;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  text-rendering: optimizeLegibility; }

.button-as-link {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
  padding: 0;
  margin: 0;
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
  text-decoration: none;
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal; }

@media (min-width: 768px) {
  body {
    font-size: 18px; }

  .button-as-link {
    font-size: 18px; } }
h1, .h1 {
  font-family: Montserrat;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #1c2838;
  font-size: 36px; }

h2, .h2 {
  font-family: Montserrat;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #1c2838;
  font-size: 32px; }

h3, .h3 {
  font-family: Montserrat;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #1c2838;
  font-size: 24px; }

h4, .h4 {
  font-family: Montserrat;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #1c2838;
  font-size: 20px; }

h5, .h5 {
  font-family: Montserrat;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #1c2838;
  font-size: 18px; }

h6, .h6 {
  font-family: Montserrat;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #1c2838;
  font-size: 16px; }

@media (min-width: 768px) {
  h1, .h1 {
    font-size: 48px; }

  h2, .h2 {
    font-size: 36px; }

  h3, .h3 {
    font-size: 30px; }

  h4, .h4 {
    font-size: 21px; }

  h5, .h5 {
    font-size: 18px; }

  h6, .h6 {
    font-size: 16px; } }
p {
  margin-top: 0;
  margin-bottom: 1rem; }

li {
  margin-bottom: 0.2em; }

a, .button-as-link {
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
  text-decoration: none;
  color: #9cb1a9; }

a:hover, .button-as-link:hover {
  color: #9cb1a9;
  -webkit-filter: brightness(115%);
  filter: brightness(115%); }

strong {
  font-weight: 700; }

pre {
  white-space: pre-wrap; }

.hidden {
  display: none !important; }

@media (max-width: 767px) {
  .hidden--mobile {
    display: none !important; } }
@media (min-width: 768px) {
  .hidden--desktop {
    display: none !important; }

  .hidden--submit {
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important; } }
.stop-scroll--html {
  overflow: hidden; }

.stop-scroll--body {
  overflow: hidden;
  height: 100%; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.align-items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }

.align-items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.align-items-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }

.align-items-stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }

.justify-content-left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.justify-content-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.justify-content-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.justify-content-around {
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.justify-content-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.stretch {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.box-shadow-none {
  -webkit-box-shadow: none;
  box-shadow: none; }

.box-shadow-small {
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05); }

.box-shadow-medium {
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.075);
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.075); }

.box-shadow-large {
  -webkit-box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.1); }

.accordion .accordion-title:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  display: inline-block;
  padding-right: 15px;
  content: "\f068";
  color: #9cb1a9;
  -webkit-font-smoothing: antialiased;
  text-rendering: auto; }

.accordion .accordion-title.collapsed:after {
  content: "\f067"; }

.alert {
  border-radius: 3px;
  padding: 14px 20px;
  margin: 20px 0; }

.alert--danger {
  border-color: red;
  color: red;
  background-color: rgba(255, 0, 0, 0.1); }

.block-type--audio .block {
  overflow: hidden; }

.audio__null {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 220px;
  padding: 0 10px;
  background-color: #f0f7fe; }

.audio__null-image {
  width: 100px; }

/* Dynamic Backgrounds */
.background-dark {
  color: #ffffff; }

.background-dark h1,
.background-dark h2,
.background-dark h3,
.background-dark h4,
.background-dark h5,
.background-dark h6,
.background-dark .h1,
.background-dark .h2,
.background-dark .h3,
.background-dark .h4,
.background-dark .h5,
.background-dark .h6 {
  color: #ffffff; }

.background-light {
  color: #1c2838; }

.background-light h1,
.background-light h2,
.background-light h3,
.background-light h4,
.background-light h5,
.background-light h6,
.background-light .h1,
.background-light .h2,
.background-light .h3,
.background-light .h4,
.background-light .h5,
.background-light .h6 {
  color: #1c2838; }

/* Dynamic Backgrounds Nested */
.section.background-dark,
.header.background-dark,
.footer.background-dark {
  color: #ffffff; }

.section.background-dark a, .section.background-dark .button-as-link,
.header.background-dark a,
.header.background-dark .button-as-link,
.footer.background-dark a,
.footer.background-dark .button-as-link {
  color: #ffffff; }

.section.background-dark h1,
.section.background-dark h2,
.section.background-dark h3,
.section.background-dark h4,
.section.background-dark h5,
.section.background-dark h6,
.section.background-dark .h1,
.section.background-dark .h2,
.section.background-dark .h3,
.section.background-dark .h4,
.section.background-dark .h5,
.section.background-dark .h6,
.header.background-dark h1,
.header.background-dark h2,
.header.background-dark h3,
.header.background-dark h4,
.header.background-dark h5,
.header.background-dark h6,
.header.background-dark .h1,
.header.background-dark .h2,
.header.background-dark .h3,
.header.background-dark .h4,
.header.background-dark .h5,
.header.background-dark .h6,
.footer.background-dark h1,
.footer.background-dark h2,
.footer.background-dark h3,
.footer.background-dark h4,
.footer.background-dark h5,
.footer.background-dark h6,
.footer.background-dark .h1,
.footer.background-dark .h2,
.footer.background-dark .h3,
.footer.background-dark .h4,
.footer.background-dark .h5,
.footer.background-dark .h6 {
  color: #ffffff; }

.section.background-light,
.header.background-light,
.footer.background-light {
  color: #1c2838; }

.section.background-light a, .section.background-light .button-as-link,
.header.background-light a,
.header.background-light .button-as-link,
.footer.background-light a,
.footer.background-light .button-as-link {
  color: #1c2838; }

.section.background-light h1,
.section.background-light h2,
.section.background-light h3,
.section.background-light h4,
.section.background-light h5,
.section.background-light h6,
.section.background-light .h1,
.section.background-light .h2,
.section.background-light .h3,
.section.background-light .h4,
.section.background-light .h5,
.section.background-light .h6,
.header.background-light h1,
.header.background-light h2,
.header.background-light h3,
.header.background-light h4,
.header.background-light h5,
.header.background-light h6,
.header.background-light .h1,
.header.background-light .h2,
.header.background-light .h3,
.header.background-light .h4,
.header.background-light .h5,
.header.background-light .h6,
.footer.background-light h1,
.footer.background-light h2,
.footer.background-light h3,
.footer.background-light h4,
.footer.background-light h5,
.footer.background-light h6,
.footer.background-light .h1,
.footer.background-light .h2,
.footer.background-light .h3,
.footer.background-light .h4,
.footer.background-light .h5,
.footer.background-light .h6 {
  color: #1c2838; }

.block.background-dark,
.header__content--mobile.background-dark,
.social-icons.background-dark,
.dropdown__menu.background-dark,
.powered-by.background-dark,
.bg-adaptive.background-dark,
.cta-popup.background-dark {
  color: #ffffff; }

.block.background-dark a, .block.background-dark .button-as-link,
.header__content--mobile.background-dark a,
.header__content--mobile.background-dark .button-as-link,
.social-icons.background-dark a,
.social-icons.background-dark .button-as-link,
.dropdown__menu.background-dark a,
.dropdown__menu.background-dark .button-as-link,
.powered-by.background-dark a,
.powered-by.background-dark .button-as-link,
.bg-adaptive.background-dark a,
.bg-adaptive.background-dark .button-as-link,
.cta-popup.background-dark a,
.cta-popup.background-dark .button-as-link {
  color: #ffffff; }

.block.background-dark h1,
.block.background-dark h2,
.block.background-dark h3,
.block.background-dark h4,
.block.background-dark h5,
.block.background-dark h6,
.block.background-dark .h1,
.block.background-dark .h2,
.block.background-dark .h3,
.block.background-dark .h4,
.block.background-dark .h5,
.block.background-dark .h6,
.header__content--mobile.background-dark h1,
.header__content--mobile.background-dark h2,
.header__content--mobile.background-dark h3,
.header__content--mobile.background-dark h4,
.header__content--mobile.background-dark h5,
.header__content--mobile.background-dark h6,
.header__content--mobile.background-dark .h1,
.header__content--mobile.background-dark .h2,
.header__content--mobile.background-dark .h3,
.header__content--mobile.background-dark .h4,
.header__content--mobile.background-dark .h5,
.header__content--mobile.background-dark .h6,
.social-icons.background-dark h1,
.social-icons.background-dark h2,
.social-icons.background-dark h3,
.social-icons.background-dark h4,
.social-icons.background-dark h5,
.social-icons.background-dark h6,
.social-icons.background-dark .h1,
.social-icons.background-dark .h2,
.social-icons.background-dark .h3,
.social-icons.background-dark .h4,
.social-icons.background-dark .h5,
.social-icons.background-dark .h6,
.dropdown__menu.background-dark h1,
.dropdown__menu.background-dark h2,
.dropdown__menu.background-dark h3,
.dropdown__menu.background-dark h4,
.dropdown__menu.background-dark h5,
.dropdown__menu.background-dark h6,
.dropdown__menu.background-dark .h1,
.dropdown__menu.background-dark .h2,
.dropdown__menu.background-dark .h3,
.dropdown__menu.background-dark .h4,
.dropdown__menu.background-dark .h5,
.dropdown__menu.background-dark .h6,
.powered-by.background-dark h1,
.powered-by.background-dark h2,
.powered-by.background-dark h3,
.powered-by.background-dark h4,
.powered-by.background-dark h5,
.powered-by.background-dark h6,
.powered-by.background-dark .h1,
.powered-by.background-dark .h2,
.powered-by.background-dark .h3,
.powered-by.background-dark .h4,
.powered-by.background-dark .h5,
.powered-by.background-dark .h6,
.bg-adaptive.background-dark h1,
.bg-adaptive.background-dark h2,
.bg-adaptive.background-dark h3,
.bg-adaptive.background-dark h4,
.bg-adaptive.background-dark h5,
.bg-adaptive.background-dark h6,
.bg-adaptive.background-dark .h1,
.bg-adaptive.background-dark .h2,
.bg-adaptive.background-dark .h3,
.bg-adaptive.background-dark .h4,
.bg-adaptive.background-dark .h5,
.bg-adaptive.background-dark .h6,
.cta-popup.background-dark h1,
.cta-popup.background-dark h2,
.cta-popup.background-dark h3,
.cta-popup.background-dark h4,
.cta-popup.background-dark h5,
.cta-popup.background-dark h6,
.cta-popup.background-dark .h1,
.cta-popup.background-dark .h2,
.cta-popup.background-dark .h3,
.cta-popup.background-dark .h4,
.cta-popup.background-dark .h5,
.cta-popup.background-dark .h6 {
  color: #ffffff; }

.block.background-light,
.header__content--mobile.background-light,
.social-icons.background-light,
.dropdown__menu.background-light,
.powered-by.background-light,
.bg-adaptive.background-light,
.cta-popup.background-light {
  color: #1c2838; }

.block.background-light a, .block.background-light .button-as-link,
.header__content--mobile.background-light a,
.header__content--mobile.background-light .button-as-link,
.social-icons.background-light a,
.social-icons.background-light .button-as-link,
.dropdown__menu.background-light a,
.dropdown__menu.background-light .button-as-link,
.powered-by.background-light a,
.powered-by.background-light .button-as-link,
.bg-adaptive.background-light a,
.bg-adaptive.background-light .button-as-link,
.cta-popup.background-light a,
.cta-popup.background-light .button-as-link {
  color: #1c2838; }

.block.background-light h1,
.block.background-light h2,
.block.background-light h3,
.block.background-light h4,
.block.background-light h5,
.block.background-light h6,
.block.background-light .h1,
.block.background-light .h2,
.block.background-light .h3,
.block.background-light .h4,
.block.background-light .h5,
.block.background-light .h6,
.header__content--mobile.background-light h1,
.header__content--mobile.background-light h2,
.header__content--mobile.background-light h3,
.header__content--mobile.background-light h4,
.header__content--mobile.background-light h5,
.header__content--mobile.background-light h6,
.header__content--mobile.background-light .h1,
.header__content--mobile.background-light .h2,
.header__content--mobile.background-light .h3,
.header__content--mobile.background-light .h4,
.header__content--mobile.background-light .h5,
.header__content--mobile.background-light .h6,
.social-icons.background-light h1,
.social-icons.background-light h2,
.social-icons.background-light h3,
.social-icons.background-light h4,
.social-icons.background-light h5,
.social-icons.background-light h6,
.social-icons.background-light .h1,
.social-icons.background-light .h2,
.social-icons.background-light .h3,
.social-icons.background-light .h4,
.social-icons.background-light .h5,
.social-icons.background-light .h6,
.dropdown__menu.background-light h1,
.dropdown__menu.background-light h2,
.dropdown__menu.background-light h3,
.dropdown__menu.background-light h4,
.dropdown__menu.background-light h5,
.dropdown__menu.background-light h6,
.dropdown__menu.background-light .h1,
.dropdown__menu.background-light .h2,
.dropdown__menu.background-light .h3,
.dropdown__menu.background-light .h4,
.dropdown__menu.background-light .h5,
.dropdown__menu.background-light .h6,
.powered-by.background-light h1,
.powered-by.background-light h2,
.powered-by.background-light h3,
.powered-by.background-light h4,
.powered-by.background-light h5,
.powered-by.background-light h6,
.powered-by.background-light .h1,
.powered-by.background-light .h2,
.powered-by.background-light .h3,
.powered-by.background-light .h4,
.powered-by.background-light .h5,
.powered-by.background-light .h6,
.bg-adaptive.background-light h1,
.bg-adaptive.background-light h2,
.bg-adaptive.background-light h3,
.bg-adaptive.background-light h4,
.bg-adaptive.background-light h5,
.bg-adaptive.background-light h6,
.bg-adaptive.background-light .h1,
.bg-adaptive.background-light .h2,
.bg-adaptive.background-light .h3,
.bg-adaptive.background-light .h4,
.bg-adaptive.background-light .h5,
.bg-adaptive.background-light .h6,
.cta-popup.background-light h1,
.cta-popup.background-light h2,
.cta-popup.background-light h3,
.cta-popup.background-light h4,
.cta-popup.background-light h5,
.cta-popup.background-light h6,
.cta-popup.background-light .h1,
.cta-popup.background-light .h2,
.cta-popup.background-light .h3,
.cta-popup.background-light .h4,
.cta-popup.background-light .h5,
.cta-popup.background-light .h6 {
  color: #1c2838; }

.block {
  overflow: hidden;
  width: 100%;
  height: 100%; }

.block-break {
  display: block;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%; }

.btn {
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  display: inline-block;
  margin: 8px 0 0;
  padding: 9.5px 30px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.25px;
  color: #ffffff;
  border: 2px solid #1c2838;
  border-radius: 2px;
  background-color: #1c2838;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  white-space: normal; }

.btn:last-child {
  margin-right: 0; }

.btn:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%); }

.form-btn {
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  display: inline-block;
  margin: 8px 0 0;
  padding: 9.5px 30px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.25px;
  color: #ffffff;
  border: 2px solid #1c2838;
  border-radius: 2px;
  background-color: #1c2838;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  white-space: normal;
  margin-top: 8px; }

.form-btn:last-child {
  margin-right: 0; }

.form-btn:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%); }

.btn--block {
  display: inline-block;
  width: 100%; }

.btn--full {
  display: inline-block;
  width: 100%; }

.btn--small {
  font-size: 90%;
  padding: 8px 16px; }

.btn--medium {
  padding: 9.5px 30px; }

.btn--large {
  font-size: 120%;
  padding: 12px 40px; }

.card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  word-wrap: break-word;
  border: none;
  background-color: transparent;
  background-clip: border-box; }

.card__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 20px; }

.card__body > :first-child {
  margin-top: 0 !important; }

.card__body > :last-child {
  margin-bottom: 0 !important; }

.card__text {
  margin-bottom: 1rem;
  font-size: 14px; }

.card__button {
  margin: 0;
  margin-bottom: 1.5rem; }

.card__footer {
  font-size: 16px; }

.card:hover {
  -webkit-filter: none;
  filter: none; }

@media (min-width: 768px) {
  .card__body {
    padding: 30px; }

  .card__text {
    font-size: 16px; } }
.close-x {
  position: absolute;
  top: -12px;
  right: -12px;
  background: #ffffff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  z-index: 1000;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05);
  cursor: pointer; }

.close-x__part {
  position: absolute;
  width: 2px;
  height: 15px;
  background-color: #666666; }

.close-x__part:first-child {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.close-x__part:last-child {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.configuration-banner {
  background-color: #F6F8F8;
  padding: 16px 16px;
  border-radius: 8px; }

.configuration-banner__text {
  text-align: center;
  color: #040506; }

.configuration-banner__text a {
  color: #040506;
  text-decoration: underline;
  white-space: nowrap; }

.configuration-banner__subtext {
  text-align: center;
  padding-top: 16px;
  color: #43474B;
  font-size: 85%; }

.container {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 1340px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px; }

@media (min-width: 768px) {
  .container {
    padding-right: 40px;
    padding-left: 40px; } }
.countdown__column {
  width: 25%;
  margin-bottom: 0;
  padding: 15px; }

.countdown__item {
  text-align: center; }

.countdown__number {
  font-size: 2.5rem;
  margin-top: 0;
  margin-bottom: 0; }

.countdown__label {
  font-weight: 700;
  margin-bottom: 0; }

.countdown__boxed .countdown__number {
  margin-bottom: 10px;
  padding: 10px 0;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.07); }

@media (min-width: 768px) {
  .countdown__number {
    font-size: 4rem; } }
.dropdown {
  position: relative;
  display: inline-block; }

.dropdown__trigger {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.2s cubic-bezier(1, 0, 0, 1);
  -o-transition: all 0.2s cubic-bezier(1, 0, 0, 1);
  transition: all 0.2s cubic-bezier(1, 0, 0, 1); }

.dropdown__menu {
  position: absolute;
  z-index: 9999;
  top: 40px;
  left: -20px;
  min-width: 200px;
  padding: 10px 0;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 0.2s cubic-bezier(1, 0, 0, 1);
  -o-transition: transform 0.2s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.2s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.2s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.2s cubic-bezier(1, 0, 0, 1);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  text-align: left;
  opacity: 0;
  border-radius: 4px;
  -webkit-box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.1); }

.dropdown__menu--text-left {
  text-align: left; }

.dropdown__menu--text-center {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  text-align: center; }

.dropdown__menu--text-right {
  right: -20px;
  left: auto;
  -webkit-transform-origin: top right;
  -ms-transform-origin: top right;
  transform-origin: top right;
  text-align: right; }

.dropdown__item a {
  display: block;
  margin: 0;
  padding: 10px 20px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  color: #1c2838; }

.dropdown__item a:hover {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.02); }

.dropdown__icon {
  position: relative;
  top: 1px;
  display: inline-block;
  margin-left: 5px;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s; }

.dropdown--open .dropdown__menu {
  display: block;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

@media (min-width: 768px) {
  .dropdown__menu {
    background-color: #ffffff; } }
.editor-null {
  padding: 20px;
  text-align: center;
  border: 2px dashed #e4e8ee; }

.event__title {
  font-size: 2.5rem; }

.event__date {
  font-weight: 700;
  margin-bottom: 20px; }

.event__description {
  margin-bottom: 0; }

@media (min-width: 768px) {
  .event__title {
    font-size: 4rem; }

  .event__date {
    font-size: 1.5rem; } }
.event-video__item {
  visibility: hidden;
  overflow: hidden;
  height: 0; }

.event-video__item.active {
  visibility: visible;
  height: auto; }

.event-video .btn {
  margin: 1rem; }

.expandable-content__toggle {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  width: 100%;
  text-align: center; }

.expandable-content__toggle-icon {
  margin-left: 4px; }

.expandable-content__body {
  display: none; }

.expandable-content__body--open {
  display: block; }

.feature > :first-child {
  margin-top: 0 !important; }

.feature > :last-child {
  margin-bottom: 0 !important; }

.feature__image {
  display: inline-block;
  margin-bottom: 1rem; }

.feature__text {
  font-size: 18px;
  margin-bottom: 1rem; }

.feature .btn {
  margin: 0; }

.feature .feature__text > :first-child {
  margin-top: 0 !important; }

.feature .feature__text > :last-child {
  margin-bottom: 0 !important; }

@media (min-width: 768px) {
  .feature__text {
    font-size: 18px; } }
.filter {
  position: relative;
  width: 100%;
  margin-bottom: 10px; }

.filter__field {
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  display: block;
  width: 100%;
  padding: 10.5px 60px 10.5px 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  color: #1c2838;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  background-color: #ffffff;
  background-clip: padding-box; }

.filter__icon {
  line-height: 1.5;
  position: absolute;
  top: 0;
  right: 10px;
  padding: 10.5px 0;
  color: #1c2838; }

@media (min-width: 768px) {
  .filter {
    width: auto;
    margin-right: 10px;
    margin-bottom: 0; }

  .filter__field {
    font-size: 18px; } }
.flash--success {
  position: relative;
  background-color: #ddf8f6;
  color: #04696C;
  padding: 8px 0; }

.flash--success p, .flash--success h1, .flash--success h2, .flash--success h3, .flash--success h4, .flash--success h5, .flash--success h6 {
  color: #04696C;
  font-family: "Helvetica, Arial, sans-serif"; }

.flash--success :last-child {
  margin-bottom: 0; }

.flash--success .flash-text {
  text-align: center;
  font-size: 16px;
  line-height: 28px; }

.flash--success .flash-text .fa {
  padding-right: 8px; }

.flash--success .flash-text a {
  color: #04696C;
  text-decoration: underline;
  margin-left: 16px; }

.flash--error {
  position: relative;
  background-color: #f9c0b9;
  color: #5E0D0D;
  padding: 8px 0; }

.flash--error p, .flash--error h1, .flash--error h2, .flash--error h3, .flash--error h4, .flash--error h5, .flash--error h6 {
  color: #5E0D0D;
  font-family: "Helvetica, Arial, sans-serif"; }

.flash--error :last-child {
  margin-bottom: 0; }

.flash--error .flash-text {
  text-align: center;
  font-size: 16px;
  line-height: 28px; }

.flash--error .flash-text .fa {
  padding-right: 8px; }

.flash--error .flash-text a {
  color: #5E0D0D;
  text-decoration: underline;
  margin-left: 16px; }

.form-group {
  margin-bottom: 20px; }

.form-group label {
  font-family: Crimson Text;
  font-size: 18px;
  position: relative;
  display: block;
  margin-bottom: 5px;
  text-align: left;
  color: #1c2838; }

.form-control {
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  display: block;
  width: 100%;
  padding: 10.5px 10px;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  color: #1c2838;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  background-color: #ffffff;
  background-clip: padding-box; }

.form-control:focus {
  border-color: #bbbbbb;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none; }

.form-control::-webkit-input-placeholder {
  color: #cccccc; }

.form-control::-moz-placeholder {
  color: #cccccc; }

.form-control:-ms-input-placeholder {
  color: #cccccc; }

.form-control::-ms-input-placeholder {
  color: #cccccc; }

.form-control::placeholder {
  color: #cccccc; }

.form-control:-ms-input-placeholder {
  color: #cccccc; }

.form-control::-ms-input-placeholder {
  color: #cccccc; }

.checkbox-field {
  text-align: left; }

.checkbox-field .form-control {
  display: inline-block;
  width: auto;
  margin: 0 10px 0 0; }

.checkbox-field label {
  position: relative;
  display: block;
  margin-bottom: 5px; }

.checkbox-field .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.radio-buttons-field {
  text-align: left; }

.radio-buttons-field .form-control {
  display: inline-block;
  width: auto;
  margin: 0 10px 0 0; }

.radio-buttons-field label {
  position: relative;
  display: block;
  margin-bottom: 5px; }

.radio-buttons-field .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.select-box-field .form-control {
  height: 50px; }

.country-field .form-control {
  height: 50px; }

@media (min-width: 768px) {
  .form-group label {
    font-size: 18px; }

  .form-control {
    font-size: 18px; }

  .fields-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }

  .fields-wrapper .form-group {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-item-align: center;
    align-self: center;
    margin-right: 1rem;
    margin-bottom: 0; }

  .fields-wrapper .form-btn {
    display: inline-block;
    width: auto;
    margin: 0; }

  .fields-wrapper div:last-child label {
    display: block;
    margin-bottom: 5px; } }
.parsley-errors-list {
  margin: 10px 0;
  padding: 0;
  list-style: inside;
  text-align: left;
  color: #ffffff;
  border-radius: 3px;
  background-color: #ff0000; }

.parsley-errors-list li {
  margin: 0;
  padding: 10px 15px; }

.hamburger {
  position: relative;
  margin-left: auto;
  width: 30px;
  height: 24px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle; }

.hamburger__slices {
  position: relative;
  width: 100%;
  height: 24px; }

.hamburger__slice {
  position: absolute;
  width: 100%;
  height: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #1c2838; }

.hamburger--slice-2 {
  top: 11px; }

.hamburger--slice-3 {
  top: 11px; }

.hamburger--slice-4 {
  top: 22px; }

.hamburger--opened {
  z-index: 1000; }

.hamburger--opened .hamburger--slice-1 {
  -webkit-transform: translate(0, -6px);
  -ms-transform: translate(0, -6px);
  transform: translate(0, -6px);
  opacity: 0; }

.hamburger--opened .hamburger--slice-2 {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.hamburger--opened .hamburger--slice-3 {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.hamburger--opened .hamburger--slice-4 {
  -webkit-transform: translate(0, 6px);
  -ms-transform: translate(0, 6px);
  transform: translate(0, 6px);
  opacity: 0; }

.hello-bar {
  font-size: 18px;
  display: block;
  margin: 0;
  padding: 8px 0; }

.hello-bar__text {
  margin: 0; }

@media (min-width: 768px) {
  .hello-bar {
    font-size: 18px; } }
img {
  display: block;
  max-width: 100%;
  height: auto; }

.image {
  position: relative; }

.image__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  text-align: center;
  opacity: 0;
  background-color: #ffffff; }

.image__overlay-text > :last-child {
  margin-bottom: 0; }

.image:hover .image__overlay {
  opacity: 1;
  -webkit-filter: none;
  filter: none; }

.link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.logo {
  display: inline-block;
  margin: 0; }

.logo__text {
  font-size: 24px;
  font-weight: 400;
  margin: 0; }

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }

.media__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.modal {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  display: none !important;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 20px;
  -webkit-transition: all 2s;
  -o-transition: all 2s;
  transition: all 2s;
  background-color: rgba(0, 0, 0, 0.9);
  -webkit-overflow-scrolling: touch; }

.modal__content {
  position: relative;
  display: block;
  width: 100%;
  max-width: 650px;
  margin: auto;
  padding: 15px 10px;
  cursor: auto;
  border-radius: 4px;
  background-color: #ffffff; }

.modal__block {
  display: block;
  padding: 15px; }

.modal__button {
  display: inline-block;
  padding: 1rem; }

.modal__title {
  margin-bottom: 0; }

.modal--open {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

.modal--open .modal__content {
  -webkit-animation: open 0.3s cubic-bezier(1, 0, 0, 1);
  animation: open 0.3s cubic-bezier(1, 0, 0, 1); }

.modal__actions {
  -webkit-padding-before: 1rem;
  padding-block-start: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 1rem; }

.modal__actions button.btn {
  -webkit-margin-before: 0;
  margin-block-start: 0; }

@media (min-width: 768px) {
  .modal {
    padding: 30px; }

  .modal__content {
    padding: 20px; }

  .modal__block {
    display: inline-block; }

  .modal__body {
    padding: 15px; } }
@-webkit-keyframes open {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    -webkit-transform: translateY(-200px);
    transform: translateY(-200px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }
@keyframes open {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    -webkit-transform: translateY(-200px);
    transform: translateY(-200px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }
.pag {
  font-weight: 700;
  position: relative;
  width: 100%;
  margin: 30px 0;
  text-align: center; }

.pag__wrapper {
  margin-bottom: 2rem; }

.pag__link {
  display: inline-block;
  margin: 0 10px;
  color: #1c2838; }

.pag__link--current {
  color: #9cb1a9; }

.pag__link--disabled {
  color: #7f8ea1; }

.pricing__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2rem; }

@media (min-width: 768px) {
  .pricing__body {
    padding: 2.5rem; } }
.pricing__info {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-bottom: 0.5rem; }

.pricing__price {
  margin-top: 1rem;
  margin-bottom: 0; }

.pricing__frequency {
  margin-bottom: 4px; }

.pricing__name {
  margin: 0;
  font-weight: 700; }

.pricing__heading {
  font-size: 1rem;
  margin: 0; }

.pricing ol,
.pricing ul {
  margin: 1.5rem 0; }

.pricing li {
  margin: 0.5rem 0; }

.pricing .custom-icon ul,
.pricing .custom-icon li {
  list-style: none; }

.pricing .custom-icon li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  float: left;
  margin-left: -2rem;
  color: #9cb1a9; }

.progress {
  padding: 10px 0 20px 0; }

.progress__outer {
  overflow: hidden;
  width: 100%;
  height: 10px;
  border-radius: 10px;
  background-color: #eeeeee; }

.progress__inner {
  height: 10px; }

.responsive-embed {
  position: relative;
  display: block;
  overflow: hidden;
  max-width: 100%;
  height: 0;
  padding-bottom: 56.25%; }

.responsive-embed iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0; }

.search {
  width: 100%; }

.search__control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #1c2838; }

.search__control::-webkit-input-placeholder {
  color: #cccccc; }

.search__control::-moz-placeholder {
  color: #cccccc; }

.search__control:-ms-input-placeholder {
  color: #cccccc; }

.search__control::-ms-input-placeholder {
  color: #cccccc; }

.search__control::placeholder {
  color: #cccccc; }

.search__control:-ms-input-placeholder {
  color: #cccccc; }

.search__control::-ms-input-placeholder {
  color: #cccccc; }

@media (min-width: 768px) {
  .search {
    width: auto; } }
div[id^=section-] {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.sidebar__panel {
  padding: 20px; }

.sidebar__block {
  margin-bottom: 30px; }

.sidebar__block:last-child {
  margin-bottom: 0; }

@media (max-width: 767px) {
  .sidebar__container--top {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1; }

  .sidebar__container--hidden-mobile {
    display: none; } }
@media (min-width: 768px) {
  .sidebar__container--left {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1; }

  .sidebar__container--hidden-desktop {
    display: none; } }
.sizer {
  min-height: auto;
  padding-top: 20px;
  padding-bottom: 40px; }

.sizer--full {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100vh; }

.sizer--full .container {
  margin: auto; }

@media (min-width: 768px) {
  .sizer {
    padding-bottom: 100px; } }
.tag {
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: inline-block;
  margin: 0 6px 6px 0;
  padding: 6px;
  text-transform: capitalize;
  color: #000000;
  border-radius: 6px;
  background-color: #eeeeee; }

.tag:hover {
  -webkit-filter: none;
  filter: none; }

.block-type--text.text-center .block ol,
.block-type--text.text-center .block ul {
  list-style-position: inside; }

.user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.user__avatar {
  width: 40px;
  border-radius: 50%; }

.waiting-loader {
  position: relative; }

.waiting-loader:not(.visually-hidden) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

@media (prefers-reduced-motion: reduce) {
  .waiting-loader[data-loading*=true]::before {
    opacity: 0 !important;
    /* stylelint-disable-line declaration-no-important */ } }
.waiting-loader .waiting-loader__spinner-image {
  width: 48px;
  height: 48px;
  -webkit-animation: rotate 2s linear infinite;
  animation: rotate 2s linear infinite; }

.waiting-loader .waiting-loader__spinner-path {
  stroke-dasharray: 150, 200;
  stroke-dashoffset: -10;
  stroke-linecap: round;
  stroke-width: 4;
  -webkit-animation: dash 1.5s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite;
  stroke: #9cb1a9; }

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
.announcement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  height: auto;
  padding: 30px; }

.announcement__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  word-break: break-word; }

.announcement__link {
  margin-top: 30px; }

@media (min-width: 768px) {
  .announcement-search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }
@media (min-width: 768px) {
  .coaching-scheduling-widget__thumbnail {
    margin-bottom: 1rem; } }
.coaching-scheduling-widget__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 0.5rem;
  margin-bottom: 1rem; }

.coaching-scheduling-widget__details h6 {
  margin-top: 0;
  margin-bottom: 0; }

.coaching-scheduling-widget__duration {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem; }

.coaching-scheduling-widget__price {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem; }

.coaching-scheduling-widget__program_description {
  margin-bottom: 1.5rem; }

.block-coaching-session-details__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 10px;
  -webkit-margin-after: 8px;
  margin-block-end: 8px; }

.block-coaching-session-details__row--end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.block-coaching-session-details__label {
  color: #7f8ea1;
  width: 30%; }

.block-coaching-session-details__content {
  text-align: right;
  width: 70%; }

.block-coaching-session-details__receipt {
  font-size: 90%;
  font-family: Montserrat;
  font-weight: 400; }

.block-coaching-session-details__show-more {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 90%; }

.coaching-session-details-resources__empty-state {
  margin-block: 16px;
  display: none; }

.coaching-session-details-resources__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.coaching-session-details-resources__list:not(:has(li)) ~ .coaching-session-details-resources__empty-state {
  display: block; }

.coaching-session-details-resources__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 10px;
  -webkit-margin-after: 8px;
  margin-block-end: 8px; }

.coaching-session-details-resources__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 2px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  min-width: 0;
  /* Allow flex item to shrink below content size */ }

.coaching-session-details-resources__avatar {
  -webkit-margin-before: 4px;
  margin-block-start: 4px; }

.coaching-session-details-resources__type {
  color: #7f8ea1; }

.coaching-session-details-resources__name {
  margin: 0;
  padding: 0;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%; }

.coaching-session-details-resources__content-link {
  display: block;
  width: 100%;
  min-width: 0; }

.coaching-session-details-resources__icon {
  min-width: 20px;
  width: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.coaching-session-details-resources__delete {
  min-width: 20px;
  width: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.coaching-session-details-resources__delete-btn {
  color: #1c2838; }

.coaching-session-details-resources__delete-btn:hover {
  color: #9cb1a9;
  -webkit-filter: brightness(115%);
  filter: brightness(115%); }

.coaching-session-details-resources__delete-btn--disabled {
  cursor: not-allowed; }

.block:has(.coaching-session-details-resources) {
  overflow: visible; }

.course-outline__image {
  margin: 0 auto; }

.course-outline__title {
  margin: 40px 0;
  text-align: center;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -1.5; }

.course-outline__categories,
.course-outline__subcategories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0; }

.course-outline__categories li,
.course-outline__subcategories li {
  margin-bottom: 0; }

.course-outline__category ol:last-of-type > li.course-outline__post:last-of-type {
  padding-bottom: 24px; }

.course-outline__subcategory ol:last-of-type > li.course-outline__post:last-of-type {
  padding-bottom: 0; }

.course-outline__subcategories {
  gap: 0; }

.course-outline__subcategory .course-outline__heading {
  padding: 0;
  padding-left: 38px; }

.course-outline__subcategory .course-outline__posts {
  padding-left: 70px; }

.course-outline__category summary {
  display: block; }

.course-outline__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
  -ms-flex-align: top;
  align-items: top;
  padding: 24px;
  cursor: pointer; }

.course-outline__heading > * {
  line-height: 24px; }

.course-outline__category__count {
  display: none;
  white-space: nowrap;
  padding-left: 12px; }

@media (min-width: 768px) {
  .course-outline__category__expando:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
    content: "\f105";
    font-size: 24px;
    margin-right: 16px;
    width: 16px;
    text-align: center; }

  .course-outline__category[open] > summary > .course-outline__heading > .course-outline__category__expando:before {
    content: "\f107"; }

  .course-outline__category__count {
    display: block; } }
.course-outline__category__title {
  font-size: 20px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin: 0; }

.course-outline__subcategories > li {
  padding: 24px 24px 0; }

.course-outline__subcategories > li:last-of-type {
  padding-bottom: 24px; }

.course-outline__posts {
  padding: 24px 40px 0;
  list-style: none;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.course-outline__post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
  -ms-flex-align: top;
  align-items: top; }

.course-outline__post > * {
  line-height: 24px; }

@media (min-width: 768px) {
  .course-outline__post__icon:before {
    margin-right: 16px;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
    content: "\f15c";
    text-align: center;
    width: 1.25em; }

  .course-outline__post.audio > .course-outline__post__icon:before {
    font-weight: 900;
    content: "\f130"; }

  .course-outline__post.video > .course-outline__post__icon:before {
    font-weight: 900;
    content: "\f03d"; }

  .course-outline__post.assessment > .course-outline__post__icon:before {
    content: "\f328"; }

  .course-outline__post.quiz > .course-outline__post__icon:before {
    content: "\f328"; }

  .course-outline__post.live_session > .course-outline__post__icon:before {
    content: "\f133"; } }
.auth__content .divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  margin: 1em 0; }

.auth__content .divider::before,
.auth__content .divider::after {
  content: "";
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid; }

.auth__content .divider:not(:empty)::before {
  margin-right: 0.5em; }

.auth__content .divider:not(:empty)::after {
  margin-left: 0.5em; }

.auth__content .social-login-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 8px; }

/* --- Google Sign‑In button ------------------------------------- */
.gsi-material-button {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-appearance: none;
  background-image: none;
  font-family: "Roboto", arial, sans-serif;
  font-size: 14px;
  height: 40px;
  letter-spacing: 0.25px;
  outline: none;
  overflow: hidden;
  padding: 0 12px;
  position: relative;
  text-align: center;
  -webkit-transition: background-color 0.218s, border-color 0.218s, box-shadow 0.218s;
  -webkit-transition: background-color 0.218s, border-color 0.218s, -webkit-box-shadow 0.218s;
  transition: background-color 0.218s, border-color 0.218s, -webkit-box-shadow 0.218s;
  -o-transition: background-color 0.218s, border-color 0.218s, box-shadow 0.218s;
  transition: background-color 0.218s, border-color 0.218s, box-shadow 0.218s;
  transition: background-color 0.218s, border-color 0.218s, box-shadow 0.218s, -webkit-box-shadow 0.218s;
  vertical-align: middle;
  white-space: nowrap;
  width: auto;
  max-width: 400px;
  min-width: -webkit-min-content;
  min-width: -moz-min-content;
  min-width: min-content;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  border: 1px solid transparent; }

/* Button width */
.gsi-material-button__full {
  width: 100%; }

/* Pill shape override */
.gsi-material-button__pill {
  border-radius: 20px; }

/* Theme overrides */
.gsi-material-button__light {
  background-color: white;
  color: #1f1f1f;
  border-color: #747775; }

.gsi-material-button__dark {
  background-color: #131314;
  color: #e3e3e3;
  border-color: #8e918f; }

.gsi-material-button__neutral {
  background-color: #f2f2f2;
  color: #1f1f1f;
  border: none; }

/* Child elements */
.gsi-material-button .gsi-material-button-icon {
  height: 20px;
  margin-right: 12px;
  min-width: 20px;
  width: 20px; }

.gsi-material-button .gsi-material-button-content-wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 100%; }

.gsi-material-button .gsi-material-button-contents {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  font-weight: 500;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  vertical-align: top; }

.gsi-material-button .gsi-material-button-state {
  -webkit-transition: opacity 0.218s;
  -o-transition: opacity 0.218s;
  transition: opacity 0.218s;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0; }

/* States: hover, focus, active */
.gsi-material-button:not(:disabled):hover,
.gsi-material-button:not(:disabled):focus {
  -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15); }

.gsi-material-button__light:not(:disabled):hover .gsi-material-button-state,
.gsi-material-button__light:not(:disabled):focus .gsi-material-button-state {
  background-color: #303030;
  opacity: 0.08; }

.gsi-material-button__dark:not(:disabled):hover .gsi-material-button-state,
.gsi-material-button__dark:not(:disabled):focus .gsi-material-button-state {
  background-color: white;
  opacity: 0.08; }

.gsi-material-button__neutral:not(:disabled):hover .gsi-material-button-state,
.gsi-material-button__neutral:not(:disabled):focus .gsi-material-button-state {
  background-color: #001d35;
  opacity: 0.08; }

.gsi-material-button:not(:disabled):active .gsi-material-button-state {
  opacity: 0.12; }

.gsi-material-button__light:not(:disabled):active .gsi-material-button-state {
  background-color: #303030; }

.gsi-material-button__dark:not(:disabled):active .gsi-material-button-state {
  background-color: white; }

.gsi-material-button__neutral:not(:disabled):active .gsi-material-button-state {
  background-color: #001d35; }

.blog-listing {
  width: 100%;
  margin-bottom: 30px; }

.blog-listing__title {
  display: block;
  margin-bottom: 10px;
  color: #1c2838; }

.blog-listing__title:hover {
  color: #1c2838; }

.blog-listing__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.blog-listing__date {
  font-size: 16px;
  display: block;
  margin-top: 10px;
  color: #7f8ea1; }

.blog-listing img {
  margin-bottom: 20px; }

.blog-listing .video {
  margin-bottom: 20px; }

.blog-listing__content {
  margin: 10px 0; }

.blog-listing__content > :last-child {
  margin: 0; }

.blog-listing__more {
  font-size: 16px;
  display: block;
  margin: 10px 0; }

.blog-listing__panel {
  overflow: hidden; }

.blog-listing__panel .blog-listing__data {
  padding: 20px; }

.blog-listing__panel img {
  margin-bottom: 0; }

.blog-listing__panel .video {
  margin-bottom: 0; }

@media (min-width: 768px) {
  .blog-listing--grid-2 {
    width: calc(50% - 15px); }

  .blog-listing--grid-3 {
    width: calc(50% - 15px); }

  .blog-listing--has-media.blog-listing--side-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .blog-listing--has-media.blog-listing--side-left img {
    margin-bottom: 0; }

  .blog-listing--has-media.blog-listing--side-left .video {
    margin-bottom: 0; }

  .blog-listing--has-media.blog-listing--side-left .blog-listing__media {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

  .blog-listing--has-media.blog-listing--side-left .blog-listing__data {
    width: 70%;
    margin: 0 0 0 15px; }

  .blog-listing--has-media.blog-listing--side-left .blog-listing__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%; }

  .blog-listing--has-media.blog-listing--side-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 100%; }

  .blog-listing--has-media.blog-listing--side-right img {
    margin-bottom: 0; }

  .blog-listing--has-media.blog-listing--side-right .video {
    margin-bottom: 0; }

  .blog-listing--has-media.blog-listing--side-right .blog-listing__media {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

  .blog-listing--has-media.blog-listing--side-right .blog-listing__data {
    width: 70%;
    margin: 0 15px 0 0; }

  .blog-listing--has-media.blog-listing--side-right .blog-listing__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 100%; } }
@media (min-width: 1024px) {
  .blog-listing--grid-3 {
    width: calc(33.333333% - 20px); }

  .blog-listing--has-media.blog-listing--side-left .blog-listing__title {
    margin-bottom: 5px; }

  .blog-listing--has-media.blog-listing--side-left .blog-listing__date {
    margin-top: 5px; }

  .blog-listing--has-media.blog-listing--side-left .blog-listing__data {
    margin: 0 0 0 30px; }

  .blog-listing--has-media.blog-listing--side-right .blog-listing__title {
    margin-bottom: 5px; }

  .blog-listing--has-media.blog-listing--side-right .blog-listing__date {
    margin-top: 5px; }

  .blog-listing--has-media.blog-listing--side-right .blog-listing__data {
    margin: 0 30px 0 0; } }
.blog-post-cta {
  margin-bottom: 30px;
  padding: 30px;
  text-align: center;
  border: 1px solid #cccccc;
  border-radius: 4px; }

@media (min-width: 1024px) {
  .blog-post-cta {
    padding: 30px 60px; } }
.blog-post-optin {
  margin-bottom: 30px;
  padding: 30px;
  text-align: center;
  border: 1px solid #cccccc;
  border-radius: 4px; }

.blog-post-optin__disclaimer-text {
  font-size: 16px;
  margin-top: 1.25rem;
  margin-bottom: 0; }

@media (min-width: 1024px) {
  .blog-post-optin {
    padding: 30px 60px; } }
.blog-search-result {
  padding: 30px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

.blog-search-result__title {
  display: block;
  margin-bottom: 10px; }

.blog-search-result__body {
  margin-bottom: 0; }

.coaching-hero p,
.coaching-hero h1,
.coaching-hero h2,
.coaching-hero h3,
.coaching-hero h4 {
  margin: unset; }

.coaching-hero {
  display: grid;
  grid-template-areas: "title-container button" "description description" "block-container block-container";
  grid-template-columns: 1fr auto; }

.coaching-hero:has(.coaching-hero__image) {
  grid-template-areas: "image button" "title-container title-container" "description description" "block-container block-container"; }

@media (max-width: 767px) {
  .coaching-hero {
    grid-template-areas: "image" "button" "title-container" "description" "block-container"; } }
.coaching-hero__image {
  grid-area: image;
  width: 100%;
  overflow: hidden; }

.coaching-hero__image img {
  width: 100%; }

.coaching-hero__additional-session {
  grid-area: button;
  justify-self: end;
  align-self: flex-start; }

.coaching-hero__title-container {
  grid-area: title-container; }

.coaching-hero__description {
  grid-area: description;
  margin: 0 16px 0 0; }

.coaching-hero__block-container {
  grid-area: block-container; }

.coaching-hero__block-container > * {
  padding-left: unset;
  padding-right: unset; }

.coaching-invoice__description {
  font-size: 80%; }

.coaching-participant-avatar {
  display: inline-block;
  background-color: #1c2838;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  overflow: hidden; }

.coaching-participant-avatar__initials text {
  text-anchor: middle;
  fill: #ffffff;
  font-style: normal;
  font-weight: 700;
  font-size: 10px; }

.coaching-participant-avatar--empty {
  background-color: transparent; }

.coaching-participant-avatar--with-border {
  border: 1px solid #FFF;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.coaching-participant-avatar--overlay {
  background-color: rgba(0, 0, 0, 0.6);
  border: 1px solid #FFF;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.coaching-participant-avatar__remaining-count {
  color: #fff;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  width: 100%; }

.coaching-participant-avatar-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative; }

.coaching-participant-avatar-wrapper {
  --avatar-size: 40px;
  -webkit-margin-start: -10px;
  margin-inline-start: -10px;
  position: relative;
  z-index: 1;
  height: var(--avatar-size); }

.coaching-participant-avatar-wrapper:first-child {
  -webkit-margin-start: 0;
  margin-inline-start: 0; }

.coaching-participant-avatar-wrapper--overlay {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0; }

.coaching-participant-avatar-wrapper .coaching-participant-avatar {
  width: var(--avatar-size);
  height: var(--avatar-size);
  display: inline-block; }

.coaching-participant-avatar-wrapper .coaching-participant-avatar img,
.coaching-participant-avatar-wrapper .coaching-participant-avatar svg {
  width: var(--avatar-size);
  height: var(--avatar-size); }

@media (max-width: 767px) {
  .coaching-participant-avatar-wrapper {
    --avatar-size: 32px; } }
hr.coaching-search-result__divider {
  border: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1px;
  width: 100%;
  margin: 24px 0; }

.coaching-search-result:last-child .coaching-search-result__divider {
  display: none; }

.coaching-agenda-new-form {
  width: 100%; }

.coaching-agenda-new-form form.agenda-item-new-form {
  width: 100%;
  display: inline-block; }

.coaching-agenda-new-form__input {
  width: 100%;
  border: 1px solid #D2D1D1;
  border-radius: 8px; }

.coaching-agenda-new-form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-margin-before: 8px;
  margin-block-start: 8px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.coaching-session-details-agenda {
  -webkit-margin-before: 24px;
  margin-block-start: 24px; }

.coaching-session-details-agenda__empty-state {
  margin-block: 16px;
  display: none; }

.coaching-session-details-agenda__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.coaching-session-details-agenda__list:not(:has(li)) ~ .coaching-session-details-agenda__empty-state {
  display: block; }

.coaching-session-details-agenda__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  -webkit-margin-after: 8px;
  margin-block-end: 8px; }

.coaching-session-details-agenda__label {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.coaching-session-details-agenda__add-btn--disabled {
  cursor: not-allowed; }

.coaching-session-details-agenda form.agenda-item-edit-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0; }

.coaching-session-details-agenda__input {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  position: relative;
  height: 16px;
  width: 16px;
  vertical-align: top;
  color: #FFFFFF;
  border: 1px solid #D2D1D1;
  border-radius: 4px;
  outline: none;
  -webkit-transition: 0.15s ease-in-out;
  -o-transition: 0.15s ease-in-out;
  transition: 0.15s ease-in-out;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition-property: background, border, -webkit-box-shadow;
  transition-property: background, border, -webkit-box-shadow;
  -o-transition-property: background, box-shadow, border;
  transition-property: background, box-shadow, border;
  transition-property: background, box-shadow, border, -webkit-box-shadow;
  cursor: pointer; }

.coaching-session-details-agenda__input:disabled {
  background: #f1f6fb;
  cursor: not-allowed; }

.coaching-session-details-agenda__input:checked::after {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 900;
  opacity: 1; }

.coaching-session-details-agenda__delete-btn {
  color: #1c2838; }

.coaching-session-details-agenda__delete-btn:hover {
  color: #9cb1a9;
  -webkit-filter: brightness(115%);
  filter: brightness(115%); }

.coaching-session-details-agenda__delete-btn--disabled {
  cursor: not-allowed; }

.coaching-session-details-agenda__label {
  margin: 0; }

.coaching-session-details-body {
  -webkit-margin-before: 24px;
  margin-block-start: 24px; }

.coaching-session-details-body__participants {
  -webkit-margin-before: 24px;
  margin-block-start: 24px; }

.coaching-session-details-body__divider {
  border: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1px;
  width: 100%;
  margin: 0; }

.coaching-session-details-status__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 8px;
  -webkit-margin-after: 8px;
  margin-block-end: 8px; }

.coaching-session-details-status__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 8px; }

.coaching-session-details-status__row--actions {
  gap: 12px; }

.coaching-session-details-status__row--actions > .coaching-session-details-status__cta-link:not(:first-child)::before {
  content: "|";
  -webkit-margin-end: 10px;
  margin-inline-end: 10px;
  color: #7f8ea1; }

.coaching-session-details-status__row--widget {
  -webkit-margin-before: 12px;
  margin-block-start: 12px; }

.coaching-session-details-status__icon {
  -webkit-margin-before: 6px;
  margin-block-start: 6px; }

.coaching-session-details-status__subtext {
  -webkit-margin-after: 0;
  margin-block-end: 0; }

.coaching-session-details-header {
  position: relative;
  padding: 16px;
  min-height: 230px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.coaching-session-details-header .coaching-session-details-header__row {
  position: relative; }

.coaching-session-details-header .coaching-session-details-header__row--date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.coaching-session-details-header .coaching-session-details-header__row--space-between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.coaching-session-details-header .coaching-session-details-header__row--full {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  text-align: center; }

.coaching-session-details-header .coaching-session-details-header__row--content {
  margin-block: 16px; }

.coaching-session-details-header .coaching-session-details-header__logo {
  margin-block: 16px; }

.coaching-session-details-header .coaching-session-details-header__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.coaching-session-details-header .coaching-session-details-header__logo {
  margin-block: 16px; }

.coaching-session-details-header .coaching-session-details-header__logo .logo__text {
  font-size: 48px;
  font-weight: 400;
  margin: 0; }

.coaching-session-details-header .coaching-session-details-header__datetime {
  padding: 10px 14px; }

.coaching-session-details-header .coaching-session-details-header__cta-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1; }

.coaching-session-details-header .coaching-session-details-header__cta-wrapper--full {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  text-align: center;
  width: 100%; }

@media (max-width: 767px) {
  .coaching-session-details-header .coaching-session-details-header__row--with-participants {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }
@media (max-width: 1023px) {
  .coaching-session-details-header .coaching-session-details-header__datetime {
    font-size: 90%; } }
@media (min-width: 768px) {
  .coaching-session-details-header {
    min-height: 300px;
    padding: 24px; }

  .coaching-session-details-header .coaching-session-details-header__logo {
    margin-block: 64px; }

  .coaching-session-details-header .coaching-session-details-header__datetime {
    padding: 12px 16px; }

  .coaching-session-details-header .coaching-session-details-header__row--content {
    margin-block: 40px; } }
.coaching-session-listing p,
.coaching-session-listing h1,
.coaching-session-listing h2,
.coaching-session-listing h3,
.coaching-session-listing h4 {
  margin: unset; }

.coaching-session-listing__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 14px;
  -webkit-padding-after: 16px;
  padding-block-end: 16px; }

.coaching-session-listing__header-content {
  margin-right: auto; }

.coaching-session-listing__header-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

input.coaching-session-listing__header-search-input {
  border-left: none;
  border-top: none;
  border-right: none;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  padding: 0 14px;
  height: 36px;
  border-radius: 6px;
  outline: none; }

button.coaching-session-listing__header-search-button {
  border: 1px solid transparent;
  background: transparent;
  border-radius: 9999999px;
  text-align: center;
  width: 34px;
  height: 34px;
  font-size: 14px;
  cursor: pointer; }

.coaching-session-listing__header button.dropdown__trigger {
  border-radius: 6px;
  padding: 0 14px;
  height: 36px;
  font-size: 14px; }

.coaching-session-listing__header-filters .dropdown__heading {
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-align: left;
  padding: 0 14px; }

.coaching-session-listing__header-filters .dropdown__menu {
  border-width: 1px;
  border-style: solid;
  border-color: transparent; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__checkbox_container {
  color: #4D4D4C;
  margin: 0;
  padding: 8px 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  cursor: pointer;
  font-size: 14px;
  gap: 4px; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__checkbox_container input {
  position: relative;
  height: 16px;
  width: 16px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__checkbox_container input::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: auto;
  text-align: center;
  width: 16px;
  font-size: 16px; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__checkbox_container input::after {
  content: "\f0c8";
  color: #e3e3e3; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__checkbox_container input:checked::after {
  content: "\f14a";
  color: #000000; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__radio_container {
  color: #4D4D4C;
  margin: 0;
  padding: 8px 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  cursor: pointer;
  font-size: 14px;
  gap: 4px; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__radio_container input {
  position: relative;
  height: 16px;
  width: 16px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none; }

.coaching-session-listing__header-filters .dropdown__item label.dropdown__radio_container input:checked::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: auto;
  content: "\f00c";
  font-size: 12px;
  width: 16px;
  text-align: center;
  color: #000000; }

.coaching-session-listing__header--scheme-unrecognized button.coaching-session-listing__header-search-button,
.coaching-session-listing__header--scheme-light button.coaching-session-listing__header-search-button {
  border-color: transparent;
  color: rgba(0, 0, 0, 0.9); }

.coaching-session-listing__header--scheme-unrecognized button.coaching-session-listing__header-search-button:hover, .coaching-session-listing__header--scheme-unrecognized button.coaching-session-listing__header-search-button:focus, .coaching-session-listing__header--scheme-unrecognized button.coaching-session-listing__header-search-button:active,
.coaching-session-listing__header--scheme-light button.coaching-session-listing__header-search-button:hover,
.coaching-session-listing__header--scheme-light button.coaching-session-listing__header-search-button:focus,
.coaching-session-listing__header--scheme-light button.coaching-session-listing__header-search-button:active {
  border-color: rgba(0, 0, 0, 0.2); }

.coaching-session-listing__header--scheme-unrecognized button.coaching-session-listing__header-search-button:focus, .coaching-session-listing__header--scheme-unrecognized button.coaching-session-listing__header-search-button:active,
.coaching-session-listing__header--scheme-light button.coaching-session-listing__header-search-button:focus,
.coaching-session-listing__header--scheme-light button.coaching-session-listing__header-search-button:active {
  background-color: rgba(0, 0, 0, 0.02); }

.coaching-session-listing__header--scheme-unrecognized input.coaching-session-listing__header-search-input,
.coaching-session-listing__header--scheme-light input.coaching-session-listing__header-search-input {
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.9); }

.coaching-session-listing__header--scheme-unrecognized input.coaching-session-listing__header-search-input::-webkit-search-cancel-button,
.coaching-session-listing__header--scheme-light input.coaching-session-listing__header-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  height: 24px;
  width: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
  cursor: pointer; }

.coaching-session-listing__header--scheme-unrecognized button.dropdown__trigger,
.coaching-session-listing__header--scheme-light button.dropdown__trigger {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  color: rgba(0, 0, 0, 0.9); }

.coaching-session-listing__header--scheme-unrecognized button.dropdown__trigger:hover, .coaching-session-listing__header--scheme-unrecognized button.dropdown__trigger:focus, .coaching-session-listing__header--scheme-unrecognized button.dropdown__trigger:active,
.coaching-session-listing__header--scheme-light button.dropdown__trigger:hover,
.coaching-session-listing__header--scheme-light button.dropdown__trigger:focus,
.coaching-session-listing__header--scheme-light button.dropdown__trigger:active {
  border-color: rgba(0, 0, 0, 0.2); }

.coaching-session-listing__header--scheme-unrecognized button.dropdown__trigger:focus, .coaching-session-listing__header--scheme-unrecognized button.dropdown__trigger:active,
.coaching-session-listing__header--scheme-light button.dropdown__trigger:focus,
.coaching-session-listing__header--scheme-light button.dropdown__trigger:active {
  background-color: rgba(0, 0, 0, 0.02); }

.coaching-session-listing__header--scheme-unrecognized .dropdown__heading,
.coaching-session-listing__header--scheme-light .dropdown__heading {
  color: #828180; }

.coaching-session-listing__header--scheme-unrecognized .dropdown__menu,
.coaching-session-listing__header--scheme-light .dropdown__menu {
  -webkit-box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 0, 0, 0.1); }

.coaching-session-listing__header--scheme-dark button.coaching-session-listing__header-search-button {
  border-color: transparent;
  color: rgba(255, 255, 255, 0.8); }

.coaching-session-listing__header--scheme-dark button.coaching-session-listing__header-search-button:hover, .coaching-session-listing__header--scheme-dark button.coaching-session-listing__header-search-button:focus, .coaching-session-listing__header--scheme-dark button.coaching-session-listing__header-search-button:active {
  border-color: rgba(255, 255, 255, 0.2); }

.coaching-session-listing__header--scheme-dark button.coaching-session-listing__header-search-button:focus, .coaching-session-listing__header--scheme-dark button.coaching-session-listing__header-search-button:active {
  background-color: rgba(255, 255, 255, 0.02); }

.coaching-session-listing__header--scheme-dark input.coaching-session-listing__header-search-input {
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9); }

.coaching-session-listing__header--scheme-dark input.coaching-session-listing__header-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  height: 24px;
  width: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
  cursor: pointer; }

.coaching-session-listing__header--scheme-dark button.dropdown__trigger {
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  color: rgba(255, 255, 255, 0.9); }

.coaching-session-listing__header--scheme-dark button.dropdown__trigger:hover, .coaching-session-listing__header--scheme-dark button.dropdown__trigger:focus, .coaching-session-listing__header--scheme-dark button.dropdown__trigger:active {
  border-color: rgba(255, 255, 255, 0.2); }

.coaching-session-listing__header--scheme-dark button.dropdown__trigger:focus, .coaching-session-listing__header--scheme-dark button.dropdown__trigger:active {
  background-color: rgba(255, 255, 255, 0.02); }

.coaching-session-listing__header--scheme-dark .dropdown__heading {
  color: #B0AFAF; }

.coaching-session-listing__header--scheme-dark .dropdown__menu {
  -webkit-box-shadow: 0 4px 8px -2px rgba(255, 255, 255, 0.25), 0 2px 4px -2px rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 8px -2px rgba(255, 255, 255, 0.25), 0 2px 4px -2px rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.1); }

.coaching-session-listing__group {
  position: relative; }

.coaching-session-listing__group::before {
  content: "";
  position: absolute;
  display: block;
  height: 10px;
  width: 10px;
  border-radius: 99999px;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 11; }

.coaching-session-listing__group::after {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  width: 10px;
  top: 0;
  left: -2.5px;
  border-left-style: solid;
  z-index: 10; }

.coaching-session-listing__group-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 8px; }

.coaching-session-listing__group-subtitle {
  opacity: 0.5; }

a.coaching-session-listing__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  position: relative;
  color: unset;
  -webkit-filter: unset;
  filter: unset; }

a.coaching-session-listing__item:hover, a.coaching-session-listing__item:active {
  -webkit-box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06); }

article.coaching-session-listing__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  position: relative; }

@media (max-width: 767px) {
  a.coaching-session-listing__item,
  article.coaching-session-listing__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; } }
.coaching-session-listing__item-image {
  position: relative;
  overflow: hidden; }

@media (max-width: 767px) {
  .coaching-session-listing__item-image {
    width: 100% !important; } }
.coaching-session-listing__item-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0; }

@media (max-width: 767px) {
  .coaching-session-listing__item-image img {
    height: unset;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); } }
.coaching-session-listing__item--completed .coaching-session-listing__item-image img {
  opacity: 0.75; }

.coaching-session-listing__item-body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.coaching-session-listing__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 4px 8px; }

@media (max-width: 767px) {
  .coaching-session-listing__detail {
    row-gap: 8px; } }
.coaching-session-listing__time-title {
  font-weight: bold !important; }

.coaching-session-listing__time-divider {
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  opacity: 0.5;
  -webkit-transform: scale(150%);
  -ms-transform: scale(150%);
  transform: scale(150%); }

.coaching-session-listing__title {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%; }

.coaching-session-listing__item--unscheduled .coaching-session-listing__title {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  -ms-flex-preferred-size: unset;
  flex-basis: unset; }

.coaching-session-listing__status {
  margin-left: auto;
  font-size: 14px;
  padding: 4px 8px;
  line-height: 130%;
  text-transform: capitalize;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  white-space: nowrap; }

@media (max-width: 767px) {
  .coaching-session-listing__status {
    margin-left: unset; } }
.coaching-session-listing__coach,
.coaching-session-listing__duration {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5px; }

.coaching-session-listing__coach-avatar {
  position: relative;
  overflow: hidden;
  width: 16px;
  height: 16px;
  border-radius: 99999px; }

.coaching-session-listing__coach-avatar img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.coaching-session-listing__button {
  white-space: nowrap; }

.coaching-session-listing__button:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%); }

.coaching-session-listing__button.btn--auto {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content; }

.coaching-session-listing__footer {
  font-size: 80%;
  text-align: center;
  color: rgba(0, 0, 0, 0.5);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.coaching-session-listing__footer::before, .coaching-session-listing__footer::after {
  content: "";
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 1px;
  background: rgba(0, 0, 0, 0.1); }

.coaching-session-listing__footer::before {
  margin-right: 1%;
  margin-left: 10%; }

.coaching-session-listing__footer::after {
  margin-right: 10%;
  margin-left: 1%; }

.coaching-session-listing__footer--scheme-dark {
  color: rgba(255, 255, 255, 0.5); }

.coaching-session-listing__footer--scheme-dark::before, .coaching-session-listing__footer--scheme-dark::after {
  background: rgba(255, 255, 255, 0.1); }

.coaching-session-listing__additional-session {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.coaching-session-next__card {
  display: grid;
  grid-template-areas: "time-date time-day" "card-details card-details" "cta cta";
  grid-column-gap: 8px;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr; }

.coaching-session-next__card-details {
  grid-area: card-details; }

.coaching-session-next__card-details--scheduled {
  display: grid;
  grid-template-areas: "time-hour time-divider time-zone" "title title title" "duration duration duration";
  grid-template-columns: -webkit-min-content -webkit-min-content 1fr;
  grid-template-columns: min-content min-content 1fr;
  grid-column-gap: 4px; }

.coaching-session-next__card-details--pending {
  font-size: 80%; }

.coaching-session-next__time-date {
  grid-area: time-date;
  font-size: 200%;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap; }

.coaching-session-next__time-day {
  grid-area: time-day;
  -ms-flex-line-pack: center;
  align-content: center;
  font-size: 80%; }

.coaching-session-next__title {
  grid-area: title;
  margin: 0 !important; }

.coaching-session-next__time-hour {
  grid-area: time-hour;
  font-weight: bold;
  font-size: 80%;
  white-space: nowrap; }

.coaching-session-next__time-zone {
  grid-area: time-zone;
  font-size: 80%; }

.coaching-session-next__time-divider {
  grid-area: time-divider;
  font-size: 80%;
  -webkit-transform: scale(125%);
  -ms-transform: scale(125%);
  transform: scale(125%); }

.coaching-session-next__duration {
  grid-area: duration;
  font-size: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 2px; }

.coaching-session-next__cta {
  grid-area: cta;
  font-size: 80%;
  font-weight: bold; }

.coaching-session-details-notes {
  -webkit-margin-before: 24px;
  margin-block-start: 24px; }

.coaching-session-details-notes__container {
  -webkit-margin-after: 24px;
  margin-block-end: 24px; }

.coaching-session-details-notes__container textarea {
  width: 100%;
  max-height: 200px;
  height: 200px;
  padding: 12px;
  border: 1px solid #D2D1D1;
  border-radius: 8px;
  overflow-y: auto;
  background-color: #fff; }

.coaching-session-details-notes__private-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  font-size: 90%;
  color: #7f8ea1; }

.coaching-session-details-notes__client-action-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 8px; }

.coaching-session-details-notes__coach-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 8px; }

.coaching-session-details-notes__shared_notes {
  width: 100%;
  padding: 12px;
  min-height: 200px;
  border: 1px solid #D2D1D1;
  border-radius: 8px;
  background-color: #fff;
  color: #556370;
  font-size: 14px; }

.coaching-session-details-notes__shared_notes > p {
  margin: 0; }

.coaching-session-details-notes__sent-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  font-size: 90%;
  color: #7f8ea1; }

.coaching-session-details-notes__save-btn--disabled {
  cursor: not-allowed; }

.coaching-session-details-participants {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.coaching-sidebar__search {
  -webkit-padding-after: 24px;
  padding-block-end: 24px; }

.coaching-sidebar__search-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  position: relative; }

.coaching-sidebar__search-icon {
  position: absolute;
  left: 8px;
  font-size: 16px;
  top: calc(50% - 0.5em); }

input.coaching-sidebar__search-input {
  border-left: none;
  border-top: none;
  border-right: none;
  border: 1px solid rgba(128, 128, 128, 0.2);
  background: transparent;
  padding: 0 14px 0 30px;
  height: 36px;
  border-radius: 6px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  outline: none;
  color: black; }

input.coaching-sidebar__search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  height: 24px;
  width: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
  cursor: pointer; }

input.coaching-sidebar__search-input:focus, input.coaching-sidebar__search-input:active {
  border: 1px solid rgba(128, 128, 128, 0.4); }

.sidebar-search--scheme-light input.coaching-sidebar__search-input {
  border: 1px solid rgba(0, 0, 0, 0.2);
  color: black; }

.sidebar-search--scheme-light input.coaching-sidebar__search-input::-webkit-search-cancel-button {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>"); }

.sidebar-search--scheme-light input.coaching-sidebar__search-input:focus, .sidebar-search--scheme-light input.coaching-sidebar__search-input:active {
  border: 1px solid rgba(0, 0, 0, 0.4); }

.sidebar-search--scheme-dark input.coaching-sidebar__search-input {
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: white; }

.sidebar-search--scheme-dark input.coaching-sidebar__search-input::-webkit-search-cancel-button {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>"); }

.sidebar-search--scheme-dark input.coaching-sidebar__search-input:focus, .sidebar-search--scheme-dark input.coaching-sidebar__search-input:active {
  border: 1px solid rgba(255, 255, 255, 0.4); }

.library-offer__image {
  margin-bottom: 20px; }

.library-offer__title {
  display: block;
  margin-bottom: 10px; }

.library-offer__description {
  margin-bottom: 20px; }

.link-list__link {
  margin-bottom: 5px;
  -webkit-transition: all 0.2s cubic-bezier(1, 0, 0, 1);
  -o-transition: all 0.2s cubic-bezier(1, 0, 0, 1);
  transition: all 0.2s cubic-bezier(1, 0, 0, 1); }

.link-list--row {
  display: block; }

.link-list--column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.link-list--column .link-list__title {
  display: block;
  margin-bottom: 10px; }

.link-list--column .link-list__link {
  display: block; }

.link-list--mobile-left .link-list__link {
  margin: 0 20px 0 0; }

.link-list--mobile-center .link-list__link {
  margin: 0 10px; }

.link-list--mobile-right .link-list__link {
  margin: 0 0 0 20px; }

@media (min-width: 768px) {
  .link-list--desktop-left .link-list__link {
    margin: 0 20px 0 0; }

  .link-list--desktop-center .link-list__link {
    margin: 0 10px; }

  .link-list--desktop-right .link-list__link {
    margin: 0 0 0 20px; } }
.member {
  width: 100%;
  height: 100%;
  padding: 30px;
  text-align: center;
  border: 1px solid #000000;
  border-radius: 4px;
  background-color: #ffffff; }

.member__avatar {
  height: 100px;
  margin: 0 auto 20px;
  border-radius: 50%; }

.member__name {
  margin-bottom: 0; }

.member__info {
  margin: 15px 0; }

.member__bio {
  margin-bottom: 6px; }

.member__location {
  margin-bottom: 0; }

.member__socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.member__social {
  margin: 0 5px; }

.member__social-icon {
  font-size: 24px;
  margin: 0; }

@media (min-width: 768px) {
  .member-search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }
.newsletter-listing {
  width: 100%;
  margin-bottom: 30px; }

.newsletter-listing__title {
  display: block;
  margin-bottom: 10px;
  color: #1c2838; }

.newsletter-listing__title:hover {
  color: #1c2838; }

.newsletter-listing__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.newsletter-listing__meta {
  font-size: 12px;
  display: block;
  margin: 10px 0;
  color: #7f8ea1; }

.newsletter-listing img {
  margin-bottom: 20px; }

.newsletter-listing .video {
  margin-bottom: 20px; }

.newsletter-listing__content {
  margin: 10px 0;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; }

.newsletter-listing__content > :last-child {
  margin: 0; }

.newsletter-listing__more {
  font-size: 16px;
  display: block;
  margin: 10px 0; }

.newsletter-listing__panel {
  overflow: hidden; }

.newsletter-listing__panel .newsletter-listing__data {
  padding: 20px; }

.newsletter-listing__panel img {
  margin-bottom: 0; }

.newsletter-listing__panel .video {
  margin-bottom: 0; }

@media (min-width: 768px) {
  .newsletter-listing--grid-2 {
    width: calc(50% - 15px); }

  .newsletter-listing--grid-3 {
    width: calc(50% - 15px); }

  .newsletter-listing--has-media.newsletter-listing--side-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .newsletter-listing--has-media.newsletter-listing--side-left img {
    margin-bottom: 0; }

  .newsletter-listing--has-media.newsletter-listing--side-left .video {
    margin-bottom: 0; }

  .newsletter-listing--has-media.newsletter-listing--side-left .newsletter-listing__media {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

  .newsletter-listing--has-media.newsletter-listing--side-left .newsletter-listing__data {
    width: 70%;
    margin: 0 0 0 15px; }

  .newsletter-listing--has-media.newsletter-listing--side-left .newsletter-listing__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%; }

  .newsletter-listing--has-media.newsletter-listing--side-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 100%; }

  .newsletter-listing--has-media.newsletter-listing--side-right img {
    margin-bottom: 0; }

  .newsletter-listing--has-media.newsletter-listing--side-right .video {
    margin-bottom: 0; }

  .newsletter-listing--has-media.newsletter-listing--side-right .newsletter-listing__media {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

  .newsletter-listing--has-media.newsletter-listing--side-right .newsletter-listing__data {
    width: 70%;
    margin: 0 15px 0 0; }

  .newsletter-listing--has-media.newsletter-listing--side-right .newsletter-listing__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 100%; } }
@media (min-width: 1024px) {
  .newsletter-listing--grid-3 {
    width: calc(33.333333% - 20px); }

  .newsletter-listing--has-media.newsletter-listing--side-left .newsletter-listing__title {
    margin-bottom: 5px; }

  .newsletter-listing--has-media.newsletter-listing--side-left .newsletter-listing__meta {
    margin-top: 5px; }

  .newsletter-listing--has-media.newsletter-listing--side-left .newsletter-listing__data {
    margin: 0 0 0 30px; }

  .newsletter-listing--has-media.newsletter-listing--side-right .newsletter-listing__title {
    margin-bottom: 5px; }

  .newsletter-listing--has-media.newsletter-listing--side-right .newsletter-listing__meta {
    margin-top: 5px; }

  .newsletter-listing--has-media.newsletter-listing--side-right .newsletter-listing__data {
    margin: 0 30px 0 0; } }
.newsletter-sidebar .social-icons {
  width: 100%; }

.offers {
  margin-bottom: 30px; }

.offers input[type=radio],
.offers input[type=checkbox] {
  display: none; }

.offers__title {
  margin-bottom: 10px; }

.offer {
  margin-bottom: 20px;
  padding: 30px;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.05); }

.offer__radio {
  position: relative;
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
  margin-right: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 50%; }

.offer__radio-inner {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  border-radius: 50%;
  background-color: transparent; }

.offer__title {
  font-weight: 700;
  margin: 0; }

.offer__desc {
  font-size: 0.875rem;
  margin: 1rem 0; }

.offer__img {
  margin: 0; }

.offer__price {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0; }

input[type=radio]:checked + label .offer,
input[type=checkbox]:checked + label .offer {
  border: 1px solid #9cb1a9;
  background-color: rgba(0, 0, 0, 0.025); }

input[type=radio]:checked + label .offer__radio-inner,
input[type=checkbox]:checked + label .offer__radio-inner {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  background-color: #9cb1a9; }

input[type=radio]:checked + label .offer__price,
input[type=checkbox]:checked + label .offer__price {
  color: #9cb1a9; }

.product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.product__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 30px; }

@media (min-width: 1024px) {
  .product--12 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .product--12 .product__image {
    max-width: 380px; }

  .product--12 .product__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .product--12 .product__button {
    margin-left: 30px; } }
.resume-course {
  position: relative; }

.resume-course__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  color: inherit; }

.resume-course__title {
  margin-bottom: 0; }

.resume-course__image {
  margin-bottom: 20px; }

@media (min-width: 768px) {
  .resume-course__positioner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%; }

  .resume-course__content {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: inherit; }

  .resume-course__text {
    width: 60%;
    margin-right: 5%;
    text-align: right; }

  .resume-course__image {
    width: 35%; } }
.sales-page-tags {
  margin-bottom: 2rem;
  text-align: center; }

.sales-page-tags a {
  font-size: 1.125rem;
  font-weight: bold;
  display: inline-block;
  margin: 1rem; }

.sales-page-tags .active {
  font-weight: normal; }

.sidebar-categories__title {
  margin-bottom: 10px; }

.sidebar-categories__link {
  display: block; }

.sidebar-categories__tag {
  display: block;
  text-transform: capitalize; }

.sidebar-categories__tag--active {
  font-weight: 700; }

.sidebar-categories select#category-select {
  text-transform: capitalize; }

.sidebar-custom__image {
  margin-bottom: 20px; }

.sidebar-instructor {
  text-align: center; }

.sidebar-instructor__heading {
  color: #1c2838; }

.sidebar-instructor__image {
  display: inline-block;
  width: 120px;
  margin: 10px 0;
  border-radius: 50%; }

.sidebar-instructor__name {
  color: #1c2838; }

.sidebar-instructor__title {
  font-size: 14px;
  color: #7f8ea1; }

.sidebar-recent-posts__item {
  margin-bottom: 20px; }

.sidebar-recent-posts__heading {
  display: block;
  margin-bottom: 20px; }

.sidebar-recent-posts__title {
  display: block;
  margin-bottom: 6px; }

.sidebar-recent-posts__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.sidebar-recent-posts__date {
  font-size: 14px;
  color: #7f8ea1; }

.sidebar-search__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.sidebar-search__icon {
  font-size: 24px;
  margin-right: 10px; }

.sidebar-search__input {
  min-width: 0; }

.social-icons__heading {
  margin-bottom: 15px; }

.social-icons__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.social-icons__icons > :first-child {
  margin-left: 0 !important; }

.social-icons__icons > :last-child {
  margin-right: 0 !important; }

.social-icons__icon {
  font-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 10px;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  text-decoration: none; }

.social-icons__icon--med {
  font-size: 24px; }

.social-icons__icon--lg {
  font-size: 32px; }

.social-icons__icon:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%); }

.social-icons--round .social-icons__icon {
  width: 2em;
  height: 2em;
  margin: 0 5px 5px 0;
  border-radius: 50%; }

.social-icons--square .social-icons__icon {
  width: 2em;
  height: 2em;
  margin: 0 5px 5px 0; }

.social-share-modal__backdrop {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none; }

.social-share-modal--active .social-share-modal__backdrop {
  display: block; }

.social-share-modal__menu {
  position: absolute;
  z-index: 9999;
  min-width: 200px;
  padding: 6px 0;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 0.2s cubic-bezier(1, 0, 0, 1);
  -o-transition: transform 0.2s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.2s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.2s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.2s cubic-bezier(1, 0, 0, 1);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  text-align: left;
  opacity: 0;
  border-radius: 4px;
  -webkit-box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.1);
  background: #ffffff;
  text-align: left;
  margin: 14px 0; }

.social-share-modal__menu i {
  padding: 0 8px 0 0; }

.social-share-modal__menu button {
  font-family: Crimson Text;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6; }

@media (min-width: 768px) {
  .social-share-modal__menu button {
    font-size: 18px; } }
.social-share-modal--active .social-share-modal__menu {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.social-share-modal__label {
  font-weight: 700;
  font-size: 70%;
  padding: 6px 14px 6px; }

.social-share-modal__list {
  list-style: none;
  padding: 0;
  margin: 0; }

.social-share-modal__item {
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.social-share-modal__item--border-top {
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  margin-top: 5px;
  padding-top: 5px; }

.social-share-modal button.social-share-modal__item-link {
  padding: 0 20px;
  margin: 0;
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 34px;
  color: #1c2838;
  font-size: 75%; }

.social-share-modal button.social-share-modal__item-link:hover, .social-share-modal button.social-share-modal__item-link:active {
  background: rgba(0, 0, 0, 0.04); }

.social-share__button {
  padding: 6px 0; }

.social-share__button a {
  margin: 0; }

.social-share__button a::before {
  content: "\f064";
  font-family: "Font Awesome 5 Free";
  font-size: 70%;
  vertical-align: 6%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.store-card__body {
  padding: 30px;
  background-color: #ffffff; }

.store-card__title {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 16px; }

.store-card__price {
  margin: 0; }

.thank-you {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center; }

.four-oh-four {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100vh;
  text-align: center; }

.announcements__title {
  margin-bottom: 20px; }

.announcements__col {
  margin: 0; }

@media (max-width: 1023px) {
  .announcements [class*=col-4] {
    width: 100%; }

  .announcements [class*=col-6] {
    width: 100%; } }
@media (min-width: 768px) {
  .announcements__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px; }

  .announcements__title {
    margin: 0 20px 0 0; } }
.auth__image {
  margin-bottom: 30px; }

.auth__link {
  margin-top: 30px; }

.auth__group--error .auth__message {
  display: block;
  margin-top: 6px;
  color: red; }

@media (min-width: 768px) {
  .blog-listings__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

  .blog-listings__content--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

  .blog-listings__content--grid-2 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .blog-listings__content--grid-3 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .blog-listings__content--side-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

  .blog-listings__content--side-right {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }
.blog-post-body__panel {
  padding: 20px; }

.blog-post-body__media {
  margin-bottom: 20px; }

.blog-post-body__tags {
  display: block;
  margin-bottom: 20px; }

.blog-post-body__date {
  display: block;
  margin-bottom: 20px;
  color: #7f8ea1; }

.blog-search-results__panel {
  padding: 20px; }

.blog-search-results__header {
  margin-bottom: 30px; }

.carousel.preview-mode [class*=col-] {
  outline: none; }

.carousel.preview-mode [class*=col-]::before {
  display: none; }

.carousel.full-width .slick-prev, .carousel.full-width .slick-next {
  z-index: 1040; }

.carousel.full-width .slick-prev {
  left: 45px; }

.carousel.full-width .slick-next {
  right: 45px; }

.carousel.full-width .slick-dots {
  bottom: 3rem; }

@media (max-width: 767px) {
  .carousel.full-width .slick-dots {
    bottom: 15px; } }
.coaching-session-details .coaching-session-details__secondary-link {
  color: #1c2838; }

.coaching-session-details .coaching-session-details__secondary-link:hover {
  color: #9cb1a9;
  -webkit-filter: brightness(115%);
  filter: brightness(115%); }

.coaching-session-details__back-link-container {
  -webkit-padding-after: 0;
  padding-block-end: 0; }

.coaching-session-details-cta-button {
  margin: 0; }

.background-dark .coaching-session-details__secondary-link {
  color: #ffffff; }

.background-dark #kajabi-calendar-modal-schedule,
.background-dark #kajabi-calendar-modal-cancel {
  color: #1c2838; }

.background-dark #kajabi-calendar-modal-schedule h1,
.background-dark #kajabi-calendar-modal-schedule h2,
.background-dark #kajabi-calendar-modal-schedule h3,
.background-dark #kajabi-calendar-modal-schedule h4,
.background-dark #kajabi-calendar-modal-schedule h5,
.background-dark #kajabi-calendar-modal-schedule h6,
.background-dark #kajabi-calendar-modal-cancel h1,
.background-dark #kajabi-calendar-modal-cancel h2,
.background-dark #kajabi-calendar-modal-cancel h3,
.background-dark #kajabi-calendar-modal-cancel h4,
.background-dark #kajabi-calendar-modal-cancel h5,
.background-dark #kajabi-calendar-modal-cancel h6 {
  color: #1c2838; }

.background-light .coaching-session-details__secondary-link {
  color: #1c2838; }

.footer {
  position: relative; }

.footer__content {
  padding: 20px 0; }

.footer__container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.footer__container > :first-child {
  margin-left: 0 !important; }

.footer__container > :last-child {
  margin-right: 0 !important; }

.footer__block {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin: 10px 0; }

.footer .link-list {
  display: block; }

.footer .link-list__link {
  margin: 5px 10px; }

@media (min-width: 768px) {
  .footer__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .footer__block {
    margin: 0 10px; }

  .footer .link-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

  .footer .link-list > :first-child {
    margin-left: 0; }

  .footer .link-list > :last-child {
    margin-right: 0; }

  .footer .link-list__link {
    margin: 0 10px; } }
.footer--stacked .footer__container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.footer--stacked .footer__block {
  margin: 10px 0; }

.footer--stacked .link-list {
  display: block;
  text-align: center; }

.footer--stacked .link-list__link {
  margin: 5px 10px !important; }

.header {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.header a {
  color: #1c2838; }

.header__container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.header__container > div:first-of-type {
  margin-left: 0 !important; }

.header__container > div:last-of-type {
  margin-right: 0 !important; }

.header__content--desktop {
  padding: 20px 0; }

.header__content--desktop .header__block {
  display: none;
  margin: 0 10px; }

.header__content--desktop .header__block.header__block--hello-bar {
  margin: 0; }

.header__content--desktop .header__block.header__block--show {
  display: block; }

.header__content--desktop .header__block.header__block--user .dropdown__menu {
  top: 48px; }

.header__content--desktop .link-list > :first-child {
  margin-left: 0; }

.header__content--desktop .link-list > :last-child {
  margin-right: 0; }

.header__content--desktop .link-list .link-list__link {
  margin: 0 10px; }

.header__content--desktop .btn {
  margin: 0; }

.header__content--desktop .mobile-cart-header__logo {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0;
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
  text-align: center; }

.header__content--desktop .mobile-cart-header__hamburger {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1; }

.header__content--desktop .mobile-cart-header__cart,
.header__content--desktop .mobile-cart-header__hamburger {
  width: 48px; }

.mobile-cart-header--logo {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 !important;
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
  text-align: center; }

.mobile-cart-header--hamburger {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  padding-right: 16px; }

.mobile-cart-header--cart, .mobile-cart-header--hamburger {
  width: 48px; }

.header__content--mobile {
  display: none;
  overflow-y: scroll;
  max-height: 70vh; }

.header__content--mobile .dropdown {
  display: block;
  -webkit-padding-start: 20px;
  padding-inline-start: 20px; }

.header__content--mobile .dropdown .dropdown__trigger {
  font-weight: 600; }

.header__content--mobile .dropdown .fa-chevron-down::before {
  display: none; }

.header__content--mobile .dropdown .user .dropdown__trigger::after {
  display: block; }

.header__content--mobile .dropdown .user__avatar {
  display: none; }

.header__content--mobile .dropdown .dropdown__menu {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  min-width: auto;
  margin: 0;
  padding: 0;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none; }

.header__content--mobile .dropdown .dropdown__item a {
  margin: 0;
  padding: 8px 20px; }

.header__content--mobile .dropdown .user > .dropdown {
  -webkit-padding-start: 0;
  padding-inline-start: 0; }

.header__content--mobile .link-list,
.header__content--mobile .user {
  display: block;
  text-align: left; }

.header__content--mobile .link-list__link,
.header__content--mobile .user__login a {
  display: block;
  margin: 0;
  padding: 8px 20px;
  -webkit-transition: all 0.2s cubic-bezier(1, 0, 0, 1);
  -o-transition: all 0.2s cubic-bezier(1, 0, 0, 1);
  transition: all 0.2s cubic-bezier(1, 0, 0, 1); }

.header__content--mobile .link-list__link:hover,
.header__content--mobile .user__login a:hover {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.02); }

.header__content--mobile .header__block--social-icons,
.header__content--mobile .header__block--cta,
.header__content--mobile .header__spacer {
  padding: 8px 20px; }

.header--static {
  display: block; }

.header--overlay,
.header--fixed {
  position: absolute;
  z-index: 9999;
  top: 0;
  width: 100%; }

.header--fixed {
  position: fixed;
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.075);
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.075);
  -webkit-transform: translateZ(999999px);
  transform: translateZ(999999px); }

@media (min-width: 768px) {
  .header__content--desktop .header__block {
    display: inline-block;
    margin: 0 10px; }

  .header__content--desktop .header__block.header__block--cart {
    margin-left: 30px; }

  .header__content--desktop .header__block--cart {
    margin-left: 30px; }

  .header__content--mobile {
    display: none; } }
.library {
  padding: 60px 0; }

.member-directory__title {
  margin-bottom: 20px; }

.member-directory__members {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }

.member-directory__col {
  margin: 0; }

.member-directory__opt-in {
  max-width: 450px;
  margin: 0 auto;
  text-align: center; }

.member-directory__no-results {
  margin: 0;
  text-align: center; }

@media (min-width: 768px) {
  .member-directory__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px; }

  .member-directory__title {
    margin: 0; } }
@media (min-width: 768px) {
  .newsletter-listings__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

  .newsletter-listings__content--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

  .newsletter-listings__content--grid-2 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .newsletter-listings__content--grid-3 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .newsletter-listings__content--side-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

  .newsletter-listings__content--side-right {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }
.page__title {
  margin-bottom: 20px; }

.page__heading {
  text-align: center; }

.powered-by {
  font-size: 14px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 20px 0;
  text-align: center; }

@media (min-width: 768px) {
  .powered-by {
    text-align: right; } }
.products__title {
  margin: 0 0 20px 0; }

.products__col {
  margin: 0; }

@media (min-width: 768px) {
  .products__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .products__title {
    margin: 0 20px 0 0; }

  .products .resume-course {
    max-width: 500px; } }
.sales-page-body__video {
  margin-bottom: 30px; }

.sales-page-body__title {
  margin-bottom: 30px; }

.sales-page-body__body {
  margin-bottom: 30px; }

@media (min-width: 768px) {
  .sidebar--sales-page {
    width: 200px;
    margin-left: 15px; } }
@media (min-width: 1024px) {
  .sidebar--sales-page {
    width: 300px;
    margin-left: 30px; } }
@media (min-width: 768px) {
  .blog__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .blog__content > :first-child {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; } }
@media (min-width: 768px) {
  .blog-post__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .blog-post__content > :first-child {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; } }
@media (min-width: 768px) {
  .blog-search__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  .blog-search__content > :first-child {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; } }
@media (min-width: 768px) {
  .sales-page__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; } }
/* ========================================================================== */
/* Serenity public IBD revamp styles                                          */
/* ========================================================================== */
body#encore-theme.course-layout {
  background: #fbfbfb;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
  --course-header-height: 66px;
  --course-preview-banner-height: 36px;
  --course-shell-side-padding: 40px; }

body#encore-theme.course-layout .course-content-wrapper {
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  min-height: auto;
  width: 100%;
  padding-top: calc(var(--course-header-height) + var(--course-preview-banner-height));
  overflow: visible; }

body.course-layout-minimal {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
  --course-shell-side-padding: 40px; }

body.course-layout-minimal .course-layout-minimal__main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%; }

body.course-layout-minimal .course-footer {
  margin-top: auto; }

.course-header {
  flex-shrink: 0;
  position: fixed;
  top: var(--course-preview-banner-height);
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #e5e2dd;
  padding: 0.9375rem var(--course-shell-side-padding); }

.course-header__inner {
  width: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem; }

.course-header__brand {
  display: flex;
  align-items: center;
  min-width: 0; }

.course-header__logo-link {
  display: inline-flex;
  line-height: 1;
  text-decoration: none;
  color: #1c1f23; }

.course-footer__inner {
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0; }

.course-header__logo-svg,
.course-footer__logo-svg {
  width: 100%;
  height: 100%;
  display: block;
  vertical-align: middle; }

.course-header__logo-img,
.course-header__logo-svg {
  width: auto;
  height: 35px;
  max-width: none; }

.course-footer__logo-link {
  color: #fff; }

.course-footer__logo-img,
.course-footer__logo-svg {
  width: 383px;
  height: 65px;
  max-width: 100%; }

.course-header__hamburger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  padding: 0;
  border: none;
  background: transparent;
  color: #1c1f23;
  cursor: pointer;
  font-size: 1.375rem;
  line-height: 1; }

.course-header__hamburger:focus-visible,
.course-header__mobile-close:focus-visible,
.course-header__mobile-link:focus-visible,
.course-header__mobile-sublink:focus-visible,
.course-header__mobile-action:focus-visible {
  outline: 2px solid #1c1f23;
  outline-offset: 2px; }

.course-header__mobile-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(18, 24, 32, 0.45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 180ms ease, visibility 0s linear 180ms;
  z-index: 1100; }

.course-header__mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: min(25rem, 88vw);
  max-width: 100vw;
  height: 100vh;
  height: 100svh;
  background: #fff;
  border-left: 1px solid #e5e2dd;
  box-shadow: -12px 0 26px rgba(28, 31, 35, 0.12);
  padding: 1.25rem 2.25rem 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.5rem;
  overflow-y: auto;
  overflow-x: hidden;
  transform: translateX(100%);
  transition: transform 220ms ease;
  z-index: 1101; }

.course-header__mobile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem; }

.course-header__mobile-wordmark {
  display: inline-flex;
  align-items: center;
  color: #1c1f23; }

.course-header__mobile-wordmark-svg {
  display: block;
  height: 1.8125rem;
  width: auto; }

.course-header__mobile-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #1c1f23;
  cursor: pointer; }

.course-header__mobile-close-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  color: #1c1f23; }

.course-header__mobile-divider {
  border: 0;
  border-top: 1px solid #e5e2dd;
  margin: 0;
  height: 0;
  width: 100%; }

.course-header__mobile-links {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem; }

.course-header__mobile-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  background: transparent;
  border: 0;
  padding: 0;
  -webkit-filter: none;
  filter: none; }

.course-header__mobile-link-label {
  display: inline-flex;
  align-items: center; }

.course-header__mobile-link:hover,
.course-header__mobile-link:focus-visible {
  background: transparent;
  color: #1c1f23;
  text-decoration: underline;
  -webkit-filter: none;
  filter: none; }

.course-header__mobile-bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem; }

.course-header__mobile-sublinks {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem; }

.course-header__mobile-sublink {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  -webkit-filter: none;
  filter: none; }

.course-header__mobile-sublink:hover,
.course-header__mobile-sublink:focus-visible {
  background: transparent;
  color: #1c1f23;
  text-decoration: underline;
  -webkit-filter: none;
  filter: none; }

.course-header__mobile-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; }

.course-header__mobile-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 700;
  line-height: 1.2; }

.course-header__mobile-action--primary {
  min-height: 3.25rem;
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 500px;
  font-size: 1rem;
  background: #1b3d2f;
  border: 1px solid #1b3d2f;
  color: #fff; }

.course-header__mobile-action--text {
  padding: 0.5rem 0;
  background: transparent;
  border: 0;
  color: #1c1f23;
  font-size: 1rem;
  font-weight: 500;
  -webkit-filter: none;
  filter: none; }

.course-header__mobile-action--text:hover,
.course-header__mobile-action--text:focus-visible {
  background: transparent;
  color: #1c1f23;
  text-decoration: underline;
  -webkit-filter: none;
  filter: none; }

.course-header.header-mobile-menu-open .course-header__mobile-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 180ms ease; }

.course-header.header-mobile-menu-open .course-header__mobile-menu {
  transform: translateX(0); }

.course-header.header-mobile-menu-open {
  z-index: 1200; }

body.course-header-menu-open {
  overflow: hidden; }

.course-footer {
  background: #1b3d2f;
  border-top: 0;
  padding: 3.125rem var(--course-shell-side-padding) 1.5625rem;
  margin-top: 0;
  flex-shrink: 0; }

.course-footer__brand {
  margin-bottom: 2.5rem; }

.course-footer__logo-link {
  display: inline-flex;
  text-decoration: none; }

.course-footer__links {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: 0.9375rem; }

.course-footer__links-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.125rem; }

.course-footer__link {
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  text-decoration: none; }

.course-footer__link:hover {
  color: #fff;
  opacity: 0.85;
  text-decoration: none; }

.course-footer__socials {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  margin-bottom: 3.75rem; }

.course-footer__social {
  width: 2.9375rem;
  height: 2.9375rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1.125rem; }

.course-footer__social:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.28);
  text-decoration: none; }

.course-footer__disclaimer {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  color: #fff; }

.course-footer__disclaimer p {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 400; }

.course-footer__disclaimer p:last-child {
  font-weight: 700; }

.product-page,
.post-page {
  width: 100%;
  flex: 1 1 auto;
  min-width: 0; }

.product-page__main,
.post-page__main {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px 48px; }

/* 404 "Back to home" CTA: matches the site's v2 pill buttons
   (dark-green fill, 999px radius). Level 1 lock-to-code: font-family pinned so
   it doesn't inherit settings-driven typography. Asymmetric vertical padding
   for Sofia Pro optical centering per AGENTS.md "Pill and Badge Optical
   Centering". */
.public-not-found__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 999px;
  background: #1b3d2f;
  border: 1px solid #1b3d2f;
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
  -webkit-filter: none;
  filter: none; }

.public-not-found__cta:hover,
.public-not-found__cta:focus-visible {
  color: #fff;
  background: #265743;
  border-color: #265743;
  text-decoration: none;
  -webkit-filter: none;
  filter: none; }

.product-experts {
  margin-top: 60px; }

.product-experts__heading,
.product-syllabus__heading,
.product-what-you-learn__heading {
  color: #1f2a37;
  margin: 0 0 20px; }

.product-experts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px; }

.product-expert-card {
  border: 1px solid rgba(17, 24, 39, 0.12);
  background: #fff;
  border-radius: 4px;
  padding: 14px;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px; }

.product-expert-card__image {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  object-fit: cover; }

.product-expert-card__name {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1.3; }

.product-expert-card__title {
  margin: 0;
  color: #6b7280;
  font-size: 13px; }

.product-syllabus {
  margin-top: 48px; }

.product-syllabus__module-heading {
  margin: 24px 0 8px;
  font-size: 26px;
  color: #1f2a37; }

.product-syllabus__row {
  display: grid;
  grid-template-columns: 108px 1fr auto 20px;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 4px;
  background: #fff;
  color: #1f2a37;
  text-decoration: none;
  padding: 14px 16px;
  margin-bottom: 8px; }

.product-syllabus__row:hover {
  color: #1f2a37;
  text-decoration: none;
  border-color: rgba(35, 192, 122, 0.6); }

.product-syllabus__lesson-num,
.product-syllabus__duration {
  color: #6b7280;
  font-size: 13px; }

.product-what-you-learn {
  margin-top: 48px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 4px;
  background: #fff;
  padding: 24px; }

.product-what-you-learn__body {
  margin: 0;
  color: #6b7280; }

.lesson-v2__main {
  max-width: 94.5rem;
  padding: 1.875rem 4.375rem 5.625rem; }

.lesson-v2 {
  /* Pill custom properties use SCSS hash-brace interpolation so the access
     pill (Momentum-only consumer) scales as a coherent unit under text
     zoom: font + padding grow together preserving the badge's optical
     proportions. The calc()-driven min-height of the course row also
     becomes rem automatically.
     Vertical padding is asymmetric (top 3.5, bottom 6.5, ~1.5px optical
     shift) for centering Sofia Pro text in the badge; calibrated from
     iterating between 1px (too low) and 2px (too high) shifts. See
     AGENTS.md "Pill and Badge Optical Centering" for the broader pattern. */
  --lesson-pill-font-size: 0.75rem;
  --lesson-pill-pad-top: 0.21875rem;
  --lesson-pill-pad-bottom: 0.40625rem;
  --lesson-pill-pad-x: 0.625rem;
  --lesson-course-row-min-height: calc(var(--lesson-pill-font-size) + var(--lesson-pill-pad-top) + var(--lesson-pill-pad-bottom));
  background: #fff; }

.lesson-v2__course-row {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: var(--lesson-course-row-min-height);
  gap: 0.5rem;
  margin: 0 0 1.875rem; }

.lesson-v2__course {
  margin: 0;
  min-width: 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
  display: inline-block; }

.lesson-v2__course:hover,
.lesson-v2__course:focus {
  color: #1c1f23;
  text-decoration: underline; }

.lesson-v2__title-block {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 3.125rem;
  color: #1c1f23; }

.lesson-v2__lesson-meta {
  margin: 0 0 0.9375rem;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase; }

.lesson-v2__lesson-title {
  margin: 0;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 3.0625rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.091875rem;
  overflow-wrap: anywhere; }

.lesson-v2__video-section,
.lesson-v2__written-section {
  /* Nav column width is a grid layout decision (nav-vs-main split), not a
     text container width; kept in px so the section's column proportions
     stay stable under text zoom (text inside each column reflows on its
     own constraints). Column gap is text-adjacent spacing -> rem. */
  --lesson-v2-nav-col-width: clamp(220px, 28.5%, 430px);
  --lesson-v2-col-gap: 5rem;
  display: grid;
  grid-template-columns: minmax(0, var(--lesson-v2-nav-col-width)) minmax(0, 1fr);
  column-gap: var(--lesson-v2-col-gap);
  align-items: start;
  margin: 0; }

/* Video-only lessons (currently: 16, Bonus) omit the chapter side rail. The
   variant centers the video-main container at the same physical width it
   occupies on regular lesson pages, so navigating from a regular lesson to
   the bonus preserves visual continuity (video same size, just centered
   instead of right-aligned). Kept in parity with Momentum. */
.lesson-v2__video-section--video-only {
  display: block; }

.lesson-v2__video-section--video-only .lesson-v2__video-main {
  max-width: calc(100% - var(--lesson-v2-nav-col-width) - var(--lesson-v2-col-gap));
  margin-left: auto;
  margin-right: auto; }

.lesson-v2__video-nav {
  position: static;
  top: auto;
  max-height: none;
  overflow: visible;
  min-width: 0; }

.lesson-v2__video-main,
.lesson-v2__written-main {
  min-width: 0; }

.lesson-v2__lesson-nav {
  margin-top: 0; }

.lesson-v2__video-heading,
.lesson-v2__written-heading {
  margin: 0 0 1.25rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase; }

.lesson-v2__video-hint {
  margin: 0 0 0.625rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 600; }

.lesson-v2__video-chapter-list,
.lesson-v2__written-list {
  display: flex;
  flex-direction: column;
  gap: 0; }

.lesson-v2__video-chapter-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 1rem;
  width: 100%;
  text-align: unset;
  cursor: pointer;
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 0 8px 8px 0;
  background: #fff;
  padding: 0.5rem 0.9375rem;
  color: #1c1f23;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease; }

.lesson-v2__video-chapter-item:hover {
  background: #f7f5f2; }

.lesson-v2__video-chapter-title {
  color: inherit;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere; }

.lesson-v2__video-chapter-time {
  color: inherit;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 500;
  text-align: right;
  white-space: nowrap; }

.lesson-v2__video-chapter-item.active {
  border-left-color: #1b3d2f;
  background: #fdf6e8; }

.lesson-v2__video-chapter-item.active .lesson-v2__video-chapter-title {
  font-weight: 700; }

.lesson-v2__video-chapter-item.active .lesson-v2__video-chapter-time {
  font-weight: 700; }

.lesson-v2__video-embed {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: hidden; }

.lesson-v2__video-embed .wistia_embed {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.lesson-v2__pager {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2.5rem;
  margin: 0;
  /* Allow prev/next pager links to wrap to a second row under text-only
     zoom when their combined width exceeds the row. Base case: links fit
     on one row, wrap is non-binding; visual identical to today. */
  flex-wrap: wrap; }

.lesson-v2__pager-link {
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  white-space: nowrap; }

.lesson-v2__pager-link i {
  font-size: 1em;
  line-height: 1; }

.lesson-v2__pager-link:hover {
  color: #1c1f23;
  opacity: 0.82; }

.lesson-v2__pager-link--prev i {
  order: -1; }

.lesson-v2__video-section .lesson-v2__pager {
  padding: 1.25rem 0; }

.lesson-v2 .post-written-nav__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 1rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  text-decoration: none;
  border-left: 2px solid transparent;
  /* Explicit border-bottom: 0 to suppress Momentum's stock
     `.post-written-nav__link { border-bottom: 1px solid transparent }` and
     `.post-written-nav__link.active { border-bottom-color: $primary-color }`
     from leaking into the v2 active state as an "underline". Serenity does
     not have the stock block so this is a no-op there, but the explicit
     declaration makes the v2 rule self-documenting (no underline on the
     active chapter) and provides cross-theme source parity. */
  border-bottom: 0;
  border-radius: 0 8px 8px 0;
  padding: 0.5rem 0.9375rem;
  overflow: hidden; }

.lesson-v2 .post-written-nav__link::after {
  content: ''; }

.lesson-v2 .post-written-nav__link:hover {
  color: #1c1f23;
  background: #f7f5f2;
  text-decoration: none; }

.lesson-v2__written-section {
  margin-top: 6.25rem; }

.lesson-v2__written-nav-wrap {
  min-width: 0; }

.lesson-v2__written-nav {
  position: static;
  top: auto;
  max-height: none;
  overflow: visible;
  min-width: 0; }

/* Serenity-only standalone margin override for written-heading. */
.lesson-v2__written-heading {
  margin-bottom: 1.25rem; }

.lesson-v2 .post-written-nav__link.active {
  font-weight: 700;
  border-left-color: #1b3d2f;
  background: #fdf6e8; }

/* Intro paragraph above the first written section (In-the-Office lesson
   variant, lessons 9-14). Composed with .post-written-content__body so it
   inherits the locked Sofia Pro / #454749 typography; this rule only adds
   the block's own bottom spacing (the inner <p>:last-child has margin-bottom
   0, and the first .post-written-content__section has no margin-top, so the
   intro-to-heading gap would otherwise collapse to 0). Matches the
   section-to-section rhythm at all breakpoints.
   Cross-theme parity: byte-identical in momentum/assets/styles.scss.liquid. */
.lesson-v2 .post-written-content__intro {
  margin-bottom: 3.4375rem; }

.lesson-v2 .post-written-content__section {
  margin-bottom: 3.4375rem;
  /* Header + preview-banner offsets stay px per F6 (JS-measured). The
     trailing +34 is a text-adjacent gap below the fixed top chrome before
     the scrolled-to section heading appears; convert to rem so the visual
     gap scales with text. */
  scroll-margin-top: calc(var(--course-header-height, 66px) + var(--course-preview-banner-height, 0px) + 2.125rem); }

.lesson-v2 .post-written-content__section:last-child {
  margin-bottom: 1.25rem; }

.lesson-v2 .post-written-content__heading {
  margin: 0 0 2.1875rem;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 2.4375rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.073125rem;
  overflow-wrap: anywhere; }

/* Subsection heading within a written section (e.g. Lesson 7 "Practical tips
   for starting a fiber supplement" under Soluble Fiber). Display serif like the
   section heading but a step down, so a subsection reads as subordinate to the
   h2. Cross-theme parity: byte-identical in momentum/assets/styles.scss.liquid. */
.lesson-v2 .post-written-content__subheading {
  margin: 2.1875rem 0 1.125rem;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.5rem;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.03rem;
  overflow-wrap: anywhere; }

/* Cross-theme parity rule: written-lesson body copy is locked to Sofia Pro at
   #454749 across EVERY text-bearing element (paragraphs, list items, and inline
   emphasis), paired identically with Momentum's matching block. Only <p> was
   locked before, so <ul>/<ol>/<li> and <strong>/<em> nested in list items fell
   through to each theme's stock `body` rule and rendered in the admin-settings
   font at a lighter color (Serenity: settings.font_family_body/settings.color_body;
   Momentum: settings.font_family + muted mixin) - which also differed across
   themes because the two read font-family from different settings keys. Setting
   the family/color on the container and re-asserting them per element keeps both
   themes identical (design-token lock policy). Section headings
   (.post-written-content__heading) stay Mackinac/#1c1f23 - not touched here. */
.lesson-v2 .post-written-content__body {
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4; }

.lesson-v2 .post-written-content__body p,
.lesson-v2 .post-written-content__body li {
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 400; }

.lesson-v2 .post-written-content__body p {
  margin: 0 0 1.125rem; }

.lesson-v2 .post-written-content__body p:last-child {
  margin-bottom: 0; }

/* List box-metrics locked identically across themes so bullet indentation and
   item spacing match (stock Website vs Product Cornerstone list metrics differ). */
.lesson-v2 .post-written-content__body ul,
.lesson-v2 .post-written-content__body ol {
  margin: 0 0 1.125rem;
  padding-left: 1.5rem; }

.lesson-v2 .post-written-content__body li {
  margin: 0 0 0.5rem; }

.lesson-v2 .post-written-content__body li:last-child {
  margin-bottom: 0; }

/* Inline emphasis inherits the locked family/color; strong keeps bold intent
   (used for the "Misconception #N" inline headings and list lead-ins). */
.lesson-v2 .post-written-content__body strong {
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 700; }

.lesson-v2 .post-written-content__body em {
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-style: italic; }

/* Inline links within lesson body copy (e.g. the Lesson 5 resources-page link).
   Colored + underlined so a link reads and behaves as a real link within prose
   (font-size/line-height intentionally inherit from the locked paragraph so the
   link flows with body text and its responsive sizing). Cross-theme parity: this
   block is byte-identical in momentum/assets/styles.scss.liquid. */
.lesson-v2 .post-written-content__body a {
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.125rem; }

.lesson-v2 .post-written-content__body a:hover,
.lesson-v2 .post-written-content__body a:focus {
  color: #152f24;
  text-decoration: underline;
  /* Neutralize the global a:hover brightness filter (Serenity styling gotcha;
     harmless no-op in Momentum) so the link darkens predictably instead. */
  filter: none;
  -webkit-filter: none; }

/* =========================================================================
   Resource-list block (Lesson 17, IBS Resources). Each item is a bold green link
   (the resource name) plus a body-copy description paragraph. Items are separated
   by hairline dividers matching the paywall card border (#e6e0d4) so the list reads
   as a cross-referenced directory rather than a bullet list. Design-token lock:
   every selector sets font-family/color/size/weight/line-height explicitly.
   Cross-theme parity: this block is byte-identical in
   momentum/assets/styles.scss.liquid.
   ========================================================================= */
.lesson-v2 .post-written-content__resources {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0; }

.lesson-v2 .post-written-content__resource {
  margin: 0;
  padding: 1.25rem 0;
  border-top: 0.0625rem solid #e6e0d4; }

.lesson-v2 .post-written-content__resource:last-child {
  border-bottom: 0.0625rem solid #e6e0d4; }

.lesson-v2 .post-written-content__resource-title {
  display: inline-block;
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-decoration: none; }

.lesson-v2 .post-written-content__resource-title:hover,
.lesson-v2 .post-written-content__resource-title:focus {
  color: #152f24;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
  /* Neutralize the global a:hover brightness filter (Serenity styling gotcha;
     harmless no-op in Momentum). */
  filter: none;
  -webkit-filter: none; }

.lesson-v2 .post-written-content__resource-desc {
  margin: 0.375rem 0 0;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.96875rem;
  font-weight: 400;
  line-height: 1.55; }

/* Italic disclaimer paragraphs used on the resources page (top note above section 1,
   and the four-paragraph footer inside the last section body). Smaller and muted so
   they read as legal-adjacent copy without competing with the resource list. */
.lesson-v2 .post-written-content__disclaimer {
  margin: 1.125rem 0 0;
  color: #6b6f73;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.84375rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.55; }

.lesson-v2 .post-written-content__disclaimer:first-child {
  margin-top: 0; }

/* =========================================================================
   Common Misconceptions about IBS - "Myth -> Reality" callout (Lesson 1, all four).
   Each misconception renders as a two-part card: a tinted claim zone (numbered
   badge + statement) above a clean reality zone, giving strong myth-vs-fact
   contrast that matches this content's intent.
   Cross-theme parity: this block is byte-identical in
   momentum/assets/styles.scss.liquid and serenity/assets/styles.scss.liquid.
   Design-token lock: every text-bearing rule sets font-family + color
   explicitly rather than inheriting from body (cross-theme parity hazard).
   ========================================================================= */
.lesson-v2 .post-written-content__body .lesson-v2__myth {
  margin: 1.75rem 0;
  border: 1px solid #ece7dd;
  border-radius: 0.875rem;
  background: #ffffff;
  overflow: hidden; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-claim {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 1.25rem 1.375rem;
  background: #fbf4ec;
  border-bottom: 1px solid #efe2d0; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-badge {
  flex: 0 0 auto;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  /* Sofia Pro digits sit low in their em-box; extra padding-bottom re-centers
     the numeral optically (same technique as the theme's pill/badge rule).
     Adjust by ~1px during browser validation if it reads high or low. */
  padding-bottom: 0.1875rem;
  border-radius: 50%;
  background: #D32F2F;
  color: #ffffff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-claim-content {
  min-width: 0; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-label {
  display: block;
  margin: 0.1875rem 0 0.375rem;
  color: #D32F2F;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0625rem;
  text-transform: uppercase; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-statement {
  margin: 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-reality {
  padding: 1.125rem 1.375rem 1.25rem; }

/* Reality eyebrow: plain text (no icon) so it left-aligns exactly with the body
   copy directly below it; only the color differs from the claim label. */
.lesson-v2 .post-written-content__body .lesson-v2__myth-label--reality {
  margin-top: 0;
  color: #1b3d2f; }

.lesson-v2 .post-written-content__body .lesson-v2__myth-reality p:last-child,
.lesson-v2 .post-written-content__body .lesson-v2__myth-reality ol:last-child,
.lesson-v2 .post-written-content__body .lesson-v2__myth-reality ul:last-child {
  margin-bottom: 0; }

/* =========================================================================
   Rome V criteria excerpt (Lesson 3, "The Rome Criteria"). Presents the formal
   Rome V definition as a cited excerpt so it reads as an authoritative source
   rather than our own prose: an accent left rule on a soft cream panel, the
   definition + criteria in italic quotation style, brand-green numbering, and an
   uppercase attribution. Cross-theme parity: this block is byte-identical in
   momentum/assets/styles.scss.liquid. Design-token lock: every text-bearing rule
   sets font-family + color explicitly. Colors are established theme tokens
   (#1b3d2f brand green, #fbf4ec cream, #454749 body copy). */
.lesson-v2 .post-written-content__body .lesson-v2__criteria {
  margin: 1.75rem 0;
  padding: 1.5rem 1.75rem 1.375rem 1.875rem;
  border-left: 0.25rem solid #1b3d2f;
  border-radius: 0 0.75rem 0.75rem 0;
  background: #fbf4ec; }

.lesson-v2 .post-written-content__body .lesson-v2__criteria-lead {
  margin: 0 0 0.875rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 400;
  font-style: italic; }

.lesson-v2 .post-written-content__body .lesson-v2__criteria-list {
  margin: 0 0 0.875rem;
  padding-left: 1.5rem;
  list-style: decimal; }

.lesson-v2 .post-written-content__body .lesson-v2__criteria-list li {
  margin: 0 0 0.5rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 400;
  font-style: italic; }

.lesson-v2 .post-written-content__body .lesson-v2__criteria-list li:last-child {
  margin-bottom: 0; }

/* Brand-green numbering (marker stays upright so the digit reads clearly). */
.lesson-v2 .post-written-content__body .lesson-v2__criteria-list li::marker {
  color: #1b3d2f;
  font-weight: 700;
  font-style: normal; }

.lesson-v2 .post-written-content__body .lesson-v2__criteria-note {
  margin: 0 0 1rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  font-style: italic; }

.lesson-v2 .post-written-content__body .lesson-v2__criteria-cite {
  display: block;
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
  font-style: normal; }

/* Graphic placeholder for lesson figures whose real assets are not ready yet.
   Cross-theme parity: this block is byte-identical in momentum/assets/styles.scss.liquid.
   Swap the placeholder markup for a real <img>/<figure> once the graphic ships. */
.lesson-v2 .post-written-content__figure {
  margin: 0 0 1.125rem; }

.lesson-v2 .post-written-content__figure--placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 13.75rem;
  padding: 2.25rem 1.5rem;
  background: #f6f3ec;
  border: 0.0625rem dashed #d8cfbc;
  border-radius: 0.75rem;
  text-align: center; }

.lesson-v2 .post-written-content__figure-label {
  color: #8a8069;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.0625rem;
  text-transform: uppercase; }

.lesson-v2 .post-written-content__figure-caption {
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4; }

.lesson-v2 .post-written-content__figure--chart {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem; }

.lesson-v2 .post-written-content__chart {
  display: block;
  width: 50%;
  max-width: 26.875rem;
  height: auto;
  margin: 2.5rem 0; }

/* One-off treatment for the Lesson 7 fiber chart only (chart_lesson_07_fiber_effectiveness):
   its baked-in labels are unusually small, so when the chart is narrower than the text column it
   is scaled ~30% larger than the standard chart (width 50% -> 65%, cap rem(430) -> rem(559)).
   Because width is a percentage of the column it can never exceed it; at single-column widths
   (<=991px) it inherits width: 100% from the shared responsive rule below, so it fills but never
   exceeds the column - only the larger max-width cap carries over. Scoped via the --fiber
   modifier so no other chart is affected. */
.lesson-v2 .post-written-content__chart--fiber {
  width: 65%;
  max-width: 34.9375rem; }

/* Full-column-width chart (e.g. the Lesson 2 biopsychosocial diagram, chart_lesson_02_biopsychosocial_model):
   a wide/landscape graphic meant to span the full text column rather than the standard 50%. max-width: 100%
   removes the standard rem(430) cap so it fills, but never exceeds, the column at all widths; the shared
   responsive rule below already sets width: 100% at <=991px. Scoped via the --full-width modifier. */
.lesson-v2 .post-written-content__chart--full-width {
  width: 100%;
  max-width: 100%; }

/* One-off cap for the Lesson 3 "Classification of IBS subtypes" chart
   (chart_lesson_03_classification_of_ibs_subtypes) only. Its viewBox aspect is ~1.455:1
   - the least-wide of the --full-width charts - so at single-column widths (~700-1200px
   viewports) it fills the ~700-950px column and renders ~480-650px tall, dominating the
   viewport. Capping it here keeps the height modest (~447px) while leaving in-artwork
   labels comfortably legible (main row/column labels ~13-15px on screen; smallest
   italic subtitles ~9-10px). Scoped by SVG ID so the other --full-width charts (L2,
   L4x2), which are wider aspect and stay short at full column width, are unaffected.
   ID + class selector outranks the shared modifier's max-width: 100% (1,2,0 vs 0,2,0)
   without needing !important. auto side margins recenter the chart inside the figure
   once the cap engages; they are inert at column widths <=rem(650). Cross-theme
   parity: this block is byte-identical in momentum/assets/styles.scss.liquid. */
.lesson-v2 .post-written-content__chart#chart-l3-ibs-subtypes {
  max-width: 40.625rem;
  margin-left: auto;
  margin-right: auto; }

.lesson-v2 .post-written-content__figure--image {
  display: flex;
  flex-direction: column;
  align-items: center; }

.lesson-v2 .post-written-content__image {
  display: block;
  width: 100%;
  max-width: 28.75rem;
  height: auto;
  margin: 2.5rem 0; }

/* =========================================================================
   NICE guidelines callout (Lesson 6, "NICE Guidelines"). A cream-container
   info card holding a display title and six white rows, each a round pale-
   green icon disc + bold primary line + optional secondary line. Rendered by
   snippets/chart_lesson_06_nice_guidelines.liquid using Font Awesome 5 icons
   (loaded globally). Cross-theme parity: this block is byte-identical in
   momentum/assets/styles.scss.liquid and serenity/assets/styles.scss.liquid.
   Design-token lock: every text-bearing rule sets font-family + color
   explicitly. Colors are established theme tokens (#fbf4ec cream container,
   #1b3d2f brand green title/icon, #eaf0eb pale-green icon disc, #ece7dd row
   border, #1c1f23 primary text, #454749 secondary text).
   ========================================================================= */
.lesson-v2 .post-written-content__figure--nice-guidelines {
  display: block;
  margin: 1.75rem 0; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-callout {
  padding: 1.75rem 1.5rem 1.5rem;
  background: #fbf4ec;
  border-radius: 0.875rem; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-title {
  margin: 0 0 1.25rem;
  color: #1b3d2f;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.625rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.0125rem; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-item {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.875rem 1.125rem;
  background: #ffffff;
  border: 0.0625rem solid #ece7dd;
  border-radius: 0.625rem; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 50%;
  background: #eaf0eb;
  color: #1b3d2f;
  font-size: 0.875rem;
  line-height: 1; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-body {
  flex: 1 1 auto;
  min-width: 0; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-primary {
  margin: 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700; }

.lesson-v2 .post-written-content__body .lesson-v2__nice-secondary {
  margin: 0.25rem 0 0;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400; }

@media (max-width: 544px) {
  .lesson-v2 .post-written-content__body .lesson-v2__nice-callout {
    padding: 1.25rem 1rem 1rem; }

  .lesson-v2 .post-written-content__body .lesson-v2__nice-item {
    padding: 0.75rem 0.875rem;
    gap: 0.75rem; }

  .lesson-v2 .post-written-content__body .lesson-v2__nice-title {
    font-size: 1.375rem; }

  .lesson-v2 .post-written-content__body .lesson-v2__nice-primary {
    font-size: 0.9375rem; }

  .lesson-v2 .post-written-content__body .lesson-v2__nice-secondary {
    font-size: 0.8125rem; } }
/* Lesson data tables (Lesson 6 FODMAP groups; Lesson 7 enzymes and probiotics).
   On-brand styling for real semantic <table>s: dark-green header, alternating
   cream/white rows, brand-green row-header cells, and a rounded tan card
   container that scrolls horizontally on narrow screens (overflow-x also clips
   the header corners to the radius). The base rules suit a 2-column table
   (fixed ~one-third first column); the --wide modifier handles denser multi-
   column tables (auto-width first column, a readable min-width so the card
   scrolls instead of crushing, and a slightly smaller type scale). Cross-theme
   parity: this block is byte-identical in momentum/assets/styles.scss.liquid. */
.lesson-v2 .post-written-content__table {
  margin: 0 0 1.125rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 0.0625rem solid #e6ded0;
  border-radius: 0.75rem; }

.lesson-v2 .post-written-content__table table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  color: #454749; }

.lesson-v2 .post-written-content__table thead th {
  background: #1b3d2f;
  color: #ffffff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  text-align: left;
  /* Optical shift for Sofia Pro (~1.5px): less top padding, more bottom. */
  padding: 0.9375rem 1.25rem 1.0625rem; }

.lesson-v2 .post-written-content__table tbody th,
.lesson-v2 .post-written-content__table tbody td {
  padding: 1rem 1.25rem;
  text-align: left;
  vertical-align: top;
  border-top: 0.0625rem solid #ece5d8; }

.lesson-v2 .post-written-content__table tbody tr:first-child th,
.lesson-v2 .post-written-content__table tbody tr:first-child td {
  border-top: 0; }

.lesson-v2 .post-written-content__table tbody tr:nth-child(odd) {
  background: #faf7f0; }

.lesson-v2 .post-written-content__table tbody tr:nth-child(even) {
  background: #ffffff; }

/* Row-header cell (first column): brand green, semibold. Fixed ~one-third width
   balances a 2-column table; --wide resets this for multi-column tables. */
.lesson-v2 .post-written-content__table th[scope="row"] {
  width: 34%;
  color: #1b3d2f;
  font-weight: 600; }

/* Denser multi-column tables (3+ columns): first column sizes to content, the
   table holds a readable minimum width (horizontal scroll below it), and the
   type steps down slightly so more columns fit comfortably. */
.lesson-v2 .post-written-content__table--wide table {
  min-width: 40rem;
  font-size: 0.9375rem; }

.lesson-v2 .post-written-content__table--wide thead th,
.lesson-v2 .post-written-content__table--wide tbody th,
.lesson-v2 .post-written-content__table--wide tbody td {
  padding: 0.75rem 0.875rem; }

.lesson-v2 .post-written-content__table--wide th[scope="row"] {
  width: auto; }

/* In-cell bulleted lists (Lesson 8 medication tables). The writer's medication
   tables have multi-item clinical-consideration cells; a semantic <ul> inside
   the <td> reads correctly to screen readers. Compact spacing keeps the cell
   tight. Cross-theme parity: byte-identical in the other theme's stylesheet. */
.lesson-v2 .post-written-content__table td ul,
.lesson-v2 .post-written-content__table td ol {
  margin: 0;
  padding-left: 1.125rem; }

.lesson-v2 .post-written-content__table td li {
  margin: 0 0 0.25rem; }

.lesson-v2 .post-written-content__table td li:last-child {
  margin-bottom: 0; }

.lesson-v2__written-section .lesson-v2__pager {
  padding: 1.25rem 0; }

/* --- Public preview paywall gate (Serenity only) ---
   Gated lesson sections are wrapped in .lesson-v2__restricted: the real copy
   stays in the DOM (accepted tradeoff) but is blurred and overlaid with a
   purchase prompt. Blur/select/pointer rules are deterrents (speed bumps),
   not real protection. Momentum has no gate, so these rules are Serenity-only.
   All text rules set font-family + color explicitly (design-token lock). */
.lesson-v2__restricted {
  position: relative;
  margin-top: 1.25rem;
  /* Blank white band above the blurred copy: the paywall card sits on white
     when it first pins, then the blurred copy scrolls up behind the pinned
     card as the user continues (FertilityIQ behavior). Tunable. */
  padding-top: 25rem; }

.lesson-v2__restricted-body {
  /* Deterrent 1: block casual selection/copy and clicks on gated links. */
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  /* Deterrent 2: blur is also set inline with !important in the snippet and
     re-asserted by the watchdog in ibd_public.js; this is the stylesheet
     fallback (non-important) for the brief window before JS runs. */
  filter: blur(10px);
  -webkit-filter: blur(10px); }

/* Fade the BOTTOM of the free (readable) content to the page background, so
   the last free paragraphs lighten into the gated section rather than ending
   abruptly. This is FertilityIQ's technique (.lesson__free:after). The blurred
   section below is left uniformly blurred with NO side scrims, so its edges are
   the natural soft blur bleed (not a hard-edged rectangle). Fade color is
   coupled to the page background (white); update if the lesson background ever
   changes. Height is tunable: tall enough to feel gradual, short enough to keep
   most of the free copy readable. */
.lesson-v2__free {
  position: relative; }

.lesson-v2__free::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  /* ~22 lines at 18px / 1.4 line-height. Tunable: raise to draw the fade out
     over more lines, lower to keep more of the free copy fully readable. */
  height: 35rem;
  max-height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
  pointer-events: none;
  z-index: 1; }

/* Aggressive-fade variant for lessons whose free portion is intentionally short
   (currently: lesson 17, IBS Resources - the free portion is a disclaimer plus
   two directory links, so the standard 560px/360px fade would swallow the whole
   readable block). Compressed height: the fade completes quickly and the paywall
   card is what visually terminates the preview, not a long white gradient. */
.lesson-v2__free--quick-fade::after {
  height: 8.75rem; }

.lesson-v2__paywall {
  position: absolute;
  top: 3rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  width: 100%;
  max-width: 35rem;
  box-sizing: border-box;
  padding: 2.75rem 2.5rem 3rem;
  background: #ffffff;
  border: 0.0625rem solid #e6e0d4;
  border-radius: 1rem;
  box-shadow: 0 1.125rem 3.125rem rgba(28, 31, 35, 0.16);
  text-align: center; }

.lesson-v2__paywall-eyebrow {
  margin: 0 0 0.75rem;
  color: #6b6f73;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.0625rem;
  text-transform: uppercase; }

.lesson-v2__paywall-title {
  margin: 0 0 0.875rem;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.0375rem; }

.lesson-v2__paywall-copy {
  margin: 0 0 1.625rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5; }

.lesson-v2__paywall-cta {
  display: inline-block;
  /* Pill optical-centering: 2px shift (top 13, bottom 17) for Sofia Pro. */
  padding: 0.8125rem 1.6875rem 1.0625rem;
  background: #1b3d2f;
  border-radius: 2.5rem;
  color: #ffffff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease; }

.lesson-v2__paywall-cta:hover,
.lesson-v2__paywall-cta:focus {
  background: #152f24;
  color: #ffffff;
  /* Override the global a:hover brightness filter (Serenity styling gotcha). */
  filter: none;
  -webkit-filter: none; }

@media (max-width: 767px) {
  .lesson-v2__paywall {
    padding: 2rem 1.5rem 2.125rem; }

  .lesson-v2__paywall-title {
    font-size: 1.625rem; }

  .lesson-v2__restricted {
    padding-top: 16.25rem; }

  .lesson-v2__free::after {
    height: 22.5rem; }

  .lesson-v2__free--quick-fade::after {
    height: 6.25rem; } }
/* --- Public preview video paywall overlay (Serenity only) ---
   Non-dismissible overlay that covers .lesson-v2__video-embed once the gate
   IIFE in ibd_public.js removes the hidden attribute. Scoped to the video
   area only; the written lesson below remains scrollable and readable.
   Copy mirrors the written paywall card (design-token lock: explicit
   font-family/size/weight/color on every text rule). */
.lesson-v2__video-paywall {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 1.5rem;
  /* Outer wrapper only handles positioning + accessibility (visibility).
     The backdrop (::before) and the card each transition their own opacity
     independently below, so the backdrop can reach full blur before the
     card starts fading in - otherwise the video is briefly visible through
     the half-opaque card during the transition. */
  visibility: hidden; }

/* Frosted-glass cover as a pseudo-element so its opacity transitions
   independently of the card. Pure blur, no color tint - reads lightest on
   the page and lets the frost speak for itself. If a browser without
   backdrop-filter support turns up (rare in evergreen by 2026), the
   overlay will render fully transparent and the video will be visible;
   that is an accepted tradeoff. */
.lesson-v2__video-paywall::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  transition: opacity 0.25s ease-in; }

.lesson-v2__video-paywall.is-visible {
  visibility: visible; }

.lesson-v2__video-paywall.is-visible::before {
  opacity: 1; }

.lesson-v2__video-paywall-card {
  /* position + z-index so the card renders above the ::before scrim
     (same stacking context inside .lesson-v2__video-paywall). */
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 30rem;
  box-sizing: border-box;
  padding: 2.25rem 2rem 2.5rem;
  background: #ffffff;
  border: 0.0625rem solid #e6e0d4;
  border-radius: 1rem;
  box-shadow: 0 1.125rem 3.125rem rgba(28, 31, 35, 0.28);
  text-align: center;
  /* Staged fade-in: card waits 0.15s so the backdrop is ~60% opaque by the
     time the card starts appearing. Total show sequence is ~0.55s (0.25s
     backdrop, then 0.4s card starting at 0.15s), which still completes
     well before the video pauses at gateSeconds (1s lead from the JS). */
  opacity: 0;
  transition: opacity 0.4s ease-in 0.15s; }

.lesson-v2__video-paywall.is-visible .lesson-v2__video-paywall-card {
  opacity: 1; }

.lesson-v2__video-paywall-eyebrow {
  margin: 0 0 0.625rem;
  color: #6b6f73;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.0625rem;
  text-transform: uppercase; }

.lesson-v2__video-paywall-title {
  margin: 0 0 0.75rem;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03125rem; }

.lesson-v2__video-paywall-copy {
  margin: 0 0 1.375rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5; }

.lesson-v2__video-paywall-cta {
  display: inline-block;
  /* Pill optical-centering: 2px shift (top 13, bottom 17) for Sofia Pro. */
  padding: 0.8125rem 1.6875rem 1.0625rem;
  background: #1b3d2f;
  border-radius: 2.5rem;
  color: #ffffff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease; }

.lesson-v2__video-paywall-cta:hover,
.lesson-v2__video-paywall-cta:focus {
  background: #152f24;
  color: #ffffff;
  /* Override the global a:hover brightness filter (Serenity styling gotcha). */
  filter: none;
  -webkit-filter: none; }

@media (max-width: 767px) {
  .lesson-v2__video-paywall {
    padding: 1rem; }

  .lesson-v2__video-paywall-card {
    padding: 1.75rem 1.375rem 2rem; }

  .lesson-v2__video-paywall-title {
    font-size: 1.375rem; }

  .lesson-v2__video-paywall-copy {
    font-size: 0.875rem; } }
.public-page {
  width: 100%;
  flex: 1 1 auto;
  min-width: 0; }

.public-page__main {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px 48px; }

/* Two interleaved families. .public-not-found* is rendered by
   ibd_not_found.liquid via the 404 / contact / page templates.
   .public-placeholder-page* is rendered by about.liquid. Both are live;
   the __cta variants of each were pruned when sign-up-or-in.liquid went. */
.public-placeholder-page {
  width: 100%;
  padding: 5rem 1.5rem; }

.public-not-found {
  width: 100%;
  min-height: 60vh;
  padding: 5rem 1.5rem 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center; }

.public-placeholder-page__inner {
  width: 100%;
  max-width: 56.25rem;
  margin: 0 auto;
  text-align: center; }

.public-not-found__inner {
  width: 100%;
  max-width: 38.75rem;
  margin: 0 auto;
  text-align: center; }

/* Small uppercase eyebrow label above the title, matching the site's
   Sofia Pro bold label treatment (e.g. "MORE RESOURCES"), in brand green. */
.public-not-found__eyebrow {
  margin: 0 0 1.25rem;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.09375rem;
  text-transform: uppercase;
  color: #1b3d2f; }

.public-placeholder-page__title {
  margin-bottom: 1rem;
  /* Level 1 lock-to-code: pin font-family + color so the title doesn't
     inherit from global `h1` (which reads settings.font_family_heading +
     settings.color_heading in admin). Same display font and color as
     the other v2 page titles. */
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  color: #1c1f23; }

/* Matches the v2 page-title treatment used on Contact/FAQ. Level 1
   lock-to-code: pin font-family + color so it doesn't inherit global `h1`. */
.public-not-found__title {
  margin: 0 0 1.25rem;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  color: #1c1f23 !important;
  overflow-wrap: anywhere; }

.public-placeholder-page__body {
  color: #6b7280;
  margin-bottom: 1.25rem;
  /* Level 1 lock-to-code: pin font-family. */
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

/* Matches the v2 subtitle treatment (muted #454749, ~9.3:1 on white). */
.public-not-found__body {
  margin: 0 auto 2.25rem;
  max-width: 32.5rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: -0.0125rem; }

body.login-v2-page,
body.login-v2-page .course-layout-minimal__main {
  background: #f6f5f1; }

body.login-v2-page .course-header {
  background: #f6f5f1;
  border-bottom: 0; }

.login-v2 {
  /* calc() mixes the JS-measured header-height fallback (kept in px per F6)
     with a text-tied constant (converted to rem). CSS calc() handles
     mixed units; the result resolves to the same physical px at default
     zoom and grows with text under text-only zoom. */
  min-height: calc(100vh - var(--course-header-height, 66px));
  padding: calc(var(--course-header-height, 66px) + 6.25rem) 1.5rem 7.5rem;
  display: flex;
  align-items: flex-start;
  justify-content: center; }

.login-v2__inner {
  width: min(26.5625rem, 100%); }

.login-v2__title {
  margin: 0 0 1.25rem;
  text-align: center;
  color: #000;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 3.0625rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.091875rem; }

.login-v2__welcome {
  margin: 0 0 1.875rem;
  text-align: center;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.2; }

.login-v2__field-wrap {
  width: min(22.8125rem, 100%);
  margin: 0 auto 0.9375rem; }

.login-v2__field {
  width: 100%;
  min-height: 4.0625rem;
  padding: 0 0.9375rem;
  border: 2px solid #c8c8c8;
  border-radius: 13px;
  background: #fff;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 400; }

.login-v2__field::placeholder {
  color: #8c8c8c; }

.login-v2__forgot-wrap {
  width: min(22.8125rem, 100%);
  margin: 0 auto 1.5625rem;
  text-align: right; }

.login-v2__forgot {
  color: #3a7bbf;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none; }

.login-v2__forgot:hover {
  color: #3a7bbf;
  text-decoration: none;
  opacity: 0.9; }

.login-v2__submit {
  width: min(22.8125rem, 100%);
  min-height: 3rem;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  border-radius: 500px;
  background: #000;
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1; }

.login-v2__signup {
  margin: 0;
  text-align: center;
  color: #5a5a5a;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2; }

.login-v2__signup-link {
  margin-left: 0.25rem;
  color: #3a7bbf;
  font-weight: 600;
  text-decoration: none; }

.login-v2__signup-link:hover {
  color: #3a7bbf;
  text-decoration: none;
  opacity: 0.9; }

.login-v2__message {
  width: min(22.8125rem, 100%);
  margin: 0 auto 1rem;
  /* Level 1 lock-to-code: pin font-family so the message doesn't inherit
     from body (which reads settings.font_family_body in admin). */
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

.home-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  --home-v2-content-max: 83.75rem;
  --home-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --home-v2-about-shell-bleed: 90px;
  --home-v2-content-gutter: max(var(--home-v2-content-side-padding), calc((100vw - var(--home-v2-content-max)) / 2)); }

.home-v2__container {
  width: min(var(--home-v2-content-max), calc(100% - (var(--home-v2-content-side-padding) * 2)));
  margin: 0 auto; }

.home-v2__hero {
  background: #1b3d2f;
  --home-v2-hero-height: 540px;
  /* Keep height and scale in sync across breakpoints. */
  --home-v2-hero-scale: 1;
  --home-v2-hero-logo-size: calc(845px * var(--home-v2-hero-scale));
  --home-v2-hero-logo-bleed-right: calc(-56px * var(--home-v2-hero-scale));
  --home-v2-hero-logo-translate-x: calc(70px * var(--home-v2-hero-scale));
  --home-v2-hero-logo-nudge-y: calc(-50px * var(--home-v2-hero-scale));
  min-height: var(--home-v2-hero-height);
  display: flex;
  align-items: center;
  /* overflow:hidden masks the decorative logo bleed, not text; safe to keep
     because min-height (not height) lets the box grow under text-only zoom. */
  overflow: hidden; }

.home-v2__hero-content {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: var(--home-v2-content-gutter);
  padding-right: 0; }

.home-v2__hero-copy {
  display: flex;
  flex-direction: column;
  /* No `gap` here: the vertical rhythm between title -> body -> CTA -> caption
     is intentionally non-uniform (see comp), so spacing is set via explicit
     `margin-top` on each subsequent child rule below. */
  flex: 0 0 auto;
  /* The decorative `.home-v2__hero-logo-wrap` is `position: absolute`, which
     paints above in-flow siblings by default. Promote the copy column into
     its own positioned context so the title, body, CTA, and caption sit
     above the mark in z-order. The mark stays behind everything (only on
     top of the green background) regardless of how wide/leftward it bleeds. */
  position: relative;
  z-index: 1;
  /* Under text-only zoom the title's `max-width: rem(590)` grows; without
     these two constraints the flex item's basis grows with it and the copy
     exceeds the hero's available width, getting clipped by the hero's
     `overflow: hidden` (which is kept for the decorative logo bleed).
     `max-width: 100%` clamps the flex-basis to the parent's available
     width; `min-width: 0` allows shrinking past min-content if needed.
     The mobile rule at @media (max-width: 767px) already uses this
     pattern (with `flex: 1 1 auto`). */
  min-width: 0;
  max-width: 100%; }

.home-v2__hero-title {
  margin: 0;
  max-width: 36.875rem;
  color: #fff !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4.75rem;
  line-height: 1;
  letter-spacing: -0.1875rem;
  font-weight: 400;
  font-style: normal;
  overflow-wrap: anywhere; }

.home-v2__hero-body {
  margin: 1.5625rem 0 0;
  max-width: 36rem;
  /* Muted white reads as subordinate to the title without breaking contrast
     on the locked `#1b3d2f` background; `!important` matches the defensive
     posture of neighboring v2 text rules that override stock Cornerstone. */
  color: rgba(255, 255, 255, 0.82) !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.4375rem;
  line-height: 1.2;
  letter-spacing: -0.02875rem;
  font-style: normal; }

.home-v2__hero-cta {
  /* `align-self: flex-start` keeps the pill intrinsically sized inside the
     flex column instead of stretching to the column's width. */
  align-self: flex-start;
  margin-top: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  /* Asymmetric vertical padding for optical centering of Sofia Pro text;
     see AGENTS.md "Pill and Badge Optical Centering" for the pattern. */
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 999px;
  background: #d4960c;
  border: 1px solid #d4960c;
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
  /* Neutralize Serenity's global `a:hover { filter: brightness(115%) }`
     so the hover transition below is deterministic (see serenity/AGENTS.md
     "Styling Gotcha"). */
  -webkit-filter: none;
  filter: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }

.home-v2__hero-cta:hover,
.home-v2__hero-cta:focus-visible {
  background: #b67d09;
  border-color: #b67d09;
  color: #1b3d2f;
  text-decoration: none;
  -webkit-filter: none;
  filter: none; }

/* The asymmetric padding above shifts the whole pill content (Sofia Pro
   text and FA arrow) up by 2px. Sofia Pro needs that shift to look
   centered, but FA icons are already optically centered in their em-box -
   so the arrow goes from "centered" to "2px above center". Counter-shift
   the arrow back down by 2px to keep it where it was. See AGENTS.md
   "Pill and Badge Optical Centering" for the broader pattern. */
.home-v2__hero-cta .fas {
  position: relative;
  top: 0.125rem; }

.home-v2__hero-cta-note {
  margin: 1.25rem 0 0;
  /* More muted than the subtitle to reinforce the hierarchy in the comp. */
  color: rgba(255, 255, 255, 0.55) !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: -0.0125rem;
  font-weight: 400; }

.home-v2__hero-logo-wrap {
  position: absolute;
  top: 50%;
  right: var(--home-v2-hero-logo-bleed-right);
  width: var(--home-v2-hero-logo-size);
  height: var(--home-v2-hero-logo-size);
  margin-top: var(--home-v2-hero-logo-nudge-y);
  transform: translate(var(--home-v2-hero-logo-translate-x), -50%);
  color: #fff;
  opacity: 0.15;
  pointer-events: none;
  /* Explicit z-index 0 pairs with `.home-v2__hero-copy { z-index: 1 }` so
     the mark is always behind the copy/CTA (above only the green bg). */
  z-index: 0; }

.home-v2__hero-logo {
  width: 100%;
  height: 100%;
  display: block; }

.home-v2__experts {
  padding: 6.25rem 0;
  /* Reserve space for the fixed course-header when navigated to via
     #experts (deep-linked from the For Clinicians page's "multidisciplinary
     team" mention). The var already resolves to the JS-measured header
     height; the px fallback matches the CSS-declared height in course_header. */
  scroll-margin-top: var(--course-header-height, 65px); }

.home-v2__section-heading {
  margin: 0;
  text-align: center;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 3.0625rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.091875rem;
  overflow-wrap: anywhere; }

.home-v2__section-heading-line {
  display: block; }

.home-v2__section-heading-line--accent {
  color: #d4960c;
  font-style: italic; }

.home-v2__expert-slider-wrap {
  margin-top: 2.8125rem;
  /* Carousel mask (non-text reason); kept. */
  overflow: hidden; }

.home-v2__expert-slider {
  display: flex;
  align-items: flex-start;
  gap: 1.125rem;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  touch-action: auto;
  scroll-snap-type: none;
  scroll-padding-inline: var(--home-v2-content-gutter);
  scrollbar-width: thin;
  padding: 0 var(--home-v2-content-gutter) 1rem;
  box-sizing: border-box;
  cursor: grab; }

.home-v2__expert-slider.is-dragging {
  cursor: grabbing; }

.home-v2__expert-card {
  width: 19.0625rem;
  flex: 0 0 19.0625rem;
  scroll-snap-align: start; }

.home-v2__expert-card-visual {
  min-height: 10.625rem;
  border-radius: 22px;
  background: linear-gradient(180deg, #f2f0ed 0%, rgba(212, 201, 184, 0.8) 100%);
  display: flex;
  /* Decoration mask (rounded gradient); safe to keep with min-height. */
  overflow: hidden; }

.home-v2__expert-image {
  width: 150px;
  height: 170px;
  object-fit: contain;
  object-position: center bottom;
  display: block;
  /* Shifts the image down so the head has ~rem(8) of cushion above it.
     The image element stays 150x170, so the person renders at the same
     size as before; the visual container's overflow: hidden clips the
     bottom of the person. */
  transform: translateY(0.5rem); }

.home-v2__expert-meta {
  flex: 1;
  padding: 3.4375rem 0.625rem 0; }

.home-v2__expert-specialty {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 700; }

.home-v2__expert-university {
  margin: 0.375rem 0 0;
  padding-left: 0.5625rem;
  border-left: 2px solid #b8860b;
  color: #4a4540;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 700; }

.home-v2__expert-copy {
  padding-top: 1.25rem; }

.home-v2__expert-name {
  margin: 0 0 0.5625rem;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 500; }

.home-v2__expert-role {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 400; }

.home-v2__course-banner {
  background: #fbf1da;
  padding: 6.25rem 0; }

.home-v2__course-meta {
  display: flex;
  align-items: center;
  gap: 1.375rem; }

.home-v2__course-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700; }

.home-v2__course-meta-item i {
  font-size: 1rem; }

.home-v2__course-title {
  margin: 1.875rem 0 0;
  max-width: 39.8125rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4.75rem;
  line-height: 1;
  letter-spacing: -0.1875rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.home-v2__course-body {
  margin: 1.875rem 0 0;
  max-width: 50.6875rem;
  color: #1c1f23 !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: -0.0125rem; }

.home-v2__pill-button {
  margin-top: 1.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* Floor matches .course-v2__hero-ctas .course-v2__pill-button so all green
     primary pills across the home and course pages share a common visual
     weight. Short labels like "Start learning" grow to the floor; longer
     labels like "Explore more resources" stay at their natural width. */
  min-width: 13.4375rem;
  /* Asymmetric vertical padding for optical centering of Sofia Pro text;
     see AGENTS.md "Pill and Badge Optical Centering" for the pattern. */
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 999px;
  background: #1b3d2f;
  border: 1px solid #1b3d2f;
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none; }

.home-v2__pill-button:hover {
  color: #fff;
  background: #265743;
  border-color: #265743;
  text-decoration: none; }

.home-v2__resources {
  padding: 6.25rem 0; }

.home-v2__resources-label {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700; }

.home-v2__resources-grid {
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem; }

.home-v2__resource-card {
  display: block;
  background: #ebf2ee;
  border: 2px solid transparent;
  border-radius: 12px;
  padding: 1.25rem;
  text-decoration: none;
  color: #1c1f23;
  -webkit-filter: none;
  filter: none;
  transition: background 0.15s ease, border-color 0.15s ease; }

.home-v2__resource-card:hover,
.home-v2__resource-card:focus-visible {
  background: #fff;
  border-color: #d1ded6;
  color: #1c1f23;
  text-decoration: none;
  -webkit-filter: none;
  filter: none; }

.home-v2__resource-type {
  margin: 0 0 0.75rem;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 700; }

.home-v2__resource-title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.9375rem;
  line-height: 1.1;
  letter-spacing: -0.03875rem;
  font-weight: 500;
  overflow-wrap: anywhere; }

.home-v2__resources-cta {
  margin-top: 2.5rem;
  text-align: center; }

.home-v2__resources-cta .home-v2__pill-button {
  margin-top: 0; }

.home-v2__about {
  padding: 0 0 7.5rem; }

.home-v2__about-card {
  width: min(calc(var(--home-v2-content-max) + (var(--home-v2-about-shell-bleed) * 2)), calc(100% - (var(--home-v2-content-side-padding) * 2)));
  margin: 0 auto;
  border-radius: 20px;
  background: #fdf6e8;
  padding: 4.375rem 0 6.25rem; }

.home-v2__about-inner {
  width: min(var(--home-v2-content-max), calc(100% - (var(--home-v2-content-side-padding) * 2)));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(260px, 28vw, 350px);
  align-items: start;
  gap: clamp(1.875rem, 3.5vw, 3.75rem); }

.home-v2__about-title {
  margin: 0 0 1.875rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 3.0625rem;
  line-height: 1;
  letter-spacing: -0.091875rem;
  font-weight: 500;
  overflow-wrap: anywhere; }

.home-v2__about-body {
  margin: 0 0 1.125rem;
  color: #1c1f23 !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4; }

.home-v2__about-body:last-child {
  margin-bottom: 0; }

.home-v2__about-image-wrap {
  display: flex;
  justify-content: center;
  width: 100%; }

.home-v2__about-image {
  width: 100%;
  max-width: 350px;
  min-width: 220px;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  object-fit: contain; }

.course-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  /* Content max scales with text under zoom (same treatment as
     `--home-v2-content-max`); shell side padding stays px per F6. */
  --course-v2-content-max: 83.75rem;
  --course-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --course-v2-learnings-shell-bleed: 90px;
  --course-v2-content-gutter: max(var(--course-v2-content-side-padding), calc((100vw - var(--course-v2-content-max)) / 2)); }

.course-v2__container {
  width: min(var(--course-v2-content-max), calc(100% - (var(--course-v2-content-side-padding) * 2)));
  margin: 0 auto; }

.course-v2__preview-banner {
  background: #c4704e;
  padding: 0.375rem 0.3125rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1010; }

.course-v2__preview-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem; }

.course-v2__preview-banner-text {
  margin: 0;
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2; }

.course-v2__preview-banner-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  /* Asymmetric vertical padding for optical centering of Sofia Pro text;
     see AGENTS.md "Pill and Badge Optical Centering" for the pattern. */
  padding: 0.125rem 0.75rem 0.375rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.09);
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
  -webkit-filter: none;
  filter: none;
  transition: background-color 0.15s ease; }

/* The asymmetric padding above shifts the whole button content (both the
   Sofia Pro text and the Font Awesome arrow) up by 2px. Sofia Pro needs
   that shift to look centered, but FA icons are already optically centered
   in their em-box - so the arrow goes from "centered" to "2px above center".
   Counter-shift the arrow back down by 2px to keep it where it was. See
   AGENTS.md "Pill and Badge Optical Centering" for the broader pattern. */
.course-v2__preview-banner-cta .fas {
  position: relative;
  top: 0.125rem; }

.course-v2__preview-banner-cta:hover,
.course-v2__preview-banner-cta:focus-visible {
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  opacity: 1;
  -webkit-filter: none;
  filter: none; }

.course-v2__hero {
  background: #fbf1da;
  padding: 6.25rem 0; }

.course-v2__meta {
  display: flex;
  align-items: center;
  gap: 1.375rem; }

.course-v2__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700; }

.course-v2__title {
  margin: 1.875rem 0 0;
  max-width: 39.8125rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4.75rem;
  line-height: 1;
  letter-spacing: -0.1875rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.course-v2__body {
  margin: 1.875rem 0 0;
  max-width: 50.6875rem;
  color: #1c1f23 !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: -0.0125rem; }

.course-v2__hero-ctas {
  margin-top: 1.875rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  /* Allow CTAs to wrap to a second row under text-only zoom when their
     combined natural width exceeds the container. Base case: pills fit on
     one row, wrap is non-binding; visual identical to today. */
  flex-wrap: wrap; }

.course-v2__hero-ctas .course-v2__pill-button {
  /* Floor each hero pill's width at the natural width of the longer label
     ("Buy this program") so the shorter "Preview" pill grows to match. Keeps
     Buy at its natural width and only widens Preview. At <=991px the block
     below stretches pills to fill the 560px container instead; min-width:0
     there defeats this floor by design. */
  min-width: 13.4375rem; }

.course-v2__pill-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.0625rem;
  /* Asymmetric vertical padding for optical centering of Sofia Pro text;
     see AGENTS.md "Pill and Badge Optical Centering" for the pattern. */
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 999px;
  background: #1b3d2f;
  border: 1px solid #1b3d2f;
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap; }

.course-v2__pill-button:hover {
  color: #fff;
  text-decoration: none;
  background: #265743;
  border-color: #265743; }

.course-v2__pill-button--secondary {
  background: transparent;
  color: #1b3d2f; }

.course-v2__pill-button--secondary:hover {
  color: #1b3d2f;
  background: rgba(27, 61, 47, 0.08);
  border-color: #1b3d2f; }

.course-v2__experts {
  padding: 6.25rem 0; }

.course-v2__section-heading {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 3.0625rem;
  line-height: 1;
  letter-spacing: -0.091875rem;
  font-weight: 500;
  overflow-wrap: anywhere; }

.course-v2__experts-slider-wrap {
  margin-top: 2.8125rem;
  /* Carousel mask (non-text reason); kept. */
  overflow: hidden; }

.course-v2__experts-slider {
  display: flex;
  align-items: flex-start;
  gap: 1.125rem;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  touch-action: auto;
  scroll-snap-type: none;
  scroll-padding-inline: var(--course-v2-content-gutter);
  scrollbar-width: thin;
  padding: 0 var(--course-v2-content-gutter) 1rem;
  cursor: grab; }

.course-v2__experts-slider.is-dragging {
  cursor: grabbing; }

@media (min-width: 768px) {
  .home-v2__expert-slider {
    padding-bottom: 2.5rem; }

  .course-v2__experts-slider {
    padding-bottom: 2.5rem; } }
.course-v2__expert-card {
  width: 19.0625rem;
  flex: 0 0 19.0625rem;
  scroll-snap-align: start; }

.course-v2__expert-card-visual {
  min-height: 10.625rem;
  border-radius: 22px;
  background: linear-gradient(180deg, #f2f0ed 0%, rgba(212, 201, 184, 0.8) 100%);
  display: flex;
  /* Decoration mask (rounded gradient); safe with min-height. */
  overflow: hidden; }

.course-v2__expert-image {
  width: 150px;
  height: 170px;
  object-fit: contain;
  object-position: center bottom;
  display: block;
  /* Shifts the image down so the head has ~rem(8) of cushion above it.
     See .home-v2__expert-image for rationale; parity rule. */
  transform: translateY(0.5rem); }

.course-v2__expert-meta {
  flex: 1;
  padding: 3.4375rem 0.625rem 0; }

.course-v2__expert-specialty {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 700; }

.course-v2__expert-university {
  margin: 0.375rem 0 0;
  padding-left: 0.5625rem;
  border-left: 2px solid #b8860b;
  color: #4a4540;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 700; }

.course-v2__expert-copy {
  padding-top: 1.25rem; }

.course-v2__expert-name {
  margin: 0 0 0.5625rem;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 500; }

.course-v2__expert-role {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 400; }

.course-v2__syllabus {
  padding: 0 0 6.25rem; }

.course-v2__group-heading {
  margin: 2.5rem 0 1.25rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase; }

.course-v2__cards {
  width: min(50rem, 100%);
  display: flex;
  flex-direction: column;
  gap: 0.9375rem; }

.course-v2__card {
  width: 100%;
  border-radius: 10px;
  border: 2px solid transparent;
  padding: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  text-decoration: none;
  color: #1c1f23;
  -webkit-filter: none;
  filter: none;
  transition: none; }

/* Flex-shrink fix: allow the unnamed text column (first child) inside the
   card to shrink past its content's min-content size. Without this,
   `.course-v2__card-title` with `overflow-wrap: anywhere` still can't reflow
   because the parent flex item defaults to `min-width: auto`. Paired with
   the existing `flex-shrink: 0` on `.course-v2__card-right` (duration). */
.course-v2__card > div:first-child {
  min-width: 0; }

.course-v2__card:hover,
.course-v2__card:focus-visible {
  background: #fff;
  border-color: var(--course-v2-card-accent, transparent);
  color: #1c1f23;
  text-decoration: none;
  -webkit-filter: none;
  filter: none; }

.course-v2__card--core {
  --course-v2-card-accent: #e7d8b3;
  background: #fbf1da; }

.course-v2__card--office {
  --course-v2-card-accent: #d1ded6;
  background: #ebf2ee; }

/* Supplementary-content cards (Diaphragmatic Breathing Tutorial, IBS Resources).
   Outline treatment: transparent fill + always-visible sage-green 1px border so these
   read as "same family as lesson cards, less-emphasized". The 1px width (vs the base
   2px transparent) is intentional - a lighter outline that reads as adjacent-but-not-
   equivalent to the lesson cards. Hover is explicitly overridden (rather than relying
   on the base white-fill rule) so the reaction is visually distinct against the page
   background: pale sage tint + darker border. */
.course-v2__card--resource {
  --course-v2-card-accent: #c8d5cd;
  background: transparent;
  border: 1px solid #c8d5cd; }

.course-v2__card--resource:hover,
.course-v2__card--resource:focus-visible {
  background: #f4f8f5;
  border-color: #a5b8ac; }

.course-v2__card-lesson {
  margin: 0;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700; }

.course-v2__card-title {
  margin: 0.5rem 0 0;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.9375rem;
  line-height: 1.1;
  letter-spacing: -0.03875rem;
  font-weight: 500;
  overflow-wrap: anywhere; }

.course-v2__card-right {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding-right: 0.3125rem; }

.course-v2__card-right .fa-chevron-right {
  font-size: 1rem;
  line-height: 1; }

.course-v2__card-duration {
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700; }

.course-v2__learnings {
  padding: 0 0 6.25rem; }

.course-v2__learnings-card {
  width: min(calc(var(--course-v2-content-max) + (var(--course-v2-learnings-shell-bleed) * 2)), calc(100% - (var(--course-v2-content-side-padding) * 2)));
  margin: 0 auto;
  border-radius: 20px;
  background: #fdf6e8;
  padding: 4.375rem 0; }

.course-v2__learnings-inner {
  width: min(var(--course-v2-content-max), calc(100% - (var(--course-v2-content-side-padding) * 2)));
  margin: 0 auto; }

.course-v2__learnings-body {
  margin: 1.25rem 0 0;
  max-width: 47.8125rem;
  color: #1c1f23 !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4; }

/* Subsection labels inside the learnings prose block. Visually a bolded
   variant of the body copy (same family/size/line-height, weight 700).
   Top margin is a small step above the paragraph-to-paragraph gap
   (25 vs 20), giving the subheading a subtle extra beat that signals a
   subsection boundary without hard-breaking the vertical rhythm. The
   bold weight plus the tightened gap to the following paragraph
   (adjacent-sibling rule below) reinforce that read. Semantically an
   <h3> so heading nav works. Paired with Momentum. */
.course-v2__learnings-subheading {
  margin: 1.5625rem 0 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700; }

/* When a paragraph immediately follows a subheading, tighten the gap so
   the subheading reads as labeling the paragraph below it rather than
   sitting equidistant between the paragraphs above and below. */
.course-v2__learnings-subheading + .course-v2__learnings-body {
  margin-top: 0.5rem; }

.library-v2 {
  /* Shell-style horizontal gutter; kept in px for cross-page consistency
     with --home-v2-content-side-padding and --course-shell-side-padding. */
  --library-v2-content-side-padding: 120px;
  width: 100%;
  min-width: 0; }

.library-v2__container {
  width: min(98.75rem, 100%);
  margin: 0 auto;
  padding-left: var(--library-v2-content-side-padding);
  padding-right: var(--library-v2-content-side-padding); }

.library-v2__header {
  padding: 6.25rem 0 3.125rem; }

.library-v2__title {
  margin: 0;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', Georgia, serif;
  font-size: 3.0625rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.091875rem; }

.library-v2__courses {
  padding: 0 0 9.375rem; }

.library-v2__cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem; }

.library-v2__card {
  border-radius: 20px;
  background: #fbf1da;
  padding: 3.75rem; }

.library-v2__meta {
  display: flex;
  align-items: center;
  gap: 1.375rem; }

.library-v2__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 700; }

.library-v2__meta-item i {
  font-size: 1.25rem; }

.library-v2__card-title {
  margin: 1.875rem 0 0;
  max-width: 100%;
  color: #1c1f23;
  font-family: 'p22-mackinac-pro', Georgia, serif;
  font-size: 3.0625rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.091875rem;
  overflow-wrap: anywhere; }

.library-v2__card-body {
  margin: 1.875rem 0 0;
  max-width: 50.6875rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 400; }

.library-v2__pill-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.875rem;
  min-height: 3.0625rem;
  /* Asymmetric vertical padding for optical centering of Sofia Pro text;
     see AGENTS.md "Pill and Badge Optical Centering" for the pattern. */
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 500px;
  border: 1px solid #1b3d2f;
  background: #1b3d2f;
  color: #fff;
  text-decoration: none;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700; }

.library-v2__pill-button:hover,
.library-v2__pill-button:focus {
  color: #fff;
  text-decoration: none; }

.library-v2__pagination-wrap {
  margin-top: 1.5rem; }

/* Contact page (/contact). Light v2 surface; structure/copy from the contact
   mockups. Every text rule pins its own font-family/color per the Design Token
   Lock policy (no reliance on body inheritance). */
.contact-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  /* Center the readable content column in the viewport. The column is capped to
     a comfortable measure (matched across the Contact/FAQ/HSA pages for
     cross-page consistency) and horizontally centered via auto side margins. */
  --contact-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --contact-v2-measure: 51.25rem; }

.contact-v2__container {
  width: min(var(--contact-v2-measure), calc(100% - var(--contact-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

/* FAQ page (/faqs): mirrors the Contact page's intro + native
   <details>/<summary> accordion. Independent .faq-v2 namespace so the page
   styling does not couple to .contact-v2; values intentionally match the
   Contact page for cross-page visual consistency. */
.faq-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  /* Readable column is capped to a comfortable measure and horizontally
     centered in the viewport (mirrors .contact-v2). */
  --faq-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --faq-v2-measure: 51.25rem; }

.faq-v2__container {
  width: min(var(--faq-v2-measure), calc(100% - var(--faq-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

.faq-v2__intro {
  margin-bottom: 3.5rem; }

.faq-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.faq-v2__subtitle {
  margin: 1.5rem 0 0;
  max-width: 40rem;
  /* Muted body copy at #454749 (~9.3:1 on white) clears WCAG AA/AAA;
     matches the Contact page secondary text. */
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: -0.0125rem; }

/* Accordions: native <details>/<summary> (independent of Serenity's disabled
   legacy scripts.js). */
.faq-v2__list {
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

.faq-v2__item {
  border-bottom: 1px solid rgba(17, 24, 39, 0.12); }

.faq-v2__q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.375rem 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.0125rem; }

.faq-v2__q::-webkit-details-marker {
  display: none; }

.faq-v2__q:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px; }

.faq-v2__q-text {
  flex: 1 1 auto;
  min-width: 0; }

.faq-v2__icon {
  flex: 0 0 auto;
  color: #454749;
  font-size: 1rem;
  transition: transform 0.2s ease; }

.faq-v2__item[open] .faq-v2__icon {
  transform: rotate(180deg); }

.faq-v2__a {
  padding: 0 0 1.5rem; }

.faq-v2__a p {
  /* Bottom margin (~1em at the 16px body size) separates multi-paragraph
     answers (e.g. the HSA/FSA question); last paragraph resets so the answer
     block keeps its own padding rhythm. Mirrors the prose paragraph-spacing
     pattern used by .hsa-v2__letter-p and .lesson-v2 body copy. */
  margin: 0 0 1rem;
  max-width: 45rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.5; }

.faq-v2__a p:last-child {
  margin-bottom: 0; }

/* Inline mailto links inside answers. Override Serenity's global a:hover
   brightness filter to keep the hover state crisp (see serenity/AGENTS.md
   "Styling Gotcha"). */
.faq-v2__link {
  color: #1b3d2f;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  overflow-wrap: anywhere;
  -webkit-filter: none;
  filter: none; }

.faq-v2__link:hover,
.faq-v2__link:focus-visible {
  color: #1b3d2f;
  text-decoration: underline;
  -webkit-filter: none;
  filter: none; }

.faq-v2__link:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px;
  border-radius: 0.125rem; }

/* HSA/FSA page (/hsa-fsa): informational content page linked from the FAQ.
   Reuses the shared public-content layout (centered readable column,
   Mackinac headings, Sofia Pro body) established by .contact-v2 / .faq-v2 so
   it reads as part of the same website. Independent .hsa-v2 namespace to avoid
   coupling to those pages; shared values are intentionally matched. */
.hsa-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  --hsa-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --hsa-v2-measure: 51.25rem; }

.hsa-v2__container {
  width: min(var(--hsa-v2-measure), calc(100% - var(--hsa-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

.hsa-v2__intro {
  margin-bottom: 2.5rem; }

.hsa-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.hsa-v2__subtitle {
  margin: 1.5rem 0 0;
  max-width: 45rem;
  /* Muted body copy at #454749 (~9.3:1 on white) clears WCAG AA/AAA;
     matches the Contact/FAQ pages' secondary text. */
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.0125rem; }

.hsa-v2__disclaimer {
  margin: 1rem 0 0;
  max-width: 45rem;
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.5;
  font-style: italic; }

.hsa-v2__divider {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

.hsa-v2__section-heading {
  margin: 0 0 1.5rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.875rem;
  line-height: 1.1;
  letter-spacing: -0.05625rem;
  font-weight: 500; }

/* Letter presented in a document-style card so it reads as a distinct,
   printable/copyable artifact separate from the page's own guidance copy. */
.hsa-v2__letter {
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 0.75rem;
  background: #fcfcfb;
  padding: 2.5rem 2.75rem; }

.hsa-v2__letter-p {
  margin: 0 0 1.25rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7; }

.hsa-v2__letter-p:last-child {
  margin-bottom: 0; }

.hsa-v2__letter-p strong {
  font-weight: 600;
  color: #1c1f23; }

.hsa-v2__letter-signature {
  margin: 1.75rem 0 1.25rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.4;
  overflow-wrap: anywhere; }

/* For Clinicians page (/for-clinicians): informational content page in the
   public content-page system. Reuses the .public-page shell and the
   .hsa-v2 / .contact-v2 / .faq-v2 layout grammar (820px measure, Mackinac
   headings, Sofia Pro body, 80/120 top/bottom padding) so all informational
   pages read as one visual system. Independent .clinicians-v2 namespace to
   keep concerns separate; shared numeric values are intentionally matched.
   Design token lock applies: every text-bearing element sets font-family,
   font-size, font-weight, line-height, letter-spacing, and color explicitly. */
.clinicians-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  --clinicians-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --clinicians-v2-measure: 51.25rem; }

.clinicians-v2__container {
  width: min(var(--clinicians-v2-measure), calc(100% - var(--clinicians-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

.clinicians-v2__intro {
  margin-bottom: 2.5rem; }

.clinicians-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

/* Lead paragraph directly under the title. Uses the site's subtitle scale
   (20px Sofia Pro on #454749) so it reads as an editorial opening statement
   rather than continuous body copy. */
.clinicians-v2__lead {
  margin: 1.5rem 0 0;
  max-width: 45rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.0125rem; }

.clinicians-v2__divider {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

.clinicians-v2__section-heading {
  margin: 0 0 1.5rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.875rem;
  line-height: 1.1;
  letter-spacing: -0.05625rem;
  font-weight: 500; }

/* Partnership items: paragraph with a bolded lead phrase then descriptive
   copy. Deliberately not a heading + body pair because the label doubles as
   the sentence's opening (grammatical continuity), not a separate title. */
.clinicians-v2__item {
  margin: 0 0 1.25rem;
  max-width: 45rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0; }

.clinicians-v2__item-lead {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: 600;
  color: #1c1f23; }

.clinicians-v2__cta {
  margin: 2rem 0 0;
  max-width: 45rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0; }

.clinicians-v2__feedback {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

.clinicians-v2__feedback-body {
  margin: 0;
  max-width: 45rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  font-style: italic; }

/* Inline anchors inside prose (mailto + deep-link into home experts section).
   Mirrors .faq-v2__link so link treatment is consistent across the public
   content-page family. Neutralises Serenity's global a:hover brightness
   filter (see serenity/AGENTS.md "Styling Gotcha"). */
.clinicians-v2__link {
  color: #1b3d2f;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  letter-spacing: inherit;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  overflow-wrap: anywhere;
  -webkit-filter: none;
  filter: none; }

.clinicians-v2__link:hover,
.clinicians-v2__link:focus-visible {
  color: #1b3d2f;
  text-decoration: underline;
  -webkit-filter: none;
  filter: none; }

.clinicians-v2__link:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px;
  border-radius: 0.125rem; }

/* About page (/about): brand + founder narrative in the public content-page
   family. Reuses the .public-page shell and the .hsa-v2 / .clinicians-v2
   layout grammar (820px measure, Mackinac heading, Sofia Pro body,
   80/120 top/bottom padding) so all informational pages read as one visual
   system. Body copy uses #1c1f23 (dark, warm) rather than the muted
   #454749 secondary body used on FAQ/HSA, matching the tone of the home
   page's home-v2__about-body: this content is a personal narrative, not
   reference material. Independent .about-v2 namespace to keep concerns
   separate; shared numeric values are intentionally matched. Design token
   lock applies: every text-bearing element sets font-family, font-size,
   font-weight, line-height, letter-spacing, and color explicitly. */
.about-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  --about-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --about-v2-measure: 51.25rem; }

.about-v2__container {
  width: min(var(--about-v2-measure), calc(100% - var(--about-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

.about-v2__intro {
  margin-bottom: 2.5rem; }

.about-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.about-v2__paragraph {
  margin: 0 0 1.5rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0; }

.about-v2__paragraph:last-child {
  margin-bottom: 0; }

.about-v2__paragraph em {
  /* Italic journal names inherit family/size/weight from the paragraph and
     add italic styling only. Sofia Pro has a real italic face at 400. */
  font-style: italic;
  color: inherit; }

/* Legal pages (/terms, /privacy, /state-consumer-health-data-addendum): long-form
   legal-content namespace. Reuses the .public-page shell and the .hsa-v2 layout
   grammar (820px measure, Mackinac headings, Sofia Pro body) so all
   informational pages read as one visual system. Independent .legal-v2 namespace
   to keep concerns separate; shared numeric values are intentionally matched.
   Design token lock applies: every text-bearing element sets font-family,
   font-size, font-weight, line-height, letter-spacing, and color explicitly. */
.legal-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  --legal-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --legal-v2-measure: 51.25rem; }

.legal-v2__container {
  width: min(var(--legal-v2-measure), calc(100% - var(--legal-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

.legal-v2__header {
  margin-bottom: 2.5rem; }

.legal-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.legal-v2__meta {
  margin: 1.5rem 0 0;
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  font-style: italic; }

.legal-v2__meta strong {
  font-weight: 600;
  color: #6b7280; }

/* Callout notice used on the Terms of Use page. Bordered off-white card
   mirrors the .hsa-v2__letter treatment so the reader parses it as a
   highlighted legal artifact rather than continuous body copy. */
.legal-v2__notice {
  margin: 2rem 0 0;
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 0.75rem;
  background: #fcfcfb;
  padding: 1.75rem 2rem; }

.legal-v2__notice-body {
  margin: 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.0125rem; }

.legal-v2__notice-label {
  color: #1c1f23;
  font-weight: 700;
  letter-spacing: 0.03125rem; }

/* Standalone lede paragraph rendered directly under the page header (before
   the first numbered section). Slightly heavier margin than a mid-doc
   paragraph so it reads as a document preamble. */
.legal-v2__lede {
  margin: 1.5rem 0 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0; }

.legal-v2__lede strong {
  font-weight: 600;
  color: #1c1f23; }

.legal-v2__section {
  margin-top: 3rem; }

.legal-v2__section-heading {
  margin: 0 0 1.25rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.875rem;
  line-height: 1.15;
  letter-spacing: -0.05625rem;
  font-weight: 500; }

.legal-v2__subsection {
  margin-top: 1.75rem; }

.legal-v2__subsection-heading {
  margin: 0 0 0.875rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.375rem;
  line-height: 1.2;
  letter-spacing: -0.025rem;
  font-weight: 500; }

.legal-v2__p {
  margin: 0 0 1rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0; }

.legal-v2__p:last-child {
  margin-bottom: 0; }

.legal-v2__p strong {
  font-weight: 600;
  color: #1c1f23; }

/* Emphasized paragraph rendered in ALL CAPS in the source (disclaimer /
   limitation-of-liability blocks in the Terms of Use). Tightens the letter-
   spacing slightly so the uppercase run does not read as shouting. */
.legal-v2__p--emphasis {
  font-weight: 500;
  letter-spacing: 0.0125rem; }

.legal-v2__ul {
  margin: 0 0 1rem;
  padding-left: 1.75rem;
  list-style-type: disc;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0; }

.legal-v2__li {
  margin: 0 0 0.5rem; }

.legal-v2__li:last-child {
  margin-bottom: 0; }

.legal-v2__li strong {
  font-weight: 600;
  color: #1c1f23; }

/* Contact block: address / email lines rendered in bold per source. Line
   spacing is tighter than body paragraphs so the block reads as a single
   grouped artifact. */
.legal-v2__contact {
  margin: 0.5rem 0 1rem;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6; }

.legal-v2__contact-line {
  margin: 0 0 0.25rem;
  overflow-wrap: anywhere; }

.legal-v2__contact-line:last-child {
  margin-bottom: 0; }

.legal-v2__contact-line strong {
  font-weight: 600;
  color: #1c1f23; }

.legal-v2__divider {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

/* Marketing article namespace (/low-fodmap-diet-done-right,
   /food-sensitivity-tests-ibs, and future MORE RESOURCES articles).
   Single-column editorial layout. Reuses the 820px reading measure of
   .about-v2/.hsa-v2/.legal-v2 so all long-form informational pages share
   one visual system. Design-token lock: every text-bearing element sets
   font-family/color/size/weight/line-height/letter-spacing explicitly
   (per .cursor/lessons.md 2026-07-08). */
.article-v2 {
  width: 100%;
  background: #fff;
  color: #1c1f23;
  overflow-x: hidden;
  --article-v2-content-side-padding: var(--course-shell-side-padding, 40px);
  --article-v2-measure: 51.25rem; }

.article-v2__container {
  width: min(var(--article-v2-measure), calc(100% - var(--article-v2-content-side-padding) * 2));
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 0 7.5rem; }

.article-v2__hero {
  margin-bottom: 3rem; }

.article-v2__eyebrow {
  margin: 0 0 1rem;
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08125rem;
  text-transform: uppercase; }

.article-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 3.5rem;
  line-height: 1.05;
  letter-spacing: -0.125rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.article-v2__byline {
  margin: 1.5rem 0 0;
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem; }

.article-v2__byline-author {
  color: #6b7280; }

.article-v2__byline-sep {
  color: #6b7280;
  opacity: 0.7; }

/* Body container base + explicit lock on every authored element type
   (p, ol, ul, li, strong, em, a). Prevents fall-through to stock body
   rules that resolve font from admin settings and would render authored
   HTML in the wrong family/color. */
.article-v2__body {
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__body p {
  margin: 0 0 1.25rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__body p:last-child {
  margin-bottom: 0; }

.article-v2__body strong {
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 600; }

.article-v2__body em {
  color: inherit;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-style: italic;
  font-weight: inherit; }

/* Inline links inside body copy. Green primary + underline so they read as
   real links within prose. Neutralize the global a:hover brightness filter
   (Serenity styling gotcha - see serenity/AGENTS.md). */
.article-v2__body a {
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.125rem; }

.article-v2__body a:hover,
.article-v2__body a:focus {
  color: #152f24;
  text-decoration: underline;
  filter: none;
  -webkit-filter: none; }

.article-v2__heading {
  margin: 3rem 0 1.25rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.875rem;
  line-height: 1.15;
  letter-spacing: -0.05625rem;
  font-weight: 500; }

.article-v2__list {
  margin: 0 0 1.5rem;
  padding-left: 1.75rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__list li {
  margin: 0 0 0.625rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__list li:last-child {
  margin-bottom: 0; }

.article-v2__divider {
  margin: 3.5rem 0;
  border: 0;
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

/* Small-print block: disclaimer + references. Steps text down two points
   and softens color so the reader parses it as ancillary attribution
   rather than continuous body copy. Italic is scoped to <em> only so
   the references list itself remains upright. */
.article-v2__meta {
  color: #6b7280; }

.article-v2__disclaimer {
  margin: 0 0 2rem;
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__disclaimer em {
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-style: italic;
  font-weight: 400; }

.article-v2__meta-heading {
  margin: 0 0 0.875rem;
  color: #1c1f23 !important;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08125rem;
  text-transform: uppercase; }

.article-v2__references {
  margin: 0;
  padding-left: 1.375rem;
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__references li {
  margin: 0 0 0.625rem;
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0; }

.article-v2__references li:last-child {
  margin-bottom: 0; }

.article-v2__references em {
  color: #6b7280;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-style: italic;
  font-weight: 400; }

/* Course-CTA card at the bottom of every article (shared snippet
   `article_course_promo`). Cream matches the home-v2 About surface so the
   promo reads as one visual family across the site. */
.article-v2__promo {
  margin-top: 4.5rem;
  border-radius: 1.25rem;
  background: #fdf6e8;
  padding: 3rem 3rem; }

.article-v2__promo-inner {
  max-width: 37.5rem;
  margin: 0 auto;
  text-align: center; }

.article-v2__promo-eyebrow {
  margin: 0 0 0.75rem;
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08125rem;
  text-transform: uppercase; }

.article-v2__promo-title {
  margin: 0 0 1rem;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 2rem;
  line-height: 1.1;
  letter-spacing: -0.06rem;
  font-weight: 500; }

.article-v2__promo-body {
  margin: 0 0 1.75rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0; }

/* Green primary pill mirrors .home-v2__pill-button (asymmetric vertical
   padding for optical centering of Sofia Pro; see AGENTS.md pill/badge
   optical centering). Kept as a scoped copy rather than reusing the home
   selector so the article namespace is independently portable. */
.article-v2__promo-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.4375rem;
  padding: 0.8125rem 1.6875rem 1.0625rem;
  border-radius: 999px;
  background: #1b3d2f;
  border: 1px solid #1b3d2f;
  color: #fff;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none; }

.article-v2__promo-cta:hover,
.article-v2__promo-cta:focus {
  color: #fff;
  background: #265743;
  border-color: #265743;
  text-decoration: none;
  filter: none;
  -webkit-filter: none; }

.contact-v2__intro {
  margin-bottom: 3.5rem; }

.contact-v2__title {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -0.15625rem;
  font-weight: 400;
  overflow-wrap: anywhere; }

.contact-v2__subtitle {
  margin: 1.5rem 0 0;
  max-width: 40rem;
  /* Muted body copy at #454749 (~9.3:1 on white), darker than $ibd-muted
     (#6b7280, ~4.8:1), so it clears WCAG AA/AAA comfortably. Reused across the
     page's secondary text. */
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: -0.0125rem; }

/* FAQ accordions: native <details>/<summary> (independent of Serenity's
   disabled legacy scripts.js). */
.contact-v2__faq {
  border-top: 1px solid rgba(17, 24, 39, 0.12); }

.contact-v2__faq-item {
  border-bottom: 1px solid rgba(17, 24, 39, 0.12); }

.contact-v2__faq-q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.375rem 0;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.0125rem; }

.contact-v2__faq-q::-webkit-details-marker {
  display: none; }

.contact-v2__faq-q:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px; }

.contact-v2__faq-q-text {
  flex: 1 1 auto;
  min-width: 0; }

.contact-v2__faq-icon {
  flex: 0 0 auto;
  color: #454749;
  font-size: 1rem;
  transition: transform 0.2s ease; }

.contact-v2__faq-item[open] .contact-v2__faq-icon {
  transform: rotate(180deg); }

.contact-v2__faq-a {
  padding: 0 0 1.5rem; }

.contact-v2__faq-a p {
  /* Matches the FAQ page answer copy: 16px body size and ~1em bottom margin
     for multi-paragraph answers, with the last paragraph reset. Kept in sync
     with .faq-v2__a p for cross-page consistency. */
  margin: 0 0 1rem;
  max-width: 45rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.5; }

.contact-v2__faq-a p:last-child {
  margin-bottom: 0; }

/* Inline link within contact FAQ answers. Kept in sync with .faq-v2__link so
   the HSA/FSA template link reads identically across the Contact and FAQ pages. */
.contact-v2__link {
  color: #1b3d2f;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  overflow-wrap: anywhere;
  -webkit-filter: none;
  filter: none; }

.contact-v2__link:hover,
.contact-v2__link:focus-visible {
  color: #1b3d2f;
  text-decoration: underline;
  -webkit-filter: none;
  filter: none; }

.contact-v2__link:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px;
  border-radius: 0.125rem; }

.contact-v2__get-in-touch {
  margin-top: 4.5rem; }

.contact-v2__section-heading {
  margin: 0;
  color: #1c1f23 !important;
  font-family: 'p22-mackinac-pro', 'Times New Roman', Times, serif;
  font-size: 1.875rem;
  line-height: 1.1;
  letter-spacing: -0.05625rem;
  font-weight: 500; }

.contact-v2__section-sub {
  margin: 0.625rem 0 0;
  max-width: 40rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.4; }

.contact-v2__topics {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem; }

.contact-v2__topic {
  /* Asymmetric vertical padding for optical centering of Sofia Pro text;
     see AGENTS.md "Pill and Badge Optical Centering". */
  padding: 0.5rem 1.25rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  background: #fff;
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }

.contact-v2__topic:hover {
  border-color: #1b3d2f; }

.contact-v2__topic:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px; }

.contact-v2__topic--active {
  background: #1b3d2f;
  border-color: #1b3d2f;
  color: #fff; }

.contact-v2__hint {
  margin: 1.5rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.contact-v2__hint[hidden] {
  display: none; }

.contact-v2__card {
  margin-top: 1.5rem;
  border-radius: 20px;
  background: #fdf6e8;
  padding: 2.25rem 2.5rem; }

.contact-v2__card[hidden] {
  display: none; }

.contact-v2__card-head {
  display: flex;
  align-items: center;
  gap: 0.75rem; }

.contact-v2__card-icon {
  color: #1b3d2f;
  font-size: 1.25rem; }

.contact-v2__card-title {
  color: #1c1f23;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 700; }

.contact-v2__card-blurb {
  margin: 1rem 0 0;
  max-width: 38.75rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.45; }

.contact-v2__card-email-row {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.875rem; }

.contact-v2__card-email {
  color: #1b3d2f;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.375rem;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
  -webkit-filter: none;
  filter: none; }

.contact-v2__card-email:hover,
.contact-v2__card-email:focus-visible {
  text-decoration: underline;
  color: #1b3d2f;
  -webkit-filter: none;
  filter: none; }

/* Quiet secondary text link (not a filled/outlined button): the stacked-
   squares icon sits next to an underlined "Copy" label. Only the label is
   underlined, matching the text-link reference. */
.contact-v2__copy {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0;
  border: 0;
  background: none;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.2;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.15s ease; }

.contact-v2__copy i {
  font-size: 0.875rem; }

.contact-v2__copy span {
  text-decoration: underline;
  text-underline-offset: 0.125rem; }

.contact-v2__copy:hover,
.contact-v2__copy:hover span {
  color: #1b3d2f; }

.contact-v2__copy:focus-visible {
  outline: 2px solid #1b3d2f;
  outline-offset: 2px;
  border-radius: 0.125rem; }

.contact-v2__copy--copied,
.contact-v2__copy--copied span {
  color: #1b3d2f; }

.contact-v2__card-meta {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 1.75rem; }

.contact-v2__card-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #454749;
  font-family: 'sofia-pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  line-height: 1.3; }

.contact-v2__card-meta-icon {
  font-size: 0.875rem; }

@media (max-width: 991px) {
  body#encore-theme.course-layout {
    --course-header-height: 53px; }

  /* Compact header at tablet: symmetric padding drives the rendered height
     to match the `--course-header-height` var so CSS, DOM, and JS-measured
     runtime value all agree (the JS in `ibd_public.js` re-measures and
     overwrites the var post-mount; this rule eliminates the pre-JS layout
     jump). 11 padding + 30 logo + 11 padding + 1 border = 53px. */
  .course-header {
    padding-top: 0.6875rem;
    padding-bottom: 0.6875rem; }

  .course-header__logo-img,
  .course-header__logo-svg {
    width: auto;
    height: 30px;
    max-width: none; }

  /* Shrink the hamburger to match the logo so neither child dominates the
     row height; keeps the rendered header at the target 53px. */
  .course-header__hamburger {
    width: 1.875rem;
    height: 1.875rem;
    font-size: 1.25rem; }

  .product-experts__grid {
    grid-template-columns: 1fr 1fr; }

  .lesson-v2__video-section,
  .lesson-v2__written-section {
    grid-template-columns: 1fr;
    row-gap: 1.5rem; }

  /* Video-only lessons: at mobile/tablet, drop the centering constraint and
     let the video-main fill the section (same behavior as regular lessons
     at this width, which hide the nav column and give the video full width). */
  .lesson-v2__video-section--video-only .lesson-v2__video-main {
    max-width: 100%; }

  .lesson-v2__written-nav-wrap {
    display: none; }

  .lesson-v2__video-nav {
    display: none; }

  .lesson-v2__written-section {
    margin-top: 2.5rem; }

  .lesson-v2 .post-written-content__chart,
  .lesson-v2 .post-written-content__image {
    width: 100%;
    margin: 1.5rem 0; }

  .home-v2__about {
    padding: 0 1.25rem 3.75rem; }

  .home-v2__about-card {
    width: 100%;
    padding: 3.125rem 1.5rem; }

  .home-v2__about-inner {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 2.5rem; }

  .home-v2__about-image-wrap {
    order: 1; }

  .home-v2__about-copy {
    order: 2; }

  .home-v2__about-image {
    width: clamp(260px, 36vw, 320px);
    min-width: 220px;
    max-width: 320px; }

  .course-v2__hero {
    padding: 4.375rem 0; }

  .course-v2__title {
    max-width: 36.25rem;
    font-size: 3.875rem;
    letter-spacing: -0.15rem; }

  .course-v2__body {
    max-width: 42.5rem; }

  .course-v2__hero-ctas {
    width: min(100%, 35rem);
    flex-wrap: nowrap; }

  .course-v2__hero-ctas .course-v2__pill-button {
    flex: 1 1 0;
    min-width: 0; }

  .course-v2__section-heading {
    font-size: 2.75rem;
    letter-spacing: -0.0825rem; }

  .course-v2__card-title {
    font-size: 1.75rem;
    letter-spacing: -0.035rem; }

  .course-v2__learnings {
    padding: 0 1.25rem 4.375rem; }

  .course-v2__learnings-card {
    width: 100%;
    padding: 3.4375rem 1.875rem; }

  .course-v2__learnings-inner {
    width: 100%; }

  .login-v2 {
    padding-top: calc(var(--course-header-height, 53px) + 4.5rem);
    padding-bottom: 5.625rem; }

  .login-v2__title {
    font-size: 2.75rem;
    letter-spacing: -0.0825rem; }

  .library-v2 {
    --library-v2-content-side-padding: 40px; }

  .library-v2__title {
    font-size: 2.75rem;
    letter-spacing: -0.0825rem; }

  .library-v2__card-title {
    font-size: 2.75rem;
    letter-spacing: -0.0825rem; } }
@media (max-width: 767px) {
  body#encore-theme.course-layout {
    --course-header-height: 52px;
    --course-preview-banner-height: 68px;
    --course-shell-side-padding: 20px; }

  body.course-layout-minimal {
    --course-shell-side-padding: 20px; }

  .course-v2 {
    --course-v2-content-side-padding: 20px; }

  .contact-v2 {
    --contact-v2-content-side-padding: 20px; }

  .contact-v2__container {
    padding: 3.5rem 0 5rem; }

  .contact-v2__intro {
    margin-bottom: 2.5rem; }

  .contact-v2__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .contact-v2__subtitle {
    font-size: 1.125rem; }

  .public-not-found {
    min-height: 50vh;
    padding: 3.5rem 1.25rem 4.5rem; }

  .public-not-found__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .public-not-found__body {
    font-size: 1.125rem; }

  .contact-v2__faq-q {
    font-size: 1.125rem;
    gap: 1rem; }

  .faq-v2 {
    --faq-v2-content-side-padding: 20px; }

  .faq-v2__container {
    padding: 3.5rem 0 5rem; }

  .faq-v2__intro {
    margin-bottom: 2.5rem; }

  .faq-v2__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .faq-v2__subtitle {
    font-size: 1.125rem; }

  .faq-v2__q {
    font-size: 1.125rem;
    gap: 1rem; }

  .hsa-v2 {
    --hsa-v2-content-side-padding: 20px; }

  .hsa-v2__container {
    padding: 3.5rem 0 5rem; }

  .hsa-v2__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .hsa-v2__subtitle {
    font-size: 1.125rem; }

  .hsa-v2__section-heading {
    font-size: 1.625rem;
    letter-spacing: -0.04375rem; }

  .hsa-v2__letter {
    padding: 1.75rem 1.375rem; }

  .hsa-v2__letter-p,
  .hsa-v2__letter-signature {
    font-size: 1rem; }

  .hsa-v2__letter-signature {
    /* The 30-underscore signature line can exceed a narrow column; allow it to
       break rather than force horizontal overflow. */
    font-size: 0.875rem; }

  .clinicians-v2 {
    --clinicians-v2-content-side-padding: 20px; }

  .clinicians-v2__container {
    padding: 3.5rem 0 5rem; }

  .clinicians-v2__intro {
    margin-bottom: 2rem; }

  .clinicians-v2__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .clinicians-v2__lead {
    font-size: 1.125rem; }

  .clinicians-v2__section-heading {
    font-size: 1.625rem;
    letter-spacing: -0.04375rem; }

  .clinicians-v2__item,
  .clinicians-v2__cta {
    font-size: 1rem; }

  .about-v2 {
    --about-v2-content-side-padding: 20px; }

  .about-v2__container {
    padding: 3.5rem 0 5rem; }

  .about-v2__intro {
    margin-bottom: 2rem; }

  .about-v2__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .about-v2__paragraph {
    font-size: 1rem;
    margin-bottom: 1.25rem; }

  .legal-v2 {
    --legal-v2-content-side-padding: 20px; }

  .legal-v2__container {
    padding: 3.5rem 0 5rem; }

  .legal-v2__title {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
    letter-spacing: -0.1rem; }

  .legal-v2__meta {
    font-size: 0.875rem; }

  .legal-v2__notice {
    padding: 1.375rem 1.25rem; }

  .legal-v2__notice-body {
    font-size: 0.875rem; }

  .legal-v2__section {
    margin-top: 2.5rem; }

  .legal-v2__section-heading {
    font-size: 1.625rem;
    letter-spacing: -0.04375rem; }

  .legal-v2__subsection {
    margin-top: 1.375rem; }

  .legal-v2__subsection-heading {
    font-size: 1.25rem;
    letter-spacing: -0.01875rem; }

  .legal-v2__lede,
  .legal-v2__p,
  .legal-v2__ul,
  .legal-v2__contact {
    font-size: 1rem;
    line-height: 1.7; }

  .article-v2 {
    --article-v2-content-side-padding: 20px; }

  .article-v2__container {
    padding: 3.5rem 0 5rem; }

  .article-v2__hero {
    margin-bottom: 2.25rem; }

  .article-v2__title {
    font-size: clamp(2.125rem, 10vw, 2.75rem);
    letter-spacing: -0.0875rem; }

  .article-v2__byline {
    font-size: 0.875rem; }

  .article-v2__body,
  .article-v2__body p,
  .article-v2__list,
  .article-v2__list li {
    font-size: 1rem;
    line-height: 1.6; }

  .article-v2__body p {
    margin-bottom: 1.125rem; }

  .article-v2__list {
    padding-left: 1.5rem; }

  .article-v2__heading {
    margin: 2.25rem 0 1rem;
    font-size: 1.5rem;
    letter-spacing: -0.0375rem; }

  .article-v2__divider {
    margin: 2.5rem 0; }

  .article-v2__disclaimer {
    font-size: 0.875rem; }

  .article-v2__references,
  .article-v2__references li {
    font-size: 0.8125rem; }

  .article-v2__promo {
    margin-top: 3.5rem;
    padding: 2.25rem 1.5rem;
    border-radius: 1rem; }

  .article-v2__promo-title {
    font-size: 1.625rem;
    letter-spacing: -0.04375rem; }

  .article-v2__promo-body {
    font-size: 1rem; }

  .article-v2__promo-cta {
    min-width: 0;
    width: 100%;
    max-width: 20rem; }

  .contact-v2__get-in-touch {
    margin-top: 3.5rem; }

  .contact-v2__card {
    padding: 1.75rem 1.375rem; }

  .contact-v2__card-email {
    font-size: 1.1875rem; }

  .course-v2__preview-banner-inner {
    gap: 0.375rem;
    flex-wrap: wrap; }

  .course-v2__preview-banner-text,
  .course-v2__preview-banner-cta {
    font-size: 0.875rem;
    letter-spacing: -0.0175rem; }

  .lesson-v2__main {
    padding: 1.25rem 1.25rem 4.375rem; }

  .lesson-v2__title-block {
    gap: 0;
    padding-bottom: 1.875rem; }

  .lesson-v2__lesson-title {
    font-size: 2.4375rem;
    letter-spacing: -0.073125rem; }

  .lesson-v2 .post-written-content__heading {
    margin-bottom: 1.375rem;
    font-size: 1.9375rem;
    line-height: 1.1;
    letter-spacing: -0.03875rem; }

  .lesson-v2 .post-written-content__body p,
  .lesson-v2 .post-written-content__body li {
    font-size: 1.125rem; }

  .lesson-v2__pager {
    justify-content: space-between;
    gap: 0.75rem; }

  .lesson-v2__pager-link {
    font-size: 0.875rem;
    letter-spacing: -0.0125rem; }

  .lesson-v2__pager-link i {
    font-size: 1em; }

  .lesson-v2__pager-link--next {
    margin-left: auto; }

  .course-v2__hero {
    padding: 3.125rem 0; }

  .course-v2__title {
    max-width: min(100%, 35rem);
    /* clamp floor/ceiling in rem so text-only zoom grows past the ceiling
       instead of being capped. vw middle term stays for viewport scaling. */
    font-size: clamp(2.125rem, 12.5vw, 3.0625rem);
    letter-spacing: -0.1225rem; }

  .course-v2__body {
    max-width: min(100%, 35rem); }

  .course-v2__hero-ctas {
    width: min(100%, 35rem);
    gap: 0.625rem;
    flex-wrap: nowrap; }

  .course-v2__hero-ctas .course-v2__pill-button {
    padding-left: 0.875rem;
    padding-right: 0.875rem; }

  .course-v2__experts {
    padding: 3.75rem 0; }

  .course-v2__section-heading {
    font-size: clamp(1.875rem, 10vw, 2.4375rem);
    letter-spacing: -0.073125rem; }

  .course-v2__experts-slider-wrap {
    margin-top: 1.875rem; }

  .course-v2__syllabus {
    padding-bottom: 3.75rem; }

  .course-v2__group-heading {
    margin-top: 1.875rem; }

  .course-v2__cards {
    width: 100%; }

  .course-v2__card {
    align-items: center; }

  .course-v2__card-title {
    font-size: clamp(1.25rem, 7.2vw, 1.5625rem);
    letter-spacing: -0.03125rem;
    line-height: 1; }

  .course-v2__card-right {
    padding-top: 0; }

  .course-v2__learnings {
    padding: 0 0.625rem 3.125rem; }

  .course-v2__learnings-card {
    width: 100%;
    padding: 3.125rem 1.25rem; }

  .course-v2__learnings-body {
    max-width: 100%; }

  .home-v2 {
    --home-v2-content-side-padding: 20px; }

  .library-v2 {
    --library-v2-content-side-padding: 20px; }

  .course-header,
  .course-footer {
    padding-left: var(--course-shell-side-padding);
    padding-right: var(--course-shell-side-padding); }

  .course-header {
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    padding-top: 0;
    padding-bottom: 0; }

  .course-header__inner {
    min-height: 3.25rem; }

  .course-header__logo-img,
  .course-header__logo-svg {
    width: auto;
    height: 25px;
    max-width: none; }

  .course-header__hamburger {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.25rem; }

  .course-footer {
    padding-top: 2.5rem;
    padding-bottom: 1.5625rem; }

  .course-footer__logo-img,
  .course-footer__logo-svg {
    width: auto;
    height: 46px; }

  .course-footer__inner {
    gap: 0; }

  .course-footer__links {
    gap: 0.3125rem;
    margin-bottom: 0; }

  .course-footer__socials {
    margin-top: 0.625rem;
    margin-bottom: 1.875rem; }

  .course-footer__disclaimer {
    gap: 0.625rem; }

  .home-v2__hero {
    --home-v2-hero-height: 600px;
    --home-v2-hero-scale: 0.85;
    /* Vertical padding gives the stacked title/body/CTA/caption breathing
       room on phones (matches comp); `min-height` still wins if content
       grows under text-only zoom. */
    padding: 3.75rem 0; }

  /* Mark is decorative; hide it on mobile per redesign. The existing xs
     `--home-v2-hero-logo-*` overrides in `@media (max-width: 544px)` become
     inert when the wrap is hidden; leaving them in place is minimal-impact. */
  .home-v2__hero-logo-wrap {
    display: none; }

  .home-v2__hero-content {
    justify-content: flex-start;
    gap: 0;
    padding-left: var(--home-v2-content-side-padding);
    padding-right: var(--home-v2-content-side-padding); }

  .home-v2__hero-copy {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%; }

  .home-v2__hero-title {
    max-width: 100%;
    /* clamp floor/ceiling in rem so text-only zoom can grow past the
       desktop ceiling; vw middle term remains for viewport-driven scaling. */
    font-size: clamp(2.5rem, 13vw, 3.5rem);
    letter-spacing: -0.14rem; }

  .home-v2__hero-body {
    max-width: 100%;
    /* Step body down proportionally on phones (matches comp). */
    font-size: clamp(1.0625rem, 5vw, 1.1875rem);
    overflow-wrap: anywhere; }

  .home-v2__experts {
    padding: 4.375rem 0; }

  .home-v2__section-heading {
    font-size: clamp(1.875rem, 10vw, 2.4375rem);
    letter-spacing: -0.073125rem; }

  .home-v2__expert-slider-wrap {
    margin-top: 1.875rem; }

  .home-v2__course-banner {
    padding: 3.125rem 0; }

  .home-v2__course-title {
    max-width: 100%;
    font-size: clamp(2.125rem, 12.5vw, 3.0625rem);
    letter-spacing: -0.1225rem; }

  .home-v2__course-body {
    max-width: 100%; }

  .home-v2__resources {
    padding: 3.125rem 0; }

  .home-v2__resources-grid {
    margin-top: 1.25rem;
    grid-template-columns: 1fr;
    gap: 0.625rem; }

  .home-v2__resource-title {
    font-size: clamp(1.25rem, 7.2vw, 1.5625rem);
    line-height: 1;
    letter-spacing: -0.03125rem; }

  .home-v2__resources-cta {
    margin-top: 1.25rem; }

  .home-v2__about-card {
    padding: 3.125rem 1.25rem; }

  .home-v2__about-image {
    width: clamp(136px, 56vw, 240px);
    min-width: 136px;
    max-width: 240px; }

  .home-v2__about-title {
    margin-bottom: 1.875rem;
    font-size: clamp(2.125rem, 12.5vw, 3.0625rem); }

  .library-v2__header {
    padding: 3.125rem 0 1.875rem; }

  .library-v2__courses {
    padding-bottom: 3.75rem; }

  .library-v2__title {
    /* clamp floor/ceiling in rem so text-only zoom can grow past the
       desktop ceiling; vw middle term stays for viewport-driven scaling. */
    font-size: clamp(2.125rem, 12.5vw, 3.0625rem);
    letter-spacing: -0.073125rem; }

  .library-v2__card {
    padding: 1.875rem 1.25rem; }

  .library-v2__meta {
    flex-wrap: wrap;
    row-gap: 0.625rem; }

  .library-v2__card-title {
    margin-top: 1.5rem;
    font-size: clamp(2.125rem, 12.5vw, 3.0625rem);
    letter-spacing: -0.073125rem; }

  .library-v2__card-body {
    margin-top: 1.5rem;
    max-width: 100%;
    font-size: 1.0625rem; }

  .library-v2__pill-button {
    margin-top: 1.5rem; }

  .product-page__main,
  .post-page__main,
  .public-page__main {
    padding: 32px 16px; }

  .lesson-v2__main {
    padding: 1.25rem 1.25rem 4.375rem; }

  .lesson-v2__lesson-title {
    font-size: 2.4375rem; }

  .product-experts__grid {
    grid-template-columns: 1fr; }

  .product-syllabus__row {
    grid-template-columns: 1fr;
    gap: 4px; }

  .course-header__mobile-menu {
    padding: 1rem 0.75rem 1.75rem;
    gap: 1.25rem; }

  .course-header__mobile-wordmark-svg {
    height: 1.625rem; }

  .course-header__mobile-link {
    font-size: 1.125rem; }

  .course-header__mobile-bottom {
    gap: 1.25rem; }

  .login-v2 {
    padding-top: calc(var(--course-header-height, 52px) + 3rem);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 4.375rem; }

  .login-v2__title {
    font-size: 2.4375rem;
    letter-spacing: -0.073125rem; }

  .login-v2__welcome {
    font-size: 1.0625rem; } }
@media (max-width: 544px) {
  .home-v2__hero {
    /* xs: smaller mark, shifted right; hero height stays 425px from sm tier */
    --home-v2-hero-scale: 0.85;
    --home-v2-hero-logo-size: 625px;
    --home-v2-hero-logo-bleed-right: -100px; } }
@media (max-width: 420px) {
  body#encore-theme.course-layout {
    --course-preview-banner-height: 88px; }

  .course-v2__hero-ctas {
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap; }

  .course-v2__hero-ctas .course-v2__pill-button {
    width: 100%;
    white-space: normal;
    text-align: center;
    min-height: 3.0625rem; }

  .login-v2 {
    padding-top: calc(var(--course-header-height, 52px) + 2.5rem); } }
/* Keep existing library functionality, but align shell spacing */
.library {
  max-width: 1400px;
  margin: 0 auto;
  padding: 48px 24px; }

@media (max-width: 767px) {
  .library {
    padding: 32px 16px; } }
