@charset "utf-8";
/*
Title:
Author:
Updated:
Notes:
*/

html{
margin:0;
padding:0;
}

body{
    background: url(../images/bg_body_default.jpg) repeat-x;
    font-family: Lato, sans-serif;
    font-size: 14px;
    line-height: 160%;
    margin: 0;
    padding: 0;
    z-index: 1;
    opacity: 1;
}

body#nav1{background:url(../images/bg_body_default.jpg) repeat-x;}
body#nav2{background:url(../images/bg_body2.jpg) repeat-x;}
body#nav3{background:url(../images/bg_body3.jpg) repeat-x;}
body#nav4{background:url(../images/bg_body4.jpg) repeat-x;}
body#nav5{background:url(../images/bg_body5.jpg) repeat-x;}
body#nav6{background:url(../images/bg_body6.jpg) repeat-x;}
body#nav7a, body#nav7b, body#nav7c{background:url(../images/bg_body7.jpg) repeat-x;}
body#nav8{background:url(../images/bg_body8.jpg) repeat-x;}
body#nav9{background:url(../images/bg_body_default.jpg) repeat-x;}
body#contactUs{background:url(../images/bg_body_contact.jpg) repeat-x;}
body#register{background:url(../images/bg_body_register.jpg) repeat-x;}
body#registerform{background:url(../images/bg_body_register.jpg) repeat-x;}
body#schedule{background:url(../images/bg_body_schedule.jpg) repeat-x;}

a{text-decoration:none;}
a:link{}
a:hover{text-decoration:underline;}
a:active{}
a:visited{}
a img{}

h1, h2, h3, h4{font-family: Lato, sans-serif;}

#container{
margin:0 auto;
width:768px;
}

    #header{
    background:url(../images/bg_header_default.png) bottom right no-repeat;
    height:145px;
    }

/* Per-section header backgrounds */
#nav1 #header{background:url(../images/bg_header_default.png) bottom right no-repeat;}
#nav2 #header{background:url(../images/bg_header2.png) bottom right no-repeat;}
#nav3 #header{background:url(../images/bg_header3.png) bottom right no-repeat;}
#nav4 #header{background:url(../images/bg_header4.png) bottom right no-repeat;}
#nav5 #header{background:url(../images/bg_header5.png) bottom right no-repeat;}
#nav6 #header{background:url(../images/bg_header7d.png) bottom right no-repeat;}
#nav7a #header{background:url(../images/bg_header7a.png) bottom right no-repeat;}
#nav7b #header{background:url(../images/bg_header7b.png) bottom right no-repeat;}
#nav7c #header{background:url(../images/bg_header7d.png) bottom right no-repeat;}
#nav8 #header{background:url(../images/bg_header8.png) bottom right no-repeat;}
#nav9 #header{background:url(../images/bg_header_default.png) bottom right no-repeat;}
#contactUs #header{background:url(../images/bg_header_contact.png) bottom right no-repeat;}
#register #header{background:url(../images/bg_header_register.png) bottom right no-repeat;}
#registerform #header{background:url(../images/bg_header_register.png) bottom right no-repeat;}
#schedule #header{background:url(../images/bg_header_schedule.png) bottom right no-repeat;}
#blog #header{background:url(../images/bg_headerBlog.png) bottom right no-repeat;}

/* ===== HEADER HARDENING (logo + util nav) ===== */
#header{position:relative;}
#header:after{content:""; display:block; clear:both;}

/* Logo: hide text, show crisp background image */
#header h1{
  margin:5px 10px 0 0;
  float:left;
}
#header h1 a{
  display:block;
  width:85px;
  height:88px;
  text-indent:-9999px;   /* hides the link text */
  overflow:hidden;       /* prevents any text peek */
  background:url(/images/logo-1x.png) bottom left no-repeat;
  background-size:85px 88px;  /* exact render size = no blur */
}

/* Retina / high-DPI swap */
@media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi){
  #header h1 a{
    background-image:url(/images/logo-2x.png); /* 170×176 image */
    background-size:85px 88px;
  }
}

/* Utility nav: make it a clean horizontal row with icon tiles */
#utilNav{
  list-style:none;
  margin:0;
  padding:0;
}
#utilNav:after{content:""; display:block; clear:both;}
#utilNav li{float:left; margin-right:12px;}
#utilNav li:last-child{margin-right:0;}
#utilNav li a{
  color:#a2a2a2;
  display:block;
  font-size:12px;
  text-align:center;
  text-decoration:none;
  text-transform:lowercase;
}
#utilNav li a:hover{color:#545454;}
#utilNav li a span{
  display:block;
  padding:60px 0 0 0;
}

/* Icon tiles (use root-absolute image paths) */
#utilHome a{
  background:url(/images/bg_utilNav_home.jpg) top center no-repeat;
  height:102px;
  width:74px;
}
#utilHome a:hover{background-position: bottom center;}

