/**
 *
 * @package shapingpc,com
 * @version v1.0.1, index.css - "Prasand J."
 * @copyright (c) 2024 Shaping, L.L.C.
 * @license Non-distributable / Proprietary
 *
 */


@charset 'utf-8';

/* PREMATURE:	an alphabetical list of items/tags defined before the structure.
                No classes nor IDs belong in this region, just tag definitions. */

:root {
    --accent:#774A7A;
    --accent-contrast:#EEF4FF;
    --accent-lighter:#B499B6;
    --dark:#1D1D1F;
    --dark-overlay:rgba(0,0,0,0.5);
    --darker-overlay:rgba(0,0,0,0.9);
    --font-family-main:'Space Grotesk',Arial,sans-serif;
    --font-family-sans:Arial,Helvetica,sans-serif;
    --font-family-serif:Georgia,serif;
    --light:#FFF;
    --grey-light:#C9C9C9;
    --grey-medium:#575757;

    --gradient-body:linear-gradient(90deg,#FAFAFF 6.66%,#DEEDFF 94.21%);
    --gradient-services:linear-gradient(137.15deg, rgba(255,2555,255, 1.0) 0%, rgb(225,202,169) 98.53%), none;
    --gradient-services-hover:linear-gradient(135deg,var(--light) 0%,var(--accent-lighter) 100%);
    --gradient-dark:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 100%);
    --gradient-light:linear-gradient(180deg,var(--light) 0%,rgba(0,0,0,0) 100%);
    --gradient-light-variant:linear-gradient(90deg, rgba(215,208,226,0.3) 0%, rgba(238,244,255,1) 50%);
}

@font-face {

    font-family:'Space Grotesk';
    src:url('../fonts/space-grotesk/SpaceGrotesk-VariableFont_wght.ttf') format('truetype-variations');

}

@keyframes blinker { 50% { opacity: 0; } }

@media (orientation: portrait) { @import 'mobile.css'; }


*, *:before, *:after { box-sizing:inherit;}
a { color:var(--accent); text-decoration:none; transition:0.3s; }
body, html { padding:0; margin:0; height:100%; box-sizing:border-box; }
body { font:1rem/1.67rem var(--font-family-main); color:var(--dark); background-color:var(--light); background-image:var(--gradient-body); }
html { line-height:1.15rem; scroll-behavior:smooth; }
h1, h2, h3, h4 { font:500 6.25rem/6.125rem var(--font-family-main); text-transform:uppercase; }


 
/* STRUCTURE:	the consistent page items' size,positions,etc. ordered by their
                appearance in the page source / structure.  */
 
body header { width:100%; padding:60px 50px 56px; border-bottom:1px solid var(--grey-light); }
body header nav { max-width:1400px; padding:0; margin:0 auto; display:flex; align-items:center; }
body header nav figure { font-size:1rem; line-height:1.67rem; margin:7px 0; display:flex; flex:1 0 46.5%; flex-wrap:nowrap; align-items:center; }
body header nav figure a { margin-right:6px; display:flex; column-gap:15px; align-items:center; position:relative; }
body header nav figure a img { width:28.57px; height:auto; margin:0; }
body header nav figure a img + img { width:150px; }
body header nav figure a:after { content:'The Reinforcement of Healthy Behavior'; font-family:var(--font-family-sans); font-size:14px; font-style:italic; color:var(--dark); white-space:nowrap; position:absolute; left:44px; bottom:-25px; }
body header nav ul { padding:0; border:0; margin:0; list-style-type:none; display:flex; flex:1 0 53.5%; align-items:center; justify-content:flex-end; }
body header nav ul li { padding:0; border:0; margin:0; flex:0 1 auto;}
body header nav ul li a { font-size:1.125rem; line-height:1.6875rem; letter-spacing:-0.18px; color:var(--dark); padding:5px 18px; margin:-4px 0 0; display:inline-block; }
body header nav ul li a:hover { color:var(--accent); }
body header nav ul li:last-child a { letter-spacing:normal; padding:14px 20px; border:1px solid var(--dark); margin-left:18px; }
body header nav ul li:last-child a:hover { color:var(--light); background-color:var(--darker-overlay); border-color:var(--darker-overlay); }

body main { min-height:500px; }
body main article section header { width:auto; padding:0; border:0; }

