/* Cardinal Tutors Review 0.3.1: polish pass. Presentation only; no copy, fields or rules change. */

/* One left edge: full-width pages and forms start where the header and sidebar pages start. */
body.ct-design-review.page-template-full-width .inside-page:not(.ct-home-wrapper),
body.ct-design-review.page-template-full-width .ct-inner-hero>.content-width,
body.ct-design-review.ct-inquiry-review .inside-page:not(.ct-home-wrapper),
body.ct-design-review.ct-inquiry-review .ct-inner-hero>.content-width{max-width:none}
body.ct-design-review.page-template-full-width #content .post-text>*{max-width:740px}
body.ct-design-review.error404 .hero-title h1,
body.ct-design-review.error404 .hero-title h2{text-align:left}

/* Headings: a quiet serif for titles, the existing sans for everything else. */
body.ct-design-review .ct-inner-hero .hero-title h1,
body.ct-design-review .ct-review-home .hero h1,
body.ct-design-review #content .post-text>h2,
body.ct-design-review #content .post-text>h3,
body.ct-design-review .ct-review-home .article h2,
body.ct-design-review .ct-missing-page h2{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.2px}
body.ct-design-review .ct-inner-hero .hero-title h1{font-size:40px;font-weight:500}
body.ct-design-review .ct-review-home .hero h1{font-weight:500;letter-spacing:-.8px}
body.ct-design-review #content .post-text>h2,
body.ct-design-review #content .post-text>h3{font-size:26px}
body.ct-design-review .ct-review-home .article h2{font-size:28px}
body.ct-design-review .ct-inner-hero{border-top:3px solid #80191a}

/* Links in running text look like links. */
body.ct-design-review #content .post-text p a:not(.cta-red),
body.ct-design-review #content .post-text li a:not(.cta-red),
body.ct-design-review .ct-missing-page p a:not(.cta-red){color:#80191a;text-decoration:underline;text-decoration-color:#d3b3b0;text-decoration-thickness:1px;text-underline-offset:4px}
body.ct-design-review #content .post-text p a:not(.cta-red):hover,
body.ct-design-review #content .post-text li a:not(.cta-red):hover,
body.ct-design-review .ct-missing-page p a:not(.cta-red):hover{text-decoration-color:#80191a}

/* Forms: every control has the same visible outline, label and button. */
body.ct-design-review .gform_wrapper input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=file]),
body.ct-design-review .gform_wrapper select,
body.ct-design-review .gform_wrapper textarea{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid #8c857e;border-radius:4px;box-shadow:none;padding:11px 14px;color:#2f3132;font-family:inherit;line-height:1.4}
body.ct-design-review .gform_wrapper select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2353504c' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
body.ct-design-review .gform_wrapper input:disabled{background:#f4f1ed;border-color:#c9c2ba}
body.ct-design-review .gform_wrapper input:not([type=checkbox]):not([type=radio]):not([type=submit]):hover,
body.ct-design-review .gform_wrapper select:hover,
body.ct-design-review .gform_wrapper textarea:hover{border-color:#53504c}
body.ct-design-review .gform_wrapper .gfield_label,
body.ct-design-review .gform_wrapper legend.gfield_label{font-size:16px!important;font-weight:600!important;color:#383a3b;margin-bottom:8px}
body.ct-design-review .gform_wrapper .gfield_required{color:#80191a}
body.ct-design-review .gform_wrapper .gfield{margin-bottom:6px}
body.ct-design-review .gform_wrapper input[type=checkbox],
body.ct-design-review .gform_wrapper input[type=radio]{accent-color:#80191a;width:18px;height:18px}
body.ct-design-review .gform_wrapper input[type=submit],
body.ct-design-review .gform_wrapper button[type=submit]{background:#80191a;color:#fff;border:0;border-radius:4px;min-height:52px;padding:13px 32px;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;text-shadow:none;box-shadow:none;cursor:pointer}
body.ct-design-review .gform_wrapper input[type=submit]:hover,
body.ct-design-review .gform_wrapper button[type=submit]:hover{background:#651213}
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper,
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper .gform_body{background:none;border:0;padding:0}
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper ul.gform_fields,
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper ul.gfield_checkbox,
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper ul.gfield_radio{background:none!important;padding:0!important;margin:0;border:0}
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper li.gfield{list-style:none;margin:0 0 18px;padding:0}
body.ct-design-review .gform_wrapper .gform_title{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:26px;font-weight:600;color:#383a3b;text-transform:none;letter-spacing:-.2px;margin:0 0 20px}
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper input[type=text],
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper input[type=email],
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper input[type=tel],
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper select,
body.ct-design-review .gform_wrapper.gform_legacy_markup_wrapper textarea{width:100%!important;max-width:680px}

/* Inquiry page on wide screens: the form on the left, what parents say beside it. */
@media(min-width:1000px){
 body.ct-design-review.ct-inquiry-review #content .post-text:has(>.ct-reviews){display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);column-gap:72px;align-items:start}
 body.ct-design-review.ct-inquiry-review #content .post-text:has(>.ct-reviews)>*{grid-column:1;max-width:none}
 body.ct-design-review.ct-inquiry-review #content .post-text>.ct-reviews{grid-column:2;grid-row:1/span 30;position:sticky;top:24px;margin:0}
 body.ct-design-review.ct-inquiry-review #content .post-text:not(:has(>.ct-reviews))>*{max-width:640px}
}

/* Reviews page: no button inside the quotes; two columns of voices on wide screens. */
body.ct-design-review #content .ct-reviews--page>.ct-inline-cta{display:none}
body.ct-design-review.page-template-full-width #content .post-text>.ct-reviews--page{max-width:none}
@media(min-width:900px){
 body.ct-design-review #content .ct-reviews--page{columns:2;column-gap:56px;padding:36px 40px}
 body.ct-design-review #content .ct-reviews--page .ct-review{break-inside:avoid;margin:0 0 26px!important;padding:0 0 26px!important;border-top:0!important;border-bottom:1px solid #e8e1da}
 body.ct-design-review #content .ct-reviews--page .ct-reviews__more{column-span:all;margin:8px 0 0}
}

/* Our Services: each service is a card, not a bullet. */
body.ct-design-review.page-template-full-width #content .post-text>ul.ct-services-list{max-width:none}
body.ct-design-review #content ul.ct-services-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0 0 32px;padding:0;background:none;border:0}
body.ct-design-review #content ul.ct-services-list li{margin:0;padding:0;list-style:none;background:none}
body.ct-design-review #content ul.ct-services-list li::before{display:none}
body.ct-design-review #content .post-text ul.ct-services-list li a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;box-sizing:border-box;padding:16px 20px;background:#fff;border:1px solid #e0d8cf;border-radius:6px;color:#383a3b;font-weight:600;font-size:17px;line-height:1.35;text-decoration:none}
@media(max-width:900px){body.ct-design-review #content ul.ct-services-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.ct-design-review #content ul.ct-services-list{grid-template-columns:1fr}}
body.ct-design-review #content ul.ct-services-list li a::after{content:"\2192";color:#80191a;font-weight:400}
body.ct-design-review #content .post-text ul.ct-services-list li a:hover{border-color:#80191a;color:#80191a;background:#faf7f3}

/* Home on wide screens: heading on the left, its text beside it. */
@media(min-width:1000px){
 body.ct-design-review .ct-review-home .ct-home-intro,
 body.ct-design-review .ct-review-home .article>.ct-home-detail{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:60px;max-width:none;align-items:start}
 body.ct-design-review .ct-review-home .ct-home-intro>h2,
 body.ct-design-review .ct-review-home .article>.ct-home-detail>h2{grid-column:1;grid-row:1/span 9;margin:0}
 body.ct-design-review .ct-review-home .ct-home-intro>:not(h2),
 body.ct-design-review .ct-review-home .article>.ct-home-detail>:not(h2){grid-column:2}
}

/* A bare button directly under an inquiry panel repeats it. */
body.ct-design-review #content .post-text>.ct-inline-cta+p:has(>a.cta-red:only-child){display:none}

/* Missing page: readable links, one alignment. */
body.ct-design-review .ct-missing-page{text-align:left;max-width:740px}
body.ct-design-review .ct-missing-page p{text-align:left!important}
body.ct-design-review .ct-missing-page h2{font-size:26px;color:#383a3b;margin:0 0 16px}

/* Old page-builder pages: one readable column in the new layout. */
body.ct-design-review #content .fl-builder-content .fl-col,
body.ct-design-review #content .fl-builder-content .fl-col-group{float:none!important;width:100%!important;max-width:740px}
body.ct-design-review #content .fl-builder-content .fl-row-content,
body.ct-design-review #content .fl-builder-content .fl-row-content-wrap,
body.ct-design-review #content .fl-builder-content .fl-module-content{margin-left:0;margin-right:0;padding-left:0;padding-right:0;max-width:740px}
body.ct-design-review #content .fl-builder-content .fl-module-content{margin:0 0 20px!important}
body.ct-design-review #content .fl-builder-content h2,
body.ct-design-review #content .fl-builder-content h3{text-align:left!important;font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:26px;font-weight:600;color:#383a3b;text-transform:none;margin:32px 0 14px}
body.ct-design-review #content .fl-builder-content .fl-rich-text,
body.ct-design-review #content .fl-builder-content .fl-rich-text p{text-align:left}

/* Tutor application: applicants don't need the parents' service list. */
body.ct-design-review.page-id-195 #secondary,
body.ct-design-review.page-id-1214 #secondary{display:none}
body.ct-design-review.page-id-195 .inside-page #main,
body.ct-design-review.page-id-1214 .inside-page #main{display:block}
body.ct-design-review.page-id-195 #content .post-text,
body.ct-design-review.page-id-1214 #content .post-text{max-width:740px}

/* The other region in the footer is a normal footer link. */
body.ct-design-review .ct-footer-local .ct-other-region{font-size:14px;color:#e9e3dc}

/* Stray empty paragraphs left by the editor add gaps, not content. */
body.ct-design-review #content .post-text>p:empty,
body.ct-design-review #content .post-text>div:empty{display:none}

/* Phones: titles stay on one or two lines. */
@media(max-width:720px){
 body.ct-design-review .ct-inner-hero .hero-title h1{font-size:31px}
 body.ct-design-review #content .post-text>h2,
 body.ct-design-review #content .post-text>h3,
 body.ct-design-review .ct-review-home .article h2,
 body.ct-design-review .gform_wrapper .gform_title{font-size:24px}
}

/* Our Tutors on wide screens: each heading sits beside its text, as on the home page. */
@media(min-width:1000px){
 body.ct-design-review.page-id-397 #content .post-text,
 body.ct-design-review.page-id-2 #content .post-text{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:60px;align-items:start}
 body.ct-design-review.page-id-397 #content .post-text>*,
 body.ct-design-review.page-id-2 #content .post-text>*{grid-column:2;max-width:none}
 body.ct-design-review.page-id-397 #content .post-text>h2,
 body.ct-design-review.page-id-2 #content .post-text>h2{grid-column:1;margin:0 0 24px}
 body.ct-design-review.page-id-397 #content .post-text>:not(h2):not(h2~*),
 body.ct-design-review.page-id-2 #content .post-text>:not(h2):not(h2~*){grid-column:1/-1;max-width:740px}
 body.ct-design-review.page-id-397 #content .post-text>h2~.ct-inline-cta,
 body.ct-design-review.page-id-2 #content .post-text>h2~.ct-inline-cta{margin-top:8px}
}

/* Sidebar: no leftover tick marks between links. */
body.ct-design-review #secondary li::before,
body.ct-design-review #secondary li a::before{display:none!important;content:none!important}

/* Cardinal header: the same red as the home banner, white name and menu, cream button. */
body.ct-design-review .ct-header{background:#80191a;border-bottom-color:#80191a}
body.ct-design-review .ct-header a.ct-brand{color:#fff}
body.ct-design-review .ct-header .ct-brand small{color:#ecc9c4}
body.ct-design-review .ct-header nav{color:#fff}
body.ct-design-review .ct-header .ct-services[open]>summary{color:#fbe3c0}
body.ct-design-review .ct-header .ct-menu-toggle,
body.ct-design-review .ct-header .ct-menu-toggle:hover,
body.ct-design-review .ct-header .ct-menu-toggle:focus{color:#fff}
body.ct-design-review .ct-header a.ct-button{background:#fffaf3;color:#80191a}
body.ct-design-review .ct-header a.ct-button:hover{background:#fff;color:#4f0d0f}
body.ct-design-review .ct-header a:focus-visible,
body.ct-design-review .ct-header summary:focus-visible,
body.ct-design-review .ct-header button:focus-visible{outline-color:#fbe3c0}
body.ct-design-review .ct-header .ct-dropdown{color:#363738}
body.ct-design-review .ct-inner-hero{border-top:0}
@media(max-width:720px){
 body.ct-design-review .ct-header nav{border-top-color:#8a2f31}
 body.ct-design-review .ct-header nav>a:not(.ct-button),
 body.ct-design-review .ct-header .ct-services summary{border-bottom-color:#8a2f31}
 body.ct-design-review .ct-header .ct-dropdown{background:#5e1012;color:#fff}
 body.ct-design-review .ct-header .ct-dropdown a:hover{background:#4f0d0f;color:#fff}
 body.ct-design-review .ct-header .ct-dropdown>.ct-service-details{border-bottom-color:#8a2f31}
 body.ct-design-review .ct-header .ct-dropdown-end{border-top-color:#8a2f31;color:#fbe3c0}
}

/* The East Bay pointer on Our Services is a footnote, not a paragraph. */
body.ct-design-review #content .post-text>p.ct-east-bay-note{margin:40px 0 0;font-size:13px;line-height:1.6;color:#8a847e}
body.ct-design-review #content .post-text>p.ct-east-bay-note a{color:inherit;text-decoration-color:#d9d3cc}
body.ct-design-review #content .post-text>p.ct-east-bay-note a:hover{color:#80191a}

/* Home hero: no gap under its last line. */
body.ct-design-review .ct-review-home .hero p:last-child{margin-bottom:0}

/* The home banner starts in the header's exact red, then the campus photo fades in. */
body.ct-design-review .ct-review-home .hero:not(.hero-east){background:linear-gradient(#80191a 0,rgba(128,25,26,.92) 40px,rgba(128,25,26,0) 170px),#80191a url('hero.webp') center/cover}