#utilSched a{
  background:url(/images/bg_utilNav_sched.jpg) top center no-repeat;
  height:102px;
  width:100px;
}
#utilSched a:hover, #schedule #utilSched a{
  background-position: bottom center;
  color:#545454;
}

#utilReg a{
  background:url(/images/bg_utilNav_regnow.jpg) top center no-repeat;
  height:102px;
  width:149px;
}
#utilReg a:hover, #register #utilReg a{
  background-position: bottom center;
  color:#545454;
}

#utilRegForm a{
  background:url(/images/bg_utilNav_regforms.jpg) top center no-repeat;
  height:102px;
  width:149px;
}
#utilRegForm a:hover{
  background-position: bottom center;
  color:#545454;
}

#utilCont a{
  background:url(/images/bg_utilNav_contactNEW.jpg) top center no-repeat;
  height:102px;
  width:104px;
}
#utilCont a:hover, #contactUs #utilCont a{
  background-position: bottom center;
  color:#545454;
}

/* Header page title */
#header h2{
  clear:both;
  color:#5a5b5d;
  font-family:Lato, sans-serif;
  font-size:24px;
  padding:12px 0 0 0;
}
#header h2 span{color:#fff;}
#header h2{color:#f0a394;}
#nav2 #header h2{color:#99bfe6;}
#nav3 #header h2{color:#f5cb8d;}
#nav4 #header h2{color:#d1beda;}
#nav5 #header h2{color:#b9c984;}
#nav6 #header h2{color:#e293a7;}
#nav7a #header h2, #nav7b #header h2, #nav7c #header h2{color:#c3c3c4;}
#nav8 #header h2{color:#a28884;}
#nav9 #header h2{color:#e293a7;}

/* ===== MAIN NAV ===== */
#navContainer{
  color:#080808;
  font-size:12px;
}
#nav{
  height:25px;
  padding:5px 0;
}
#nav li{float:left;}
#nav li a{
  color:#080808;
  padding:0 10px;
  text-decoration:none;
}
#nav li a:hover{font-weight:bold;}
#nav li li a{
  display:block;
  padding:0 20px;
  width:120px;
}
#nav li li a:hover{font-weight:normal;}

#nav li{
  float:left;
  position:relative;
}
#nav li ul{
  display:none;
  position:absolute;
  top:0;
  left:0;
  width:160px;
}
/* to override top and left in browsers other than IE */
#nav li>ul{ top:auto; left:auto; }
/* lists nested under hovered list items */
#nav li:hover ul, #nav li.over ul{display:block;}