body footer { color:var(--dark); background-color:var(--light); padding:110px 50px 50px; margin:0; }
body footer section { height:auto; display:flex; flex-basis:1080px; gap:3em; flex-grow:0; }
body footer article { position:relative; flex-basis:33.3333%; order:3; }
body footer article header { min-height:auto; padding:0 !important; margin:0 !important; border:0 !important; display:block !important; position:relative; z-index:0; }
body footer article header h2 { font-size:1.5625rem; line-height:2.125rem; letter-spacing:-0.01em; max-width:310px; margin:0 auto 20px; text-transform:capitalize; }
body footer article header h3 { font-size:1.25rem; line-height:1.8125rem; letter-spacing:-0.01em; max-width:310px; margin:20px auto 10px; text-transform:capitalize; }
body footer article a { color:var(--dark); }
body footer article a:hover { color:var(--accent); text-decoration:underline; }
body footer article a img { width:auto; height:100% !important; }
body footer article a:hover img { opacity:0.4; }
body footer article address { font-size:1.125rem; line-height:1.75rem; width:310px; margin:0 auto; }
body footer article address label { font-style:normal; width:100px; float:left; clear:both; opacity:0.4; }
body footer article address p { font-style:normal; padding:0 0 16px; margin:0 0 0 100px; }
body footer article address:after { content:''; height:1px; display:block; clear:both; }
body footer article blockquote { padding:0; margin:0; }
body footer article blockquote p { padding:0 0 0 25px; margin:0; display:inline; position:relative; }
body footer article blockquote p:before { content:'\201C'; font-family:var(--font-family-serif); font-size:3.125rem; position:absolute; top:5px; left:0; }
body footer article blockquote p:after { content:'\201D'; font-family:var(--font-family-serif); font-size:2.5em; position:absolute; bottom:-12px; right:-20px; }
body footer article blockquote footer { font-family:var(--font-family-sans); font-size:0.8125rem; line-height:normal; padding:0; margin:20px 0 0; }
body footer article ul { list-style:none; padding:0; margin:0; display:flex; justify-content:center; }
body footer article ul li { margin:0 10px; display:inline-block; }
body footer article ul li img { width:auto; height:40px; }
body footer article section { display:block; flex-basis:auto; }
body footer article + article { order:2; }
body footer article + article header h2 { text-align:center; }
body footer article + article header h3 { color:var(--accent); text-align:center; }
body footer article + article header + p { font-weight:500; padding:0; margin:0 auto 40px; text-align:center; }
body footer article + article header + p span { font-weight:normal; }
body footer article + article aside { max-width:310px; margin:0 auto 20px; text-align:center; }
body footer article + article aside ul { display:block; }
body footer article + article aside ul li { font-weight:500; display:block; text-align:right; }
body footer article + article aside ul li span { font-weight:normal; width:150px; margin-left:10px; display:inline-block; text-align:left; }
body footer article + article + article { padding-top:110px; order:1; }

body footer .bottom { font-size:0.8125rem; line-height:normal; align-items:flex-end; }
body footer .bottom nav { flex-basis:66.6666%; order:initial; }
body footer .bottom nav ul { font:1rem/1.67rem var(--font-family-main); padding:0; border:0; margin:0; list-style-type:none; display:flex; align-items:center; justify-content:start; }
body footer .bottom nav ul li { margin:0 50px 0 0; }
body footer .bottom nav ul li a { color:var(--dark); }
body footer .bottom nav ul li a:hover { color:var(--accent); text-decoration:underline; }
body footer .bottom article { flex-basis:33.3333%; text-align:center; }
body footer .bottom article ul { margin:20px 0 64px; display:inline-block; }
body footer .bottom article ul li { margin:0 25.4px; display:inline-block; }
body footer .bottom article ul li a { width:25px; height:25px; display:inline-block; }
body footer .bottom article p { font-family:var(--font-family-sans); padding:0; margin:0; opacity:0.4; transition:opacity 0.3s; }
body footer .bottom article p + p { margin-top:20px; }
body footer .bottom:hover article p { opacity:1.0; }
 
 

/* DIFFERENCES:	the minor differences between pages, ordered by page structure.
                Items should be prefixed with their relative ID or class. */
 
