.zpheader-style-01.theme-header-fixed.theme-pages-full-stretch.theme-mobile-header-style-01 {margin-top: -46px;}
@font-face {font-family: "Helvetica";}
body,body * {font-family: "Helvetica", Arial, sans-serif !important;}
.blogpost-container h2 {font-size: 32px;line-height: 60px;}
.theme-blog-heading {font-size: 27px;}
.theme-blog-part {display: -webkit-box;-webkit-line-clamp: 3; /* number of lines */-webkit-box-orient: vertical;overflow: hidden;}
.theme-blog-container div p {font-size:16px;}
.theme-blog-container h3{font-size:22px;}
#about-vr a {color: #353B47;}
.award-section a {color: #fff;}
.theme-blog-part ul li::marker,.theme-blog-part ol li::marker {font-size: 20px;font-weight: 600;}
.theme-blog-container-column .theme-blog-container .theme-blog-cover-img-container .theme-blog-cover-img-container-inner {background: none;height: 250px;}
.theme-blog-container-column .theme-blog-container .theme-blog-cover-img-container .theme-blog-cover-img-container-inner img {width: 100% !important;height: 250px;object-fit: cover;}
.theme-blog-container-column .theme-blog-container .theme-blog-cover-img-container .theme-blog-cover-img-container-inner picture {align-items: flex-start !important;}
.theme-blog-container-column .theme-blog-container .theme-blog-cover-img-container {height: 240px;}
.blogpost-container .zpelement .zptext h2 span, .blogpost-container .zpelement .zptext h3 span, .blogpost-container .zpelement .zptext h4 span, .blogpost-container .zpelement .zptext h5 span, .blogpost-container .zpelement .zptext h6 span {font-size: inherit !important;}
.blogpost-container .zpelement {margin-top: 0;}
.blogpost-container .zpelement .zptext span br {display: none;}
.blogpost-container .zpimage-container.zpimage-align-center {justify-content: start;margin-bottom: 20px;}
.blogpost-container .zpelement .zptext p {margin: 10px 0 20px;}
.blogpost-container .zpelement .zptext p:empty, .blogpost-container .zpelement .zptext p span:empty{display: none;}
.blogpost-container .zpelem-text ul li{padding:0;}
.zpelement  .zptext {line-height: 23px;}
.zpelement .zptext span {font-size: 17px !important;}
.zptab-active {display: none !important;}
.zptabs-content-container .zptab-content{border-block-start-color:#fff !important;}
.faq-para a{color:#fff !important;}

@media (min-width: 992px) {
  #about-vr .cust-abouv-vr .zpelem-box {min-height: 430px !important;height:430px !important;}
   .home-inspire-section-second .cust-insprie-second-row .zpelem-box {height: 485px !important;min-height: 485px !important;}
    .cust-insprie-second-row {padding-top: 88px;}
.theme-header-fixed.theme-header-animate .theme-header.theme-header-transparent.zpdark-header-portion {height: 135px;}
 .theme-header-fixed.theme-header-animate .zpdark-header-portion.theme-header {background:#2d646e !important;}
 .zpheader-style-04 .theme-header .zpcontainer {padding-block-start: 10px !important;}
 .school-btn .zpbutton.zpbutton-type-primary {font-weight: bold !important;font-size: 25px;}
  .school-box .zpelem-heading h2 {color: #000 !important;}
 .banner-cust-img .zpimage-container.zpimage-align-center.zpimage-size-fit figure img {margin-top: 41px !important; }
.zpelement.zpelem-iconheadingtext {margin-top: -31px;} 
.cust-inspire .zpicon-heading{font-size: 26px !important;}
.cust-inspire .zpicon-text-container p, .cust-inspire .zpicon-text-container span{text-align:justify;}
 .cust-service .zpheading {margin-top: -35px;}
 .cust-service .zpelem-box {height: 260px;position: relative;padding-bottom: 80px !important;}
  .cust-service .zpelem-box .zpelement.zpelem-button {position: absolute;bottom: 0;left: 0;right: 0;padding-bottom: 20px;}
 #features .zpelement.zpelem-iconheadingtext {margin-top: -31px;margin-block-start: -31px !important;}
  .home-inspire-section .zpelem-box {height:508px;}
  .home-inspire-section-second .cust-inspire {height:593px;}
  .cust-contact-sec [data-element-id="elm_cFJKEt3cXLSu08i6NdWRsQ"].zprow {margin-block-start: -229px !important;}
  .contact-banner-btn [data-element-id="elm_ZqB8MQlgMczPNr5RcPOZuQ"] .zpbutton.zpbutton-type-primary {margin-inline-start: 90px !important;}
   .contact-banner-btn [data-element-id="elm_Z677WCItXK7d5PYUN6n31Q"] .zpbutton.zpbutton-type-secondary {font-size: 22px !important;}
   .inner-banner h1 span {font-size: 50px !important;}
   .inner-banner h1.zpheading {font-size: inherit !important;}
   .custom-banner-heading-second h4 span {font-size: 20px !important;}
    .custom-banner-heading-pragraph .zshero-banner-style-02 .zpelem-text{font-size:20px;}
    .zpelement .zptext span {font-size: 17px !important;}
    #about-vr .zpelem-box {min-height: 566px !important;}
    .cust-insprie-second-row .zpelem-box {min-height: 566px !important;}
    html {font-size: 18px; /* base size */}
    h2 {font-size: 40px !important;}
    h3 {font-size: 30px !important;}
    h4 {font-size: 20px !important;}
    h5 {font-size: 18px !important;}
    .zscustom-testimonial-box .zptext {text-align: left !important;}
    .team-wrp .zpimage-container figure img {width: 400px !important; min-height: 431px !important;object-fit:cover !important}
    .team-wrp .zpelem-box {min-height: 360px !important;margin-top: 0px !important;max-height:360px;}
    .team-wrp .zpelem-box h4 {margin-bottom: 15px !important;}
    .team-wrp .zpelem-box h3 {margin-bottom: 15px !important;}
    .team-wrp .zpelem-box span:empty {display: none !important;}
    .team-wrp .zpelem-box .zpelement {margin-block-start: 0px !important;}
    .team-wrp .zpelem-box h4 {font-size: 25px !important;}
     .team-wrp .zpelem-box h4 span {font-size: 25px !important;}
     .team-wrp .zpelem-box h3 {font-size: 20px !important;}
    .team-wrp .zpelem-box h3 span  {font-size: 20px !important;}
    .team-wrp .zpelement .zptext {line-height: 23px;min-height: 139px !important;overflow-y: auto;max-height: 139px !important;}
    .team-wrp .zpbutton-container {position: absolute;left: 0;right: 0;bottom: 20px;}
    .team-wrp .zpelem-box {position: relative;padding-bottom: 80px !important;}
}
@media (max-width: 767px) 
{
 /* For Banner Section */
.inner-banner h1 {margin-top:-99px;}
.home-banner h1  {margin-top: -70px;}
.inner-banner span {font-size: 32px !important;line-height: 0 !important;}
 /* For Banner Image */  
 .banner-img {margin-top: 20px !important;}
.banner-img [class*="zpimage-size"].zpimage-mobile-fallback-fit figure img {width: 240px!important;height: 240px!important;}
  
 /* For Inspire Section */
#about-vr .zpelem-box {margin: 10px 0;}
.inspire-section .zpelem-box {margin: 10px 0 !important;}   
#about-vr h2, .cust-service h2, .cust-music-teacher h2, .stedent-review-heading h2 {font-size: 30px;}
/* For What Makes Us Different */
#features h2 {font-size: 36px;}
#features .zpelem-iconheadingtext {margin: 0 !important;}
#features .zpimage-anchor .zpimage.zpimage-style-none.zpimage-space-none {height: auto !important;}
.stedent-review-heading {margin-top:  56px;}
/* For Review Section */
.award-section .zpimage-anchor .zpimage.zpimage-style-none.zpimage-space-none {height: 100px !important;}}
.zpiframe .backgroundBg {background-color: rgb(65, 154, 169) !important;}
/* For Footer About Heading Image */  
 .cust-footer-section .zpheading-align-mobile-left {text-align: center;}
/* Contact Page CSS */
.cust-contact-sec [data-element-id="elm_cFJKEt3cXLSu08i6NdWRsQ"].zprow {margin-block-start: 15px;}
.cust-contact-sec [data-element-id="elm_mYBkqLFwtrVjCfly00uTtA"].zpelem-lpform {padding-block-start: 0px;}
.contact-banner-btn [data-element-id="elm_ZqB8MQlgMczPNr5RcPOZuQ"] .zpbutton.zpbutton-type-primary {margin-inline-start: 0px;font-size: 16px;}
.contact-banner-btn [data-element-id="elm_Z677WCItXK7d5PYUN6n31Q"] .zpbutton.zpbutton-type-secondary {font-size: 14px;}
.zscustom-banner-heading h1 {font-size: 40px !important;padding-top: 55px !important;}
.custom-banner-heading-second h4 {font-size: 30px !important;line-height: 27px !important;padding-top: 20px;}
.custom-banner-heading-pragraph .zptext {font-size: 16px !important; padding-top: 15px !important;}

}



/* guard: absorbs a stray closing brace above so the rules below are not dropped */
.gtms-css-guard {}

/* GTMS fixes 2026-10-01: footer links white (theme default is #FDFFC5) */
.theme-footer-area a, .theme-footer-area a:visited, .theme-footer-area a:hover {color: #fff !important;}
.theme-footer-area a.zplink-text:hover {text-decoration: underline;}

/* GTMS fixes 2026-10-01: Awards band text dark on every page (was white / half white) */
.award-section a {color: inherit !important;}
.award-section .zpheading, .award-section .zpheading * {color: #08113C !important;}
.award-section .zptext, .award-section .zptext * {color: #353B47 !important;}


/* GTMS fixes 2026-10-01: stop the full-width FAQ band adding a sideways scrollbar on desktop */
html, body {overflow-x: clip;}

@media (max-width: 767px) {
  /* About + Contact page titles were hidden behind the mobile header */
  .inner-banner[data-element-id="elm_UwjWx2UKKM7qr3XblgPsbg"] h1 {margin-top: 20px !important;}
  /* Lessons page title was clipped by the mobile header */
  body:has([data-element-id="elm_9HIO7qDjOvPFcZA0zbQ6wg"]) .inner-banner h1 {margin-top: -60px !important;}
  /* "Engaging and Dynamic ... Classes" sub-heading lines overlapped */
  .custom-banner-heading-second h2, .custom-banner-heading-second h4 {font-size: 24px !important; line-height: 1.25 !important;}
  .custom-banner-heading-second {margin-top: 20px !important; margin-block-start: 20px !important;}
  /* Philosophy / Director's Notes box: text was double-spaced on phones */
  [data-element-id="elm_zCRcI6ufwY6Zfw9KL2MJ8w"] h4 {font-size: 16px !important; line-height: 1.6 !important;}
  /* stray "Greater Toronto Music School" tab label / blue bar showing on phones */
  .zptabelem-inner-container .zptabs-content-container [data-element-id="elm_ssBJh8qkYsMGYGmR-cUcvQ"].zptab, .zptabelem-inner-container .zptabs-container [data-element-id="elm_ssBJh8qkYsMGYGmR-cUcvQ"].zptab {display: none !important;}
  /* Reviews carousel: text column was only ~190px wide on phones */
  .zpelem-box .zpelem-carousel .zpcarousel-content-inner {padding-left: 30px !important; padding-right: 30px !important; margin-left: 0 !important; margin-right: 0 !important;}
  .zpelem-box:has(.zpelem-carousel) {padding-left: 8px !important; padding-right: 8px !important;}
}


/* GTMS fixes 2026-10-02 */
/* Mobile + tablet header: brand teal instead of the theme's navy (desktop scrolled header already uses #2d646e) */
@media (max-width: 991px) {
  .theme-header.zpdark-header-portion {background-color: #2d646e !important;}
  /* Google 5-star badge: native image is only 156px wide - stop it stretching to full width (blurry, oversized) */
  .zpelem-image .zpimage-container figure img.zpimage[src*="Google%20five%20stars"] {width: 180px !important; max-width: 180px !important; height: auto !important; margin: 0 auto !important; display: block !important;}
  .zpelem-image .zpimage-container figure:has(img[src*="Google%20five%20stars"]) {width: 100% !important; text-align: center;}
}
@media (max-width: 767px) {
  /* Hero (top banner) text centred on phones, on every page */
  .zphero .zscustom-banner-heading .zpheading, .zphero .zscustom-banner-heading .zpheading *,
  .zphero .custom-banner-heading-second .zpheading, .zphero .custom-banner-heading-second .zpheading *,
  .zphero .custom-banner-heading-pragraph .zptext, .zphero .custom-banner-heading-pragraph .zptext * {text-align: center !important;}
  /* Blank lines typed at the end of cards to even out heights on desktop - remove on phones */
  .zpicon-text-container > div:has(> br:only-child) {display: none !important;}
  .zpelem-box .zptext > div:has(> br:only-child):nth-last-child(-n+4) {display: none !important;}
  /* Referral page title: second half was smaller than the first */
  body:has([data-element-id="elm_0hhHy8IXhJpv_lgtBQ0gQA"]) .inner-banner h1.zpheading {font-size: 32px !important;}
}
@media (min-width: 768px) {
  body:has([data-element-id="elm_0hhHy8IXhJpv_lgtBQ0gQA"]) .inner-banner h1.zpheading {font-size: 50px !important;}
}
/* "Contact Us" button in the blue Philosophy box: light-blue text on white was hard to read */
[data-element-id="elm_4P5G1XicMXs4CTl5ZgvlWg"] .zpbutton-container a.zpbutton.zpbutton-type-primary, [data-element-id="elm_4P5G1XicMXs4CTl5ZgvlWg"] .zpbutton-container a.zpbutton .zpbutton-content {color: #2d646e !important;}
/* "here" links inside the blue/teal feature cards: dark blue was hard to read */
.cust-insprie-first-row .zpicon-text-container a, .cust-insprie-second-row .zpicon-text-container a {color: #08113C !important; text-decoration: underline !important; font-weight: bold;}
/* Pages without a photo banner (Blog, Sustainability, Inclusivity, blog posts): header bar in brand teal on desktop too */
@media (min-width: 992px) {
  body:not(:has(.zphero)) .theme-header.zpdark-header-portion {background-color: #2d646e !important;}
}
/* Banner sub-heading ("Fun & Exciting Toronto ... Lessons"): one size on desktop - trumpet was 26px, others 18-20px */
@media (min-width: 768px) {
  .zphero .custom-banner-heading-second .zpheading, .zphero .custom-banner-heading-second .zpheading * {font-size: 20px !important; line-height: 1.4 !important; font-weight: 400 !important;}
}
/* Referral page: banner photo sat on top of the menu on desktop (About / Blog / Contact hidden behind it) */
@media (min-width: 992px) {
  body:has([data-element-id="elm_0hhHy8IXhJpv_lgtBQ0gQA"]) .zphero [data-element-id="elm_PZPMl1PrWPCkvt76Q0sX4A"] {margin-top: 65px !important;}
}
/* Lessons page: card titles one size (Saxophone/Recording/EDM/Music Business had odd inline sizes; 44px was too big on phones) */
@media (max-width: 767px) {
  body:has([data-element-id="elm_9HIO7qDjOvPFcZA0zbQ6wg"]) .zpelem-box h3.zpheading, body:has([data-element-id="elm_9HIO7qDjOvPFcZA0zbQ6wg"]) .zpelem-box h3.zpheading * {font-size: 28px !important; line-height: 1.25 !important;}
}
@media (min-width: 768px) {
  body:has([data-element-id="elm_9HIO7qDjOvPFcZA0zbQ6wg"]) .zpelem-box h3.zpheading, body:has([data-element-id="elm_9HIO7qDjOvPFcZA0zbQ6wg"]) .zpelem-box h3.zpheading * {font-size: 30px !important; line-height: 1.25 !important;}
}
/* GTMS fixes 2026-10-03 (pre-launch check) */
/* Desktop "Lessons" dropdown: 21 items ran ~1,120px tall under the fixed header, so the last items (Music Business, Songwriting, World Music, Mommy & Me) could not be reached on laptop screens. Shown as one white panel with two even columns. */
@media (min-width: 992px) {
  .theme-header li:hover > ul.theme-sub-menu:has(> li:nth-child(12)), .theme-header li:focus-within > ul.theme-sub-menu:has(> li:nth-child(12)) {display: grid !important; grid-template-columns: max-content max-content; grid-template-rows: repeat(11, auto); grid-auto-flow: column; column-gap: 0; column-count: auto !important; width: auto !important; max-width: none !important; padding: 12px 6px !important; background: #fff !important; border-radius: 4px; box-shadow: 0 10px 28px rgba(8, 17, 60, 0.18);}
  .theme-header ul.theme-sub-menu:has(> li:nth-child(12)) > li {padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important;}
  .theme-header ul.theme-sub-menu:has(> li:nth-child(12)) > li > a {padding: 9px 20px !important; white-space: nowrap; line-height: 1.3 !important;}
}
@media (min-width: 992px) and (max-width: 1199px) {
  .theme-header ul.theme-sub-menu:has(> li:nth-child(12)) {left: -170px !important;}
}
/* Feature cards on desktop: fixed heights (430-593px) made text spill out of the cards on laptop / iPad-landscape widths. Let cards grow with their text and keep each row's cards equal height. */
@media (min-width: 992px) {
  #about-vr .cust-abouv-vr .zpelem-box, .home-inspire-section .zpelem-box, .home-inspire-section-second .cust-insprie-second-row .zpelem-box, .home-inspire-section-second .cust-inspire, .cust-service .zpelem-box {height: auto !important;}
  .cust-abouv-vr, .cust-insprie-first-row, .cust-insprie-second-row, .home-inspire-section .zprow, .cust-service .zprow {align-items: stretch !important;}
  .cust-abouv-vr > .zpelem-col, .cust-insprie-first-row > .zpelem-col, .cust-insprie-second-row > .zpelem-col, .home-inspire-section .zprow > .zpelem-col, .cust-service .zprow > .zpelem-col {display: flex !important; flex-direction: column;}
  .cust-abouv-vr > .zpelem-col > .zpelem-box, .cust-insprie-first-row > .zpelem-col > .zpelem-box, .cust-insprie-second-row > .zpelem-col > .zpelem-box, .home-inspire-section .zprow > .zpelem-col > .zpelem-box, .cust-service .zprow > .zpelem-col > .zpelem-box {flex: 1 1 auto;}
  .cust-service .zpelem-box .zpheading {margin-top: 0 !important;}
}
/* Tablets (iPad portrait, 768-991px): feature cards were pulled up over the card above (desktop stagger offsets), the "40+ Top Toronto Music Teachers" stat sat on top of the line above it, and the stray tab label showed. */
@media (min-width: 768px) and (max-width: 991px) {
  .cust-abouv-vr > .zpelem-col > .zpelem-box, .cust-insprie-first-row > .zpelem-col > .zpelem-box, .cust-insprie-second-row > .zpelem-col > .zpelem-box {margin-top: 20px !important; margin-block-start: 20px !important;}
  [data-element-id="elm_yecdb9_KDlRKCHmJDhi4sA"].zpelem-box {margin-top: 20px !important; margin-block-start: 20px !important;}
  [data-element-id="elm_uV4YbgRPmg3GOOD6G-M_AA"] {margin-top: 20px !important; margin-block-start: 20px !important;}
  .zptabelem-inner-container .zptabs-content-container [data-element-id="elm_ssBJh8qkYsMGYGmR-cUcvQ"].zptab, .zptabelem-inner-container .zptabs-container [data-element-id="elm_ssBJh8qkYsMGYGmR-cUcvQ"].zptab {display: none !important;}
}
/* Team page on phones and tablets: instrument line was left-aligned under a centred name */
@media (max-width: 991px) {
  .team-wrp .zpelem-box h3.zpheading, .team-wrp .zpelem-box h3.zpheading * {text-align: center !important;}
}
/* Banner: on 8 pages the sub-heading ("Fun & Exciting Toronto ... Lessons") had a negative top margin and sat on the last line of the page title on desktop and tablet */
@media (min-width: 768px) {
  .zphero .custom-banner-heading-second {margin-top: 14px !important; margin-block-start: 14px !important;}
}
/* About page at laptop / iPad-landscape widths: "What We Do" box sat on the last line of the paragraph above */
@media (min-width: 992px) and (max-width: 1199px) {
  [data-element-id="elm_odM9Iui1yC2kLvpOYnTYOA"] {margin-top: 30px !important; margin-block-start: 30px !important;}
}
/* About + Contact banner photo: keep it clipped to the circle (black bars were cropped out of the image file itself) */
[data-element-id="elm_Sy_UvVs3Xh8ALQ8nCpT1Mw"] figure.zpimage-data-ref {border-radius: 50%; overflow: hidden;}
/* Contact page: remove the oversized violinist photo beside the map and let the map use the full width */
[data-element-id="elm_L4T0pfVqe1c4VmYOLWID4A"] {display: none !important;}
[data-element-id="elm_LkcOFEqNiPUz4jC1W51Jqg"] {flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;}
/* Desktop "About" dropdown (and any short dropdown): same white panel, spacing and font as the Lessons menu instead of a tall, wide box */
@media (min-width: 992px) {
  .theme-header ul.theme-sub-menu:not(:has(> li:nth-child(12))) {min-width: 0 !important; width: max-content !important; max-width: none !important; padding: 12px 6px !important; background: #fff !important; border-radius: 4px; box-shadow: 0 10px 28px rgba(8, 17, 60, 0.18);}
  .theme-header ul.theme-sub-menu:not(:has(> li:nth-child(12))) > li {padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important;}
  .theme-header ul.theme-sub-menu:not(:has(> li:nth-child(12))) > li > a {padding: 9px 20px !important; white-space: nowrap; line-height: 1.3 !important;}
}
/* Menu highlight: the theme's royal blue/purple is not a GTMS brand colour - use the brand light blue (#159cd5) for the current page, hover, the dropdown marker bar and the mobile menu */
.theme-header .theme-menu-area .theme-menu > ul > li:hover > a, .theme-header .theme-menu-area .theme-menu > ul > li:focus-within > a {background-color: #159cd5 !important; color: #fff !important;}
@media (min-width: 992px) {
  .theme-header .theme-menu-area .theme-menu > ul > li.theme-menu-selected > a {background-color: #159cd5 !important; color: #fff !important;}
  .theme-header .theme-menu ul.theme-sub-menu li:hover > a, .theme-header .theme-menu ul.theme-sub-menu li.theme-menu-selected > a {color: #159cd5 !important; background: transparent !important;}
  .theme-header .theme-menu ul.theme-sub-menu li:hover > a::after, .theme-header .theme-menu ul.theme-sub-menu li.theme-menu-selected > a::after {background-color: #159cd5 !important;}
}
@media (max-width: 991px) {
  .theme-header .theme-menu-area .theme-menu {border-block-start-color: #159cd5 !important;}
  .theme-header .theme-menu-area .theme-menu > ul > li:hover > a, .theme-header .theme-menu-area .theme-menu > ul > li:focus-within > a {background-color: transparent !important; color: #159cd5 !important;}
  .theme-header .theme-menu-area .theme-menu ul li.theme-menu-selected > a {color: #159cd5 !important;}
}
/* Teacher profile pages (/team/...): cleaner header, coloured name + instrument tags, photo beside an even text column */
.gtms-teacher .gtms-back {display: inline-flex; align-items: center; gap: 8px; margin: 0 0 26px; font-size: 14px; line-height: 1; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #2d646e !important; text-decoration: none !important;}
.gtms-teacher .gtms-back span {font-size: 20px; transition: transform .2s;}
.gtms-teacher .gtms-back:hover span {transform: translateX(-4px);}
.gtms-teacher .zpimage-with-text-container {display: grid !important; grid-template-columns: 360px minmax(0, 1fr); column-gap: 56px; align-items: start;}
body.gtms-teacher .zpelem-imageheadingtext .zpimage-with-text-container > figure {display: block !important; float: none !important; width: 100% !important; max-width: 100% !important; margin: 0 !important;}
body.gtms-teacher .zpelem-imageheadingtext .zpimageheadingtext-container.zpimage-with-text-container > figure img {width: 100% !important; height: auto !important; max-width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px !important; box-shadow: 0 18px 40px rgba(8, 17, 60, .18);}
.gtms-teacher .zpimage-headingtext-container {margin: 0 !important; padding: 0 !important; width: auto !important;}
.gtms-teacher .zpimage-heading {display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 26px !important; line-height: 1.15 !important;}
.gtms-teacher .gtms-eyebrow {font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #1a9bd7; margin-bottom: 8px;}
.gtms-teacher .gtms-tname {font-size: 46px; font-weight: 700; color: #08113c; letter-spacing: -.01em;}
.gtms-teacher .gtms-bar {display: block; width: 56px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, #2d646e, #1a9bd7); margin: 16px 0 18px;}
.gtms-teacher .gtms-chips {display: flex; flex-wrap: wrap; gap: 8px;}
.gtms-teacher .gtms-chip {display: inline-block; padding: 7px 15px; border-radius: 999px; background: #e7f2f4; color: #2d646e; font-size: 15px; font-weight: 600; letter-spacing: .01em; line-height: 1.2;}
.gtms-teacher .zpimage-text, .gtms-teacher .zpimage-text p, .gtms-teacher .zpimage-text span {font-size: 17px !important; line-height: 1.8 !important; color: #444b5a !important;}
.gtms-teacher .zpimage-text div:empty, .gtms-teacher .zpimage-text p:empty {display: none;}
.gtms-teacher .zpelem-imageheadingtext {max-width: 1180px; margin-left: auto !important; margin-right: auto !important;}
.gtms-teacher .zpimage-text p {margin: 0 0 18px !important;}
@media (max-width: 991px) {
  .gtms-teacher .zpimage-with-text-container {grid-template-columns: 1fr; row-gap: 28px;}
  body.gtms-teacher .zpelem-imageheadingtext .zpimage-with-text-container > figure {max-width: 340px !important; margin: 0 auto !important;}
  .gtms-teacher .zpimage-heading {align-items: center; text-align: center;}
  .gtms-teacher .gtms-chips {justify-content: center;}
  .gtms-teacher .gtms-tname {font-size: 36px;}
}
@media (max-width: 767px) {
  .gtms-teacher .gtms-back {margin-bottom: 18px;}
}
/* Blog posts: one centred reading column (title, date, text, images, author and categories all line up on the same left edge). Works on any post built with Zoho's normal blog blocks. */
.theme-blog-container:has(.theme-single-blog-heading) > .theme-blog-part, .theme-blog-container:has(.theme-single-blog-heading) > .theme-blog-author-cont, .theme-blog-container:has(.theme-single-blog-heading) > .theme-single-blog-social-cat-tag-group {max-width: 820px; margin-left: auto !important; margin-right: auto !important; padding-left: 20px; padding-right: 20px; box-sizing: border-box;}
.theme-blog-container .theme-blog-heading-author {text-align: left !important; margin-bottom: 30px !important;}
.theme-blog-container .theme-single-blog-heading {text-align: left !important; font-size: 40px !important; line-height: 1.2 !important; color: #08113c !important; margin: 0 0 14px !important; padding: 0 !important;}
.theme-blog-container .theme-blog-heading-author p {text-align: left !important; margin: 0 !important; padding: 0 0 22px !important; border-bottom: 1px solid #e3e8ee; font-size: 14px; letter-spacing: .03em; color: #6b7280;}
.theme-blog-container .theme-blog-heading-author p a {color: #2d646e !important; font-weight: 600;}
.blogpost-container .zpsection, .blogpost-container .zpcontainer, .blogpost-container .zprow, .blogpost-container .zpelem-col, .blogpost-container .zpelement {padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important;}
.blogpost-container .zptext, .blogpost-container .zptext p, .blogpost-container .zptext li, .blogpost-container .zptext div, .blogpost-container .zpheading {text-align: left !important;}
.blogpost-container .zptext, .blogpost-container .zptext p, .blogpost-container .zptext li, .blogpost-container .zptext span, .blogpost-container .zpimage-text, .blogpost-container .zpimage-text p, .blogpost-container .zpimage-text span {font-size: 18px !important; line-height: 1.8 !important; color: #3c4352 !important;}
.blogpost-container .zptext p, .blogpost-container .zpimage-text p {margin: 0 0 18px !important;}
.blogpost-container .zpelem-text, .blogpost-container .zpelem-imagetext, .blogpost-container .zpelem-heading {margin-top: 0 !important; margin-bottom: 8px !important;}
.blogpost-container h2, .blogpost-container h3, .blogpost-container h4, .blogpost-container .zptext h2 span, .blogpost-container .zptext h3 span, .blogpost-container .zptext h4 span, .blogpost-container .zpheading, .blogpost-container .zpheading span {color: #08113c !important; line-height: 1.3 !important; font-weight: 700 !important;}
.blogpost-container h2, .blogpost-container .zptext h2 span {font-size: 28px !important;}
.blogpost-container h3, .blogpost-container .zptext h3 span {font-size: 23px !important;}
.blogpost-container h2, .blogpost-container h3, .blogpost-container h4 {margin: 34px 0 12px !important;}
.blogpost-container .zptext a, .blogpost-container .zpimage-text a {color: #2d646e !important; text-decoration: underline; text-underline-offset: 3px;}
.blogpost-container .zpelem-image {margin: 14px 0 30px !important;}
.blogpost-container .zpelem-image .zpimage-container, .blogpost-container .zpelem-image figure {text-align: center !important; margin-left: auto !important; margin-right: auto !important; width: auto !important; max-width: 100% !important;}
.blogpost-container .zpelem-image img {max-width: 100% !important; height: auto !important; border-radius: 10px;}
.blogpost-container .zpelem-imagetext img {height: auto !important; border-radius: 10px;}
.blogpost-container .zpelem-video {margin: 14px 0 30px !important;}
.theme-blog-container:has(.theme-single-blog-heading) .theme-blog-author-cont {margin-top: 30px !important; padding-top: 26px; border-top: 1px solid #e3e8ee;}
@media (max-width: 767px) {
  .theme-blog-container .theme-single-blog-heading {font-size: 30px !important;}
  .blogpost-container .zptext, .blogpost-container .zptext p, .blogpost-container .zptext li, .blogpost-container .zptext span, .blogpost-container .zpimage-text, .blogpost-container .zpimage-text p, .blogpost-container .zpimage-text span {font-size: 17px !important;}
  .blogpost-container h2, .blogpost-container .zptext h2 span {font-size: 24px !important;}
}



/* GTMS fixes 2026-10-02b: blog images keep their true shape. Zoho writes a fixed pixel height on each image (e.g. 1070px !important); once the reading column caps the width, that height stretched the picture. This rule wins over it. */
.blogpost-container [data-element-id] .zpimage-container figure img, .blogpost-container [data-element-id] .zpimage-with-text-container figure img {height: auto !important; max-width: 100% !important;}
/* GTMS fixes 2026-10-02b: site name in the header was theme royal blue (#0C48D4) wherever the header is light (e.g. Contact, About at the top). Brand navy instead. The white version on the teal/dark header is unchanged. */
.theme-header .zpcontainer .theme-branding-info .theme-site-name-caption .theme-site-name {color: #08113c;}

/* GTMS fixes 2026-10-02c: home hero H1 restored to the old site's wording ("Award Winning Toronto Music School: In-Person & Online") - keep it large */
[data-element-id="elm_xtQs-zFeIOK0GSeMkiTBww"] h1.zpheading {font-size: 50px !important; line-height: 1.15 !important; color: #ffffff;}
@media (max-width: 991px) { [data-element-id="elm_xtQs-zFeIOK0GSeMkiTBww"] h1.zpheading {font-size: 40px !important;} }
@media (max-width: 767px) { [data-element-id="elm_xtQs-zFeIOK0GSeMkiTBww"] h1.zpheading {font-size: 30px !important;} }

/* GTMS 2026-10-02 launch audit: crop instead of stretch (home carousel teacher photo, Lessons ukulele + clarinet cards) */
[data-element-id="elm_Rso3M50epgVNs7d3WDZd9g"] img.zpimage, [data-element-id="elm_VIKIHSD0hS9otVuGtyXtcw"] img.zpimage, [data-element-id="elm_oj0S01vQ2yHnIPnDwWjdLg"] img.zpimage {object-fit:cover !important; object-position:center top;}