/* Nav color themes */
#nav11 a:hover, #nav11:hover a, #nav1 #nav11 a{ color:#e35135; font-weight:bold; }
#nav11 ul{ background:url(../images/bg_nav1_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav11 ul li{background:#fcedea;}
#nav1 #nav11:hover ul li a{ color:#555; font-weight:normal; }
#nav1 #nav11 ul li a:hover, #nav11 ul li a:hover{ background-color:#e35135; color:#fcedea; }
#nav11 li.last{ background:url(../images/bg_nav1_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav22 a:hover, #nav22:hover a, #nav2 #nav22 a{ color:#3380cd; font-weight:bold; }
#nav22 ul{ background:url(../images/bg_nav2_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav22 ul li{background:#eaf2fa;}
#nav2 #nav22:hover ul li a{ color:#555; font-weight:normal; }
#nav2 #nav22 ul li a:hover, #nav22 ul li a:hover{ background-color:#3380cd; color:#eaf2fa; }
#nav22 li.last{ background:url(../images/bg_nav2_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav33 a:hover, #nav33:hover a, #nav3 #nav33 a{ color:#eb971a; font-weight:bold; }
#nav33 ul{ background:url(../images/bg_nav3_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav33 ul li{background:#fdf4e8;}
#nav3 #nav33:hover ul li a{ color:#555; font-weight:normal; }
#nav3 #nav33 ul li a:hover, #nav33 ul li a:hover{ background-color:#eb971a; color:#fdf4e8; }
#nav33 li.last{ background:url(../images/bg_nav3_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav44 a:hover, #nav44:hover a, #nav4 #nav44 a{ color:#a37eb5; font-weight:bold; }
#nav44 ul{ background:url(../images/bg_nav4_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav44 ul li{background:#f6f2f7;}
#nav4 #nav44:hover ul li a{ color:#555; font-weight:normal; }
#nav4 #nav44 ul li a:hover, #nav44 ul li a:hover{ background-color:#a37eb5; color:#f6f2f7; }
#nav44 li.last{ background:url(../images/bg_nav4_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav55 a:hover, #nav55:hover a, #nav5 #nav55 a{ color:#749409; font-weight:bold; }
#nav55 ul{ background:url(../images/bg_nav5_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav55 ul li{background:#f1f4e6;}
#nav5 #nav55:hover ul li a{ color:#555; font-weight:normal; }
#nav5 #nav55 ul li a:hover, #nav55 ul li a:hover{ background-color:#749409; color:#f1f4e6; }
#nav55 li.last{ background:url(../images/bg_nav5_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav66 a:hover, #nav66:hover a, #nav6 #nav66 a{ color:#c6274e; font-weight:bold; }
#nav66 ul{ background:url(../images/bg_nav6_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav66 ul li{background:#f9e9ed;}
#nav6 #nav66:hover ul li a{ color:#555; font-weight:normal; }
#nav6 #nav66 ul li a:hover, #nav66 ul li a:hover{ background-color:#c6274e; color:#f9e9ed; }
#nav66 li.last{ background:url(../images/bg_nav6_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav77 a:hover, #nav77:hover a, #nav7a #nav77 a, #nav7b #nav77 a, #nav7c #nav77 a{ color:#888; font-weight:bold; }
#nav77 ul{ background:url(../images/bg_nav7_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav77 ul li{background:#f3f3f3;}
#nav7a #nav77:hover ul li a, #nav7b #nav77:hover ul li a, #nav7c #nav77:hover ul li a{ color:#555; font-weight:normal; }
#nav7a #nav77 ul li a:hover, #nav7b #nav77 ul li a:hover, #nav7c #nav77 ul li a:hover, #nav77 ul li a:hover{ background-color:#888; color:#f3f3f3; }
#nav77 li.last{ background:url(../images/bg_nav7_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav88 a:hover, #nav88:hover a, #nav8 #nav88 a{ color:#4f1f17; font-weight:bold; }
#nav88 ul{ background:url(../images/bg_nav8_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav88 ul li{background:#ede8e7;}
#nav8 #nav88:hover ul li a{ color:#555; font-weight:normal; }
#nav8 #nav88 ul li a:hover, #nav88 ul li a:hover{ background-color:#4f1f17; color:#ede8e7; }
#nav88 li.last{ background:url(../images/bg_nav8_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav99 a:hover, #nav99:hover a, #nav9 #nav99 a{ color:#4f1f17; font-weight:bold; }
#nav99 ul{ background:url(../images/bg_nav8_top.jpg) top left no-repeat; padding:15px 0 0 0; }
#nav99 ul li{background:#ede8e7;}
#nav9 #nav99:hover ul li a{ color:#555; font-weight:normal; }
#nav9 #nav99 ul li a:hover, #nav99 ul li a:hover{ background-color:#4f1f17; color:#ede8e7; }
#nav99 li.last{ background:url(../images/bg_nav8_bot.png) bottom left no-repeat; padding:0 0 15px; }

#nav li:hover a{font-weight:bold;}
#nav li:hover ul a{font-weight:normal;}

/* ===== Sliver / content ===== */
#sliver{
  background:#efefef;
  text-align:center;
  width:768px;
}
#sliver .left{ float:left; clear:none; }
#sliver .right{ float:right; }

#content{
  background:url(../images/bg_right.jpg) right repeat-y;
  color:#3c3c3c;
}
#contactUs #content{background:url(../images/bg_right_contact.jpg) right repeat-y;}

#left{
  float:left;
  width:541px;
  font-size:14px;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

#contactUs #left{width:420px;}
#left h1, #left h2 {
  color:#e35135;
  font-size:22px;
  line-height:120%;
  margin:15px 10px;
  text-align:center;
}
#nav1 #left h1, #nav1 #left h2 {color:#e35135;}
#nav2 #left h1, #nav2 #left h2 {color:#3e93d6;}
#nav3 #left h1, #nav3 #left h2 {color:#eb971a;}
#nav4 #left h1, #nav4 #left h2 {color:#a37eb5;}
#nav5 #left h1, #nav5 #left h2 {color:#749409;}
#nav6 #left h1, #nav6 #left h2 {color:#c6274e;}
#nav7a #left h3 span, #nav7b #left h3 span, #nav7c #left h3 span {color:#888;}
#nav8 #left h1, #nav8 #left h2 {color:#4f1f17;}
#nav9 #left h1, #nav9 #left h2 {color:#e35135;}
#contactUs h1, #contactUs h2 {color:#4d4d4d;}
#register h1, #register h2 {color:#474024;}
#schedule h1, #schedule h2 {color:#0d4369;}

#left h3{ font-size:18px; margin:20px 10px 0 10px; }
#nav1 #left h3 span{color:#e35135;}
#nav2 #left h3 span{color:#3e93d6;}
#nav3 #left h3 span{color:#eb971a;}
#nav4 #left h3 span{color:#a37eb5;}
#nav5 #left h3 span{color:#749409;}
#nav6 #left h3 span{color:#c6274e;}
#nav7a #left h3 span, #nav7b #left h3 span, #nav7c #left h3 span{color:#888;}
#nav8 #left h3 span{color:#4f1f17;}
#nav9 #left h3 span{color:#e35135;}