.home header { padding:60px 50px 30px; border:0; }
.home main article { height:100%; flex-basis:1080px; flex-grow:0; }
.home main article header { display:none; }
.home main article section { position:relative; }
.home main article section header { padding:0; display:block; }

.home .intro-banner { height:100%; display:flex; gap:2em; align-items:center; justify-content:flex-end; }
.home .intro-banner div { min-width:70px; max-width:840px; padding:0 20px 10em; display:flex; column-gap:1em; }
.home .intro-banner div p { font-size:0.9375rem; }
.home .intro-banner div div { min-width:auto; max-width:auto; padding:0; margin:0 0 0 20px; display:block; align-items:normal; flex-basis:30%; flex-grow:0; }
.home .intro-banner div div + div { margin:0; flex-basis:70%; align-items:bottom; }
.home .intro-banner div div + div p { font-size:1.125rem; }
.home .intro-banner h2 { font-size:3.125rem; line-height:3.375rem; letter-spacing:1px; color:var(--accent); margin:0; }
.home .intro-banner h2 + p { color:var(--dark); margin:0 60px 30px 0; }
.home .intro-banner h2 + p + a { font-size:1rem; font-weight:100; color:var(--dark); height:28px; display:inline-block; }
.home .intro-banner h2 + p + a:hover { font-weight:500; }
.home .intro-banner h2 + p + a:hover:before { color:var(--light)-purple; }
.home .intro-banner h2 + p + a:before { content:'\25BA'; font-size:1.25rem; color:var(--accent); margin:0 5px 0 0; }
.home .intro-banner h2:after { content:''; max-width:60px; border-bottom:3px solid var(--accent); margin:25px 0 26px; display:block; clear:both; }
.home .intro-banner h3 { font-size:4.375rem; line-height:3.75rem; letter-spacing:2px; color:var(--dark); margin:0 0 60px; }
.home .intro-banner h3 + p { margin-bottom:89px; }
.home .intro-banner h3 + p + a { font-size:1.125rem; line-height:1.75rem; color:var(--light); background-color:var(--accent); padding:28px 26px 29px; border:1px solid var(--accent); }
.home .intro-banner h3 + p + a:hover { color:var(--light); background-color:var(--darker-overlay); }
.home .intro-banner figure { width:100%; height:100%; max-width:820px; margin:0; display:flex; flex:1 0 42.25%; overflow:hidden; position:relative; }
.home .intro-banner figure img { width:100%; height:auto; object-fit:cover; }
.home .intro-banner figure img.float { position:absolute; top:0; left:0; z-index:1; }
.home .intro-banner figure div { width:101%; height:100%; margin:0; position:absolute; left:-1px; top:0; }
.home .intro-banner figure div img { content:url('../images/photo.overlay.01.svg'); position:absolute; bottom:0; left:0; z-index:5; }