#left h4{ font-size:14px; margin:20px 10px 5px 10px; }
#left p{ margin:5px 10px 25px 10px; }
#left a{ color:#0d5cad; }
#left ul{ line-height:120%; list-style-type:disc; margin:15px 30px; padding:0 0 0 15px; }
#left li{ margin:5px 0; }
#left ol{ line-height:120%; list-style:decimal; margin:15px 30px; padding:0 0 0 15px; }
#left blockquote{ color:#3a3a3a; font-style:italic; margin:15px 10px; padding:0 30px; }

#left form{margin:10px;}
#left form .row{padding:0 0 10px 0;}
#left label{ display:block; font-size:11px; }
#left .input{
  background:url(../images/bg_input.jpg) top right no-repeat;
  border-bottom:1px solid #ddd;
  border-left:1px solid #c3c3c3;
  border-right:1px solid #c3c3c3;
  border-top:1px solid #7c7c7c;
  font-family:Lato, sans-serif;
  font-size:12px;
  padding:2px 4px;
}
#left input.input{width:220px;}
#left select.input{width:230px;}
#left textarea.input{ height:150px; width:340px; }
label.error{color:#f00;}
#left input.error, #left textarea.error, #left select.error{border:1px solid #f00;}

#left table{margin:10px 0 15px 0;}
#left table td{padding:10px;}
table .left, table .right{
  font-family:Lato, sans-serif;
  padding:10px 0;
  text-align:left;
}
table .left{ font-size:20px; width:45%; }
table .right{ font-size:16px; width:55%; }

table.lgreen{}
.lgreen .stripe{background:#f2f8e4;}
.lgreen .left{color:#8cc310;}
.lgreen .right{color:#6b9200;}
table.dgreen{}
.dgreen .stripe{background:#dcebdc;}
.dgreen .left{color:#157b16;}
.dgreen .right{color:#0f5513;}
table.purple{}
.purple .stripe{background:#eddde0;}
.purple .left{color:#841e2e;}
.purple .right{color:#461928;}
table.blue{}
.blue .stripe{background:#dbe7f4;}
.blue .left{color:#0d5db7;}
.blue .right{color:#093f7b;}

#register .row, #schedule .row, .pdfRow{
  clear:both;
  margin:0 40px 40px 0;
}
#register .row h3, #schedule .row h3, .pdfRow h3{padding:13px 0 0 0;}

.leftCol{ float:left; margin:0 0 0 25px; width:35%; }
.rightCol{ margin:0 25px 0 0; float:right; width:35%; }

#right{
  float:right;
  width:227px;
  box-sizing: border-box;
}
#contactUs #right{width:346px;}
#right .module{
  border-bottom:1px solid #c4bfbf;
  margin:10px 20px 20px 20px;
  padding:0 0 20px 0;
}
#right .gymtrendz{background:url(../images/bg_gymtrendz.png) top right no-repeat;}
#right .module h3{ color:#787878; font-size:14px; line-height:120%; margin:0 0 5px 0; }
#right .module p{ color:#989898; font-size:12px; line-height:130%; }
#right .module a{color:#0d5cad;}
#right .module img{margin:5px 0;}
#contactUs ..module.reviews h3 {color: #d8704d;}
#right .blog h3{ color:#e35135; font-size:16px; }

#left h1 { text-align: left; margin: 15px 10px; }

/* Footer */
#footerContainer{ background:url(../images/bg_footer.jpg) repeat-x; clear:both; }
#footer{
  background:url(../images/bg_right.jpg) right repeat-y;
  color:#fff;
  clear:both;
  font-family:Lato, sans-serif;
  font-size:18px;
  margin:0 auto;
  text-align:center;
  width:768px;
}
#contactUs #footer{background:url(../images/bg_right_contact.jpg) right repeat-y;}
#footer .inner{ background:url(../images/bg_footer.png) top no-repeat; height:193px; padding:0 0 115px 0; }
#footer p{padding:180px 0 0 0;}
#footer a{ color:#fff; text-decoration:underline; }

/* ==== Register page full-width + remove right column ==== */
body#register #container{
  max-width: 1380px;
  width: min(100% - 2rem, 1380px);
  margin: 0 auto;
  padding-inline: clamp(12px, 3vw, 32px);
}
body#register #content{ background: none; width: 100% !important; }
body#register #left{ float: none !important; width: 100% !important; }
body#register #right{ display: none !important; }
body#register #content,
body#register #footer,
body#register #footerContainer{
  background: none !important;
  background-image: none !important;
  background-color: #fff;
}

#subFooter{ background:url(../images/bg_subfooter.jpg) repeat-x; height:161px; }

/* ===== Register page visuals ===== */
body#register #regSelect{
  display:block;
  margin: 16px 10px 24px;
  padding: 10px 14px;
  font-size: 15px;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  background: #fff;
}
body#register .tables{
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 10px;
  padding: 14px 12px 6px;
  margin: 18px 10px 26px;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
body#register .tables h3{ margin: 6px 6px 8px; font-size: 20px; line-height: 1.25; }
body#register .tables h4{ margin: 0 6px 10px; font-size: 14px; color: #666; font-weight: normal; }
body#register p.top{ margin: 8px 6px 0; }
body#register p.top a{ display: inline-block; padding: 6px 8px; border-radius: 6px; }
body#register .tableContainer{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
  position: relative;
}
body#register .tableContainer:after{
  content: "";
  position: sticky;
  right: 0; bottom: 0; top: 0;
  width: 12px;
  pointer-events: none;
  background: linear-gradient(to left, rgba(0,0,0,.06), rgba(0,0,0,0));
}
body#register .tableContainer table{
  width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 640px;
  font-size: 14px;
}
body#register .tableContainer th,
body#register .tableContainer td{
  padding: 10px 12px;
  border-bottom: 1px solid #eee;
  white-space: nowrap;
  vertical-align: top;
}
body#register .tableContainer th{
  position: sticky;
  top: 0;
  background: #fafafa;
  font-weight: 600;
  border-bottom: 1px solid #e5e5e5;
  z-index: 1;
}
body#register .tableContainer tbody tr:nth-child(odd){ background: #fcfcfc; }
body#register .tableContainer tbody tr:hover{ background: #f7fbff; }
body#register .tableContainer td a{
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed #0d5cad;
  padding-bottom: 1px;
}
body#register .tableContainer td a:hover{ border-bottom-color: transparent; }
body#register .tables + .tables{ margin-top: 22px; }

@media (max-width: 768px){
  body#register .tables{ padding: 12px 10px 4px; margin: 14px 8px 20px; }
  body#register .tableContainer th,
  body#register .tableContainer td{ padding: 8px 10px; font-size: 13px; }
}

@media screen and (max-width: 768px) {
  #left, #right { width: 100% !important; float: none; }
}

/* ===== Reviews (left column) ===== */
#left .module.reviews{
  margin: 0 0 20px 0;
  padding: 12px;
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 6px;
}
#left .module.reviews h3{ color:#e35135; font-size:18px; margin-bottom:10px; }
#left .module.reviews .review{
  display:none;
  margin:0 0 12px 0;
  padding-top:10px;
  border-top:1px solid #e7e7e7;
}
#left .module.reviews .review:first-of-type{ border-top:0; padding-top:0; }
#left .module.reviews blockquote p{ color:#3c3c3c; font-size:14px; line-height:1.45; margin:0 0 6px 0; }
#left .module.reviews blockquote footer{ color:#787878; font-size:12px; }
#left .module.reviews .stars{ float:right; font-size:14px; color:#f5b301; }

/* Dots */
#left .module.reviews .review-dots{ display:flex; gap:6px; margin:6px 0 2px 0; }
#left .module.reviews .review-dots .dot{ width:6px; height:6px; border-radius:50%; background:#d0d0d0; }
#left .module.reviews .review-dots .dot.active{ background:#e35135; }
#left .module.reviews.single .review-dots{ display:none; }

/* ===== Contact page left/right sizing and containment ===== */
#contactUs #left{ float:left; width:420px; box-sizing:border-box; }
#contactUs #right{ float:right; width:346px; box-sizing:border-box; }
#content.clearfix::after{ content:""; display:table; clear:both; }

#contactUs #left .module.reviews{
  clear:both; display:block; width:100%; max-width:100%; overflow:hidden;
  margin:0 0 20px 0; padding:12px; background:#fafafa; border:1px solid #ddd; border-radius:6px;
}
#contactUs #left .module.reviews blockquote{ margin:0; }
#contactUs #left .module.reviews .review{
  display:none; clear:both; width:100%; padding-top:10px; border-top:1px solid #e7e7e7;
}
#contactUs #left .module.reviews .review:first-of-type{ border-top:0; padding-top:0; }
#contactUs #left .module.reviews .review.current{ display:block; }
#contactUs #left .module.reviews blockquote p{
  color:#3c3c3c; font-size:14px; line-height:1.45; margin:0 0 6px 0;
  word-break:break-word; overflow-wrap:anywhere; hyphens:auto;
}
#contactUs #left .module.reviews blockquote footer{ color:#787878; font-size:12px; }
#contactUs #left .module.reviews .stars{ float:right; margin-left:8px; line-height:1; font-size:14px; color:#f5b301; }
#contactUs #left .module.reviews .review-dots{
  clear:both; display:flex; gap:6px; margin:6px 0 2px 0;
}
#contactUs #left .module.reviews .review-dots .dot{ width:6px; height:6px; border-radius:50%; background:#d0d0d0; }
#contactUs #left .module.reviews .review-dots .dot.active{ background:#e35135; }
#contactUs #left .module.reviews.single .review-dots{ display:none; }