.home .session-formats { background-color:var(--light); width:100%; padding:133px 0 150px; }
      .session-formats h2 { font-size:1.125rem; line-height:1.875rem; letter-spacing:0.00125rem; color:var(--accent); margin:0; text-align:center; }
      .session-formats h2 + p { font-weight:500; font-size:2.8125rem; line-height:3.125rem; letter-spacing:0.02em; color:var(--dark); max-width:550px; margin:20px auto 90px; text-align:center; text-transform:uppercase; }
      .session-formats ul { width:100%; padding:0; margin:0; display:flex; column-gap:0.2em; list-style:none; counter-reset:service-category; }
      .session-formats ul li { background-image:var(--gradient-services); padding:131px 36px 21px; margin:0 58.5px; flex-basis:33.3333%; position:relative; overflow:hidden; transition:0.3s; counter-increment:service-category; }
      .session-formats ul li h3 { font-size:1.5625rem; line-height:2.125rem; letter-spacing:-0.015625rem; color:var(--dark); text-transform:none; position:relative; z-index:3; }
      .session-formats ul li h3:before { content:''; background-image:url('../images/icon_services_personal.svg'); width:70px; height:71px; position:absolute; top:-86px; left:0; }
      .session-formats ul li h3:after { content:''; background-image:url('../images/icon_wave.svg'); width:76px; height:14px; margin:15px 0.5px -7px; display:block; }
      .session-formats ul li + li h3:before {  background-image:url('../images/icon_services_couples.svg'); }
      .session-formats ul li + li + li h3:before {  background-image:url('../images/icon_services_family.svg'); }
      .session-formats ul li p { font-size:1.125rem; line-height:1.75rem; color:var(--dark); margin:0 0 1.5em; position:relative; z-index:3; }
      .session-formats ul li:after { content:counter(service-category); font-weight:500; font-size:23.75rem; line-height:23.75rem; background:var(--gradient-light); position:absolute; bottom:-60px; right:8px; z-index:2; transition:0.3s; background-clip:text; text-fill-color:transparent; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
      .session-formats ul li + li:after { right:-32px; }
      .session-formats ul li + li + li:after { right:-23px; }
      .session-formats ul li:hover { background-image:var(--gradient-services-hover); }
      .session-formats ul li:hover:after { right:15px; }

.home .how-help { background-color:var(--accent); padding:94.5px 58.5px 66.5px; display:flex; column-gap:5rem; align-items:center; }
      .how-help figure { padding:0; margin:0; position:relative; flex-basis:38%; }
      .how-help figure img { content:url('../images/photo.overlay.02.svg'); width:100%; position:relative; top:0; left:0; z-index:5; }
      .how-help figure div { width:calc(100% - 4px); height:calc(100% - 30px); padding:0; margin:0; overflow:hidden; flex-basis:auto; position:absolute; top:2px; right:2px; z-index:0; }
      .how-help figure div img { object-fit:cover; z-index:0; }
      .how-help figure div img.float { position:absolute; z-index:1; }
      .how-help figure figcaption { font-family:var(--font-family-sans); font-size:1.375rem; width:120px; height:120px; color:var(--light); padding-top:35px; margin-left:calc(100% - 60px); margin-bottom:calc(100% - 100px); border:1px solid var(--light); border-radius:50%; outline:1px solid var(--light); outline-offset:8px; text-align:center; align-items:center; position:absolute; bottom:0; left:0; z-index:6; }
      .how-help figure figcaption span { font-family:var(--font-family-main); font-size:0.875rem; line-height:1.0625rem; display:block; }
      .how-help div { font-size:1.125rem; padding:0 0 34px 3em; flex-basis:62%; }
      .how-help div h2 { font-weight:normal; font-size:1.125rem; line-height:1.75rem; letter-spacing:0.023rem; color:var(--light); margin:0 0 -25px; }
      .how-help div h3 { font-size:2.1875rem; line-height:2.5rem; letter-spacing:0.043rem; color:var(--light); margin-bottom:35px; }
      .how-help div p { color:var(--light); margin:0 0 2.5em; }
      .how-help div ul { font-weight:500; font-size:1rem; line-height:1.9375rem; color:var(--light); padding:0; margin:0 0 70px; list-style:none; column-count:2; column-gap:2.65em; }
      .how-help div ul li { margin-bottom:14px; }
      .how-help div ul li acronym { line-height:0.625rem; padding-bottom:2px; border-bottom:1px dashed var(--light); margin-top:-5px; }
      .how-help div ul li acronym:after { content:'?'; font-size:0.75rem; margin-left:5px; vertical-align:super; }
      .how-help div ul li:before { content:'\2714'; font-weight:700; margin-right:17px; }
      .how-help div a { line-height:1.75rem; color:var(--dark); background-color:var(--light); border:1px solid var(--light); padding:28px 26px 29px; margin-right:66px; }
      .how-help div a:hover { color:var(--light); background-color:var(--darker-overlay); border-color:var(--darker-overlay); }
      .how-help div a + a { color:var(--light); background-color:var(--accent); }
      .how-help .wp-block-template-part { padding:0; display:flex; flex-basis:auto; column-gap:4.44em; align-items:center; }

.home .topics-served { background-color:var(--light); padding:136px 58.5px 77px; margin:0; text-align:center; }
      .topics-served h2 { font-weight:500; font-size:1.125rem; line-height:1.75rem; letter-spacing:-0.01em; color:var(--accent); padding:0; margin:0 0 21px; display:none; }
      .topics-served h3 { font-size:3.125rem; line-height:3.4375rem; letter-spacing:0.02em; color:var(--dark); padding:0; margin:0 0 90px; }
      .topics-served ul { padding:0; margin:0; list-style:none; columns:4; gap:4.5em; }
      .topics-served ul li { font-weight:500; color:var(--dark); background-color:var(--accent-lighter); height:280px; padding:0; margin:0 0 4.5em; break-inside:avoid; display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
      .topics-served ul li span { color:var(--light); background-color:var(--dark-overlay); padding:15px; display:block; position:relative; z-index:1; transition:0.3s; }
      .topics-served ul li span span { padding:0; background-color:transparent !important; }
      .topics-served ul li:after { content:''; background-origin:content-box; background-size:cover; width:100%; height:100%; position:absolute; top:0; left:0; transition:0.3s; }
      .topics-served ul li:hover span { background-color:var(--dark); }
      .topics-served ul li:hover:after { opacity:0.25; }

.home .free-consultation { background:var(--accent-lighter) url('../images/background-zen.jpg') no-repeat 30% 50%; background-origin:border-box; background-size:cover; min-height:833px; padding:150px 0; margin:0; display:flex; align-items:center; justify-content:flex-end; }
.home .free-consultation div { font-size:1.125rem; line-height:1.75rem; max-width:550px; margin-right:74.5px; }
.home .free-consultation div h2 { font-size:3.75rem; line-height:3.75rem; letter-spacing:0.02rem; color:var(--light); padding:0; margin:0 0 40px; }
.home .free-consultation div p { color:var(--light); margin:0 0 77px; }
.home .free-consultation div div { max-width:none; margin-bottom:27px; }
.home .free-consultation div div a { color:var(--light); background-color:var(--accent); border:1px solid var(--accent); padding:28px 26px 29px; }
.home .free-consultation div div a:hover { background-color:var(--dark-overlay); border-color:var(--dark-overlay); }

.home .location-map { color:var(--light); background-color:var(--accent); background-origin:border-box; padding:150px 4em; margin:0; }
.home .location-map header { margin:0 0 70px; display:flex; column-gap:2rem; align-items:center; }
.home .location-map header h2 { font-size:3.125rem; line-height:3.125rem; letter-spacing:0.02em; padding:0; margin:0; }
.home .location-map header p { font-size:1rem; line-height:1.875rem; font-style:normal; letter-spacing:-0.01em; padding:0; margin:0 0 0 100px; }
.home .location-map iframe,
.home .location-map #map { background-color:var(--accent-lighter); width:100%; height:550px; border:0; }


.page-template header { background-color:var(--light); }
.page-template header nav figure a:after { content:''; display:none; }
.page-template main article { background:var(--light) var(--gradient-light-variant); }
.page-template main article header { padding:96px 50px; position:relative; display:flex; align-items:center; }
.page-template main article header h1 { letter-spacing:-0.06rem; margin:0; position:relative; z-index:1; }
.page-template main article header p { font-size:1.125rem; line-height:1.875rem; font-weight:500; color:var(--accent); max-width:300px; padding:0 0 0 40px; margin:0 23% 0 auto; }
.page-template main article header div { max-width:300px; padding:0 0 0 40px; margin:0 23% 0 auto; }
.page-template main article header div p { max-width:auto; padding:0; margin:0; }
.page-template main article header:before { content:''; background-color:var(--accent-contrast); width:318px; height:8.75rem; margin-top:-4.375rem; position:absolute; top:50%; left:0; }
.page-template main article header:after { content:''; background:transparent url('../images/logo_shapingpc_icon_blue.svg') no-repeat; min-width:121px; height:196px; margin-top:-98px; position:absolute; top:50%; right:50px; }
.page-template main article section header { background-color:transparent; display:block; }
.page-template main article section header:before,
.page-template main article section header:after { display:none; }

.page-template main article.about section { padding:130px 30px; display:flex; column-gap:2rem; }
.page-template main article.about section div { flex-basis:60%; }
.page-template main article.about section div header { padding:0; }
.page-template main article.about section div header h2 { font-size:1.125rem; line-height:1.875rem; letter-spacing:-0.01125rem; color:var(--accent); margin:0 0 20px; }
.page-template main article.about section div header h3 { font-size:2.0rem; line-height:2.125rem; letter-spacing:0.0625rem; margin:0 0 40px; }
.page-template main article.about section div p { font-family:var(--font-family-sans); line-height:normal; }
.page-template main article.about section figure { margin:40px 0 0; flex-basis:40%; text-align:center; }
.page-template main article.about section figure figcaption { padding:0; margin:0; }

.page-template main article.contact { padding:0; margin:0; }
.page-template main article.contact header p { animation:blinker 1s ease-in-out infinite;  }
.page-template main article.contact section { background:transparent url('../images/background-swirl.svg') no-repeat 96.2% 0%; background-size:contain; padding:100px 2.4rem 150px; }
.page-template main article.contact section figure { margin:0; position:relative; }
.page-template main article.contact section figure iframe,
.page-template main article.contact section figure #map { background-color:var(--accent-lighter); width:53%; height:550px; border:0; }
.page-template main article.contact section figure figcaption { background-color:var(--light); border-left:10px solid var(--accent); width:calc(50% + 140px); padding:30px; margin:0; flex-basis:47%; position:absolute; top:50%; left:calc(50% - 140px); z-index:1; transform:translateY(-50%); }
.page-template main article.contact section figure figcaption header { padding:0; }
.page-template main article.contact section figure figcaption header h2 { font-size:1.5625rem; line-height:2.125rem; letter-spacing:-0.01rem; padding:0; margin:0 0 20px; text-transform:none; }
.page-template main article.contact section figure figcaption address { display:flex; column-gap:3rem; }
.page-template main article.contact section figure figcaption address label { font-size:1.125rem; line-height:1.75rem; font-weight:500; font-style:normal; color:var(--accent); }
.page-template main article.contact section figure figcaption address p { font-size:1.125rem; line-height:1.75rem; font-style:normal; }
.page-template main article.contact section figure figcaption address p a { color:var(--dark); }
.page-template main article.contact section figure figcaption address p a:hover { color:var(--accent); text-decoration:underline; }
.page-template main article.contact section figure + div { width:100%; }
.page-template main article.contact section figure + div form { width:53%; padding:0; border:0; margin:68px 0 0; position:relative; }
.page-template main article.contact section figure + div form br { display:none; }
.page-template main article.contact section figure + div form label { font-size:1rem; line-height:1.67rem; font-weight:500; width:100%; margin:20px 0 0; display:block; }
.page-template main article.contact section figure + div form label:not([for]),
.page-template main article.contact section figure + div form label[for=""]{ margin:0; }
.page-template main article.contact section figure + div form input,
.page-template main article.contact section figure + div form textarea { font-size:1.125rem; line-height:1.75rem; width:100%; padding:12px 18px; border:1px solid var(--dark); margin:6px 0 0; }
.page-template main article.contact section figure + div form textarea { height:171px; }
.page-template main article.contact section figure + div form input[type="submit"] { color:var(--light); background-color:var(--accent); border-color:var(--accent); width:auto; padding:26px 50px; margin:25px 40px 0 0; float:left; position:relative; z-index:1; }
.page-template main article.contact section figure + div form input[type="checkbox"] { background-color:var(--accent-lighter); width:22px; height:22px; outline:1px solid #000; margin:40px 10px 0 0; display:inline-block; }
.page-template main article.contact section figure + div form input[type="checkbox"] + span  { line-height:22px; }
.page-template main article.contact section figure + div form span { display:inline; }
.page-template main article.contact section figure + div form span.wpcf7-spinner { width:24px; height:24px; padding:0; margin:0; position:absolute; left:165px; bottom:30px; }
.page-template main article.contact section figure + div form span.wpcf7-list-item { margin:0; display:inline; }
.page-template main article.contact section figure + div form span.wpcf7-not-valid-tip { display:block; }
.page-template main article.contact section figure + div form > p { flex-basis:50%; position:relative; }
.page-template main article.contact section figure + div form > p:before { content:'Message Us'; font-size:1.5625rem; line-height:2.125rem; font-weight:500; letter-spacing:-0.025rem; margin:0 0 20px; display:block; }
.page-template main article.contact section figure + div form:after { content:''; background:transparent url('../images/background-cup.jpg') no-repeat top center; background-size:100% auto; width:calc(100% - 200px); height:100%; position:absolute; top:0; left:calc(100% + 100px); }

.page-template main article .how-help { background-color:var(--accent-contrast); background-image:none; padding:100px 60px 150px; display:flex; column-gap:5rem; align-items:center; }
.page-template main article .how-help figure img { content:url('../images/photo.overlay.03.svg'); }
.page-template main article .how-help figure figcaption { display:none; }
.page-template main article .how-help div header { padding:0; }
.page-template main article .how-help div header h2 { font-weight:500; color:var(--accent); }
.page-template main article .how-help div header h3 { color:var(--dark); }
.page-template main article .how-help div p { color:var(--dark); }
.page-template main article .how-help div ul { color:var(--dark); }
.page-template main article .how-help div a { color:var(--light); background-color:var(--accent); border-color:var(--accent); }
.page-template main article .how-help div a:hover { color:var(--light); background-color:var(--darker-overlay); border-color:var(--darker-overlay); }
.page-template main article .how-help div ul + a { display:none; }

.page-template main article.intake header h1 { font-size:4rem; }
.page-template main article.intake section { background:var(--accent) none; padding:100px 2.4rem 150px; margin:0; }
.page-template main article.intake section p { font-size:1.5625rem; line-height:2.125rem; font-weight:500; color:var(--light); width:80%; padding:0; margin:0 auto 100px; }
.page-template main article.intake section figure { background-color:var(--light); width:60%; padding:0; border-radius:15px; margin:0 auto; display:flex; align-items:center; }
.page-template main article.intake section figure a { font-weight:500; color:var(--dark); padding:20px; border-radius:0 15px 15px 0; display:block; flex-basis:10%; }
.page-template main article.intake section figure a svg { fill:var(--accent); width:60px; height:60px; margin:0 auto 5px; display:block; }
.page-template main article.intake section figure a:hover { color:var(--light); background-color:var(--dark); }
.page-template main article.intake section figure a:hover svg { fill:var(--light); }
.page-template main article.intake section figure figcaption { border-right:1px solid var(--grey-light); padding:20px 20px 20px 30px; flex-basis:90%; }
.page-template main article.intake section figure figcaption header { padding:0; margin:0 0 5px; }
.page-template main article.intake section figure figcaption header h2 { font-size:1.125rem; line-height:1.75rem; color:var(--accent); padding:0; margin:0; }
.page-template main article.intake section figure figcaption p { font-size:1rem; line-height:1.67rem; color:var(--grey-medium); width:auto; margin:0; }

.page-template main article.privacy section { width:900px; padding:100px 6rem 200px; margin:0 auto; }
.page-template main article.privacy section h2 { font-size:2.125rem; line-height:2.75rem; color:var(--dark); padding:0; margin:80px 0 20px; }
.page-template main article.privacy section h3 { font-size:1.375rem; line-height:2rem; font-weight:500; color:var(--accent); padding:0; margin:60px 0 20px; }
.page-template main article.privacy section h4 { font-family:var(--font-family-sans); font-size:1.125rem; line-height:1.75rem; font-weight:700; color:var(--dark); padding:0; margin:40px 0 20px; }
.page-template main article.privacy section h2 + h3 { margin:40px 0 20px; }
.page-template main article.privacy section p { font-family:var(--font-family-sans); padding:0; margin:0 0 20px; }
.page-template main article.privacy section ul { margin:0 0 40px; }
.page-template main article.privacy section ul li { font-family:var(--font-family-sans); margin-bottom:20px; }
.page-template main article.privacy section ul li p { margin:0 0 10px; }

.page-template main article .session-formats { padding:100px 0 150px; }
.page-template main article .session-formats aside header { padding:150px 50px 60px; }
.page-template main article .session-formats aside header h2 { font-size:2rem; text-align:center; }
.page-template main article .session-formats aside ul li { font-weight:500; font-size:1.4rem; background:var(--dark) none; padding:36px; align-items:center; justify-content:center; text-align:center; position:relative; z-index:1; }
.page-template main article .session-formats aside ul li h3 { font-size:1.5625rem; line-height:2.125rem; letter-spacing:-0.015625rem; color:var(--light); margin:0 0 10px; display:block; }
.page-template main article .session-formats aside ul li h3 + p { font-size:1rem; font-style:italic; color:var(--grey-light); margin:0 0 30px; text-align:center !important; }
.page-template main article .session-formats aside ul li p { color:var(--light); margin:0; text-align:left; }
.page-template main article .session-formats aside ul li:hover { background-color:var(--dark-overlay); }
.page-template main article .session-formats aside ul li:after { content:counter(service-category, upper-alpha); font-size:10rem; line-height:10rem; background:var(--gradient-dark); right:-10px; bottom:-30px; background-clip:text; text-fill-color:transparent; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.page-template main article .session-formats aside ul li:hover:after { right:10px; }
.page-template main article .session-formats aside ul li h3:before,
.page-template main article .session-formats aside ul li h3:after { display:none; }

.page-template main article .topics-served { background-color:var(--accent); background-image:none; padding:100px 60px; margin:0; text-align:center; }
.page-template main article .topics-served header { padding:0; margin:0 0 80px; }
.page-template main article .topics-served header h2 { color:var(--accent-lighter); }
.page-template main article .topics-served header h3 { color:var(--light); margin:0; }
.page-template main article .topics-served ul { max-width:700px; padding:0; margin:0 auto; list-style:none; columns:2; display:block; }
.page-template main article .topics-served ul li { background-color:transparent; height:auto; margin:0; break-inside:avoid; transition:0.3s; }
.page-template main article .topics-served ul li span { background-color:transparent; }
.page-template main article .topics-served ul li:hover { background-color:var(--light); }
.page-template main article .topics-served ul li:hover span { color:var(--dark); }
.page-template main article .topics-served ul li:after { display:none; }



/* STYLIZATION:	additional styles which do not affect the overall page's structure
                and / or style. Should be in alphabetical order. */

.grecaptcha-badge { display:none !important; visibility:hidden !important; }

.icon-facebook img { content:url('../images/icon_social_facebook.svg'); }
.icon-instagram img { content:url('../images/icon_social_instagram.svg'); }
.icon-threads img { content:url('../images/icon_social_threads.svg'); }
.icon-twitter img { content:url('../images/icon_social_twitter.svg'); }
.icon-x img { content:url('../images/icon_social_x.svg'); }
.icon-visa img { content:url('../images/icon_payment_visa.svg'); }
.icon-mastercard img { content:url('../images/icon_payment_mastercard.svg'); }
.icon-amex img { content:url('../images/icon_payment_amex.svg'); }
.icon-venmo img { content:url('../images/icon_payment_venmo.svg'); }
.icon-zelle img { content:url('../images/icon_payment_zelle.svg'); }

.logo-icon { content:url('../images/logo_shapingpc_icon.svg'); }
.logo-text { content:url('../images/logo_shapingpc_text.svg'); }
.logo-full { background:transparent url('../images/logo_shapingpc.svg') no-repeat top left; background-size:100px; background-origin:border-box; }

.photo-portraits-01 { content:url('../images/photo.portraits.01.jpg') !important; }
.photo-portraits-02 { content:url('../images/photo.portraits.02.jpg') !important; }
.photo-portraits-03 { content:url('../images/photo.portraits.03.jpg') !important; }
.photo-portraits-04 { content:url('../images/photo.portraits.04.jpg') !important; }

.photo-happy-01 { content:url('../images/photo.happy.01.jpg') !important; top:-100px !important; }
.photo-happy-02 { content:url('../images/photo.happy.02.jpg') !important; top:-150px !important; }
.photo-happy-03 { content:url('../images/photo.happy.03.jpg') !important; top:-100px !important; }

.photo-topics-01:after { background-image:url('../images/photo.topics.01.jpg'); background-position:center center; }
.photo-topics-02:after { background-image:url('../images/photo.topics.02.jpg'); background-position:center center; }
.photo-topics-03:after { background-image:url('../images/photo.topics.03.jpg'); background-position:bottom center; }
.photo-topics-04:after { background-image:url('../images/photo.topics.04.jpg'); background-position:center center; }
.photo-topics-05:after { background-image:url('../images/photo.topics.05.jpg'); background-position:top center; }
.photo-topics-06:after { background-image:url('../images/photo.topics.06.jpg'); background-position:center center; }
.photo-topics-07:after { background-image:url('../images/photo.topics.07.jpg'); background-position:center center; }
.photo-topics-08:after { background-image:url('../images/photo.topics.08.jpg'); background-position:bottom center; }
.photo-topics-09:after { background-image:url('../images/photo.topics.09.jpg'); background-position:center center; }
.photo-topics-10:after { background-image:url('../images/photo.topics.10.jpg'); background-position:center center; }
.photo-topics-11:after { background-image:url('../images/photo.topics.11.jpg'); background-position:center center; }
.photo-topics-12:after { background-image:url('../images/photo.topics.12.jpg'); background-position:bottom center; }