@media (max-width: 800px) {
  #contactUs #left, #contactUs #right { width: 100%; float: none; }
  #contactUs #left .module.reviews .stars{ float:none; display:inline-block; margin-left:0; }
}

/* Extra containment / overrides for contact */
#contactUs #left .module.reviews, #contactUs #left .module.reviews *{ box-sizing:border-box; }
#contactUs #left .module.reviews .review{ overflow:hidden; clear:both; }
#contactUs #left blockquote{ padding:0 !important; margin:0; }

#reviews h3{ color:#d8704d; }
#reviews .stars{ color:#d8704d; }
#reviews .review-dots .dot.active{ background-color:#d8704d; }
#reviews .review-dots .dot{ border:1px solid #d8704d; }

.doc-list{ list-style:none; margin:15px 10px 30px; padding:0; }
.doc-list li{ padding:10px 0; border-bottom:1px solid #eee; }
.doc-list li a{ font-weight:600; text-decoration:none; }
.doc-list li a:hover{ text-decoration:underline; }
.doc-list .meta{ display:block; font-size:12px; color:#666; margin-top:4px; }

.notice{margin:10px 10px 20px; padding:10px 12px; border-radius:6px; font-size:14px;}
.notice.success{background:#e7f6e7; color:#165c2f; border:1px solid #b7e2b7;}
.notice.error{background:#fdecea; color:#611a15; border:1px solid #f5c2c0;}
#right #review-form .row { margin-bottom:10px; }
#right #review-form .input, #right #review-form textarea, #right #review-form select { width:100%; box-sizing:border-box; }
#right #review-form button { padding:8px 12px; border-radius:6px; }

/* Key details section */
.cta-wrap{ display:flex; align-items:center; gap:.75rem; }
.cta-wrap a + a::before{ content:"|"; color:#9ca3af; margin:0 .5rem; }

.key-details{
  margin-block:2rem; padding:1.25rem 1.5rem;
  background:#f9fafb; border:1px solid #e5e7eb; border-radius:12px;
}
.key-details > h2{ margin-bottom:1rem; font-size:1.25rem; color:#111827; }
.key-points{ list-style:disc; margin:0; padding-left:1.25rem; display:flex; flex-direction:column; gap:.75rem; }
.key-points li{ font-size:1rem; line-height:1.5; color:#1f2937; }
.key-points li strong{ font-weight:600; color:#0066cc; margin-right:.25rem; }

@media (min-width:768px){
  .key-points{ grid-template-columns:none !important; display:flex !important; flex-direction:column !important; }
}

/* Some newer layout helpers (retain as-is) */
#right .module.social{
  background:transparent; border:0; padding:12px 10px 16px; margin:10px 20px 20px; text-align:center;
}
#right .module.social .social__banner{ display:block; max-width:100%; height:auto; margin:0 auto 8px; }
#right .module.social .social__icons{ display:flex; justify-content:center; align-items:center; gap:14px; margin:6px 0 12px; }
#right .module.social .social__icons img{ display:block; height:44px; width:auto; }
#right .module.social .social__app img{ display:block; max-width:100%; height:auto; margin:0 auto; }

@media (max-width:900px){
  #right .module.social .social__icons img{ height:40px; }
}

/* Follow-us variants / sizing tweaks (kept) */
.social__icons{ display:flex; gap:10px; align-items:center; }
.social__icons a img{ display:block; max-height:50px; }

/* Ensure sidebar sizing matches gradient strip when needed */
#right{ float:right; width:227px !important; max-width:227px !important; position:relative; z-index:10; }

/* Hero image helpers */
#hero{ margin:0; padding:0; display:block; overflow:hidden; line-height:0; }
#hero img, #hero picture{ display:block; width:100%; height:auto; margin:0; padding:0; vertical-align:top; }

#content{ margin-top:0 !important; padding-top:0 !important; background-position:right top; background-repeat:repeat-y; }
#left{ float:left; width:541px; margin-right:0; box-sizing:border-box; }

/* Birthday page only */
body#nav4 #right{ float:right; width:227px !important; max-width:227px !important; position:relative; z-index:10; }

/* Contact page harder overrides (kept) */
body#contactUs #content{
  overflow:hidden !important;
  background:url(../images/bg_right_contact.jpg) right repeat-y !important;
  position:relative !important;
  min-height:600px !important;
  width:768px !important;
  margin:0 auto !important;
}
body#contactUs #left{
  width:380px !important; float:left !important; margin-right:20px !important;
  box-sizing:border-box !important; overflow-wrap:break-word !important; max-width:380px !important;
}
body#contactUs #right{
  width:350px !important; float:right !important; box-sizing:border-box !important;
  position:relative !important; z-index:10 !important; margin-left:0 !important;
}
body#contactUs #left .module.reviews{
  width:100% !important; max-width:360px !important; overflow:hidden !important; box-sizing:border-box !important;
  margin:0 0 20px 0 !important; padding:12px !important; background:#fafafa !important; border:1px solid #ddd !important; border-radius:6px !important;
}
body#contactUs #left .module.reviews blockquote{
  margin:0 !important; padding:0 !important; word-wrap:break-word !important; overflow-wrap:break-word !important; hyphens:auto !important; max-width:100% !important;
}
body#contactUs #left .module.reviews .review{ clear:both !important; overflow:hidden !important; max-width:100% !important; }
body#contactUs #left .module.reviews .stars{ float:right !important; margin-left:8px !important; line-height:1 !important; font-size:14px !important; color:#f5b301 !important; }
body#contactUs #right iframe{
  width:100% !important; height:300px !important; border:1px solid #ddd !important; border-radius:6px !important; display:block !important; margin:0 0 10px 0 !important;
}
body#contactUs #left #review-form{
  width:100% !important; max-width:360px !important; box-sizing:border-box !important; margin:20px 0 !important; padding:15px !important;
  background:#f9f9f9 !important; border:1px solid #ddd !important; border-radius:6px !important;
}
body#contactUs #left #review-form .input, body#contactUs #left #review-form textarea{
  width:100% !important; max-width:320px !important; box-sizing:border-box !important;
}
body#contactUs #left h1, body#contactUs #left h2, body#contactUs #left h3, body#contactUs #left p{
  word-wrap:break-word !important; overflow-wrap:break-word !important; max-width:360px !important;
  margin-left:10px !important; margin-right:10px !important;
}
body#contactUs #container{ width:768px !important; margin:0 auto !important; overflow:hidden !important; }
#contactUs #content::after{ content:""; display:table; clear:both; }
#contactUs #right .module:last-child p{ margin-bottom:0; line-height:1.4; }

@media (max-width: 768px) {
  #contactUs #left, #contactUs #right{ width:100% !important; float:none; margin:0 0 20px 0; }
  #contactUs #content{ background:none; }
  #contactUs #right iframe{ height:250px !important; }
  #contactUs #left .module.reviews, #contactUs #left #review-form{ max-width:100%; }
}

/* Star rating widget */
.star-rating{ direction:rtl; display:inline-flex; font-size:1.5em; margin:5px 0; }
.star-rating input{ display:none; }
.star-rating label{ color:#ccc; cursor:pointer; padding:0 2px; transition:color .2s; }
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label{ color:#d8704d; }

/* Contact form button */
#contactUs #left #review-form button{
  background:#d8704d; color:#fff; padding:10px 20px; border:none; border-radius:4px; cursor:pointer; font-family:Lato, sans-serif;
}
#contactUs #left #review-form button:hover{ background:#c5633d; }

/* Hero carousel */
.hero-carousel{ position:relative; width:100%; overflow:hidden; background:#000; }
.hero-track{ display:flex; height:100%; transition:transform .55s ease-in-out; will-change:transform; }
.hero-slide{ flex:0 0 100%; position:relative; }
.hero-slide img{ width:100%; height:auto; display:block; }
.hero-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  background:rgba(255,255,255,.85); border:1px solid rgba(0,0,0,.15);
  width:40px; height:40px; border-radius:999px; line-height:38px; text-align:center; font-size:22px; color:#111; cursor:pointer; user-select:none;
}
.hero-prev{ left:12px; }
.hero-next{ right:12px; }
.hero-nav:hover{ background:#fff; }
.hero-dots{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%);
  display:flex; gap:8px; z-index:2;
}
.hero-dots button{
  width:10px; height:10px; border-radius:50%; border:1px solid rgba(255,255,255,.8);
  background:rgba(255,255,255,.3); padding:0; cursor:pointer;
}
.hero-dots button[aria-current="true"]{ background:#fff; }
@media (prefers-reduced-motion: reduce){ .hero-track{ transition:none; } }

:root{
  --hero-h-mobile: 256px;
  --hero-h-tablet: 352px;
  --hero-h-desktop: 480px;
}

.clear{clear:both;}
.floatL{float:left;}
.floatR{float:right;}
.alignL{text-align:left;}
.alignR{text-align:right;}

/* ===== HEADER RESCUE OVERRIDES (last lines in default.css) ===== */
#header{ display:flex; align-items:flex-start; gap:12px; position:relative; }
#header h1{ margin:5px 10px 0 0; float:none; }           /* neutralize old float */
#utilNav{ display:flex; gap:12px; margin:6px 0 0 0; padding:0; list-style:none; }
#utilNav li{ float:none; margin:0; }
#utilNav li a{ display:block; text-align:center; }
#utilNav li a span{ display:block; padding-top:60px; }    /* keeps your icon tiles */


/* ==========================================================
   STAFF PAGE ONLY - add this as one separate chunk at the
   bottom of /css/default.css. Do not include  tags.
   This is scoped to #left .staff-page so it will not change
   the header, navigation, right sidebar, or footer.
   ========================================================== */

#left .staff-page{
  color:#3c3c3c;
  padding:0 10px 24px 10px;
  box-sizing:border-box;
}

#left .staff-page *{
  box-sizing:border-box;
}

#left .staff-intro{
  margin:18px 0 18px 0;
  padding:18px;
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}

#left .staff-intro h2{
  margin:0 0 8px 0;
  padding:0;
  text-align:left;
  color:#e35135;
  font-size:24px;
  line-height:1.2;
}

#left .staff-intro p{
  margin:0;
  color:#4a4a4a;
  line-height:1.6;
}

#left .staff-highlights{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  margin:16px 0 0 0;
}

#left .staff-highlight{
  padding:10px;
  background:#fcedea;
  border:1px solid #f5d0c9;
  border-radius:8px;
  color:#555;
  font-size:12px;
  line-height:1.35;
}

#left .staff-highlight strong{
  display:block;
  color:#e35135;
  font-size:15px;
  line-height:1.2;
  margin:0 0 3px 0;
}

#left .staff-section-heading{
  margin:22px 0 12px 0;
  padding:0 0 8px 0;
  color:#e35135;
  font-size:22px;
  line-height:1.25;
  border-bottom:2px solid #f0d2cc;
}

#left .coach-grid{
  display:block;
  margin:0;
  padding:0;
}

#left .coach-card{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:14px;
  align-items:start;
  margin:0 0 16px 0;
  padding:14px;
  background:#fff;
  border:1px solid #e3e3e3;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}

#left .coach-photo{
  position:relative;
  width:110px;
  height:130px;
  overflow:hidden;
  border-radius:9px;
  background:#e35135;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:bold;
  letter-spacing:.03em;
}

#left .coach-photo:before{
  content:attr(data-initials);
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  text-align:center;
}

#left .coach-photo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

#left .coach-info h3{
  margin:0 0 3px 0;
  padding:0;
  color:#e35135;
  font-size:19px;
  line-height:1.2;
}

#left .coach-title{
  margin:0 0 8px 0;
  color:#666;
  font-size:13px;
  font-weight:bold;
  line-height:1.35;
}

#left .coach-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 9px 0;
}

#left .coach-tag{
  display:inline-block;
  padding:3px 7px;
  background:#fcedea;
  border:1px solid #f5d0c9;
  border-radius:999px;
  color:#b23622;
  font-size:11px;
  font-weight:bold;
  line-height:1.2;
}

#left .coach-info p{
  margin:0 0 9px 0;
  color:#3c3c3c;
  font-size:14px;
  line-height:1.55;
}

#left .coach-bio details{
  margin:4px 0 0 0;
}

#left .coach-bio summary{
  cursor:pointer;
  display:inline-block;
  color:#0d5cad;
  font-size:13px;
  font-weight:bold;
  line-height:1.3;
}

#left .coach-bio summary:hover{
  text-decoration:underline;
}

#left .coach-bio__full{
  margin:10px 0 0 0;
  padding:10px 0 0 0;
  border-top:1px solid #eeeeee;
}

#left .staff-cta{
  margin:22px 0 6px 0;
  padding:16px;
  background:#fcedea;
  border:1px solid #f5d0c9;
  border-radius:10px;
}

#left .staff-cta h2{
  margin:0 0 8px 0;
  padding:0;
  text-align:left;
  color:#e35135;
  font-size:21px;
  line-height:1.2;
}

#left .staff-cta p{
  margin:0 0 12px 0;
}

#left .staff-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

#left .staff-button{
  display:inline-block;
  padding:8px 11px;
  border-radius:6px;
  background:#e35135;
  color:#fff !important;
  font-size:13px;
  font-weight:bold;
  text-decoration:none;
}

#left .staff-button:hover{
  text-decoration:none;
  background:#c9442c;
}

#left .staff-button--outline{
  background:#fff;
  color:#e35135 !important;
  border:1px solid #e35135;
}

#left .staff-button--outline:hover{
  background:#fff6f4;
}

@media screen and (max-width:768px){
  #left .staff-highlights{
    grid-template-columns:1fr;
  }

  #left .coach-card{
    grid-template-columns:95px 1fr;
    gap:12px;
    padding:12px;
  }

  #left .coach-photo{
    width:95px;
    height:112px;
    font-size:24px;
  }
}

/* ==========================================================
   STAFF PAGE IPHONE PHOTO FIX - FINAL
   Shows full coach portrait instead of cropping to chin
   Put this at the VERY BOTTOM of default.css
   ========================================================== */

@media screen and (max-width: 767px) {

  #left .staff-page .coach-card{
    display:block !important;
  }

  #left .staff-page .coach-photo{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    overflow:visible !important;
    display:block !important;
    border-radius:12px !important;
  }

  #left .staff-page .coach-photo img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center top !important;
    border-radius:12px !important;
  }

}