/* =========================================================
   ROTARY VISION OVERRIDES
   Paste AFTER rotarybase.css
   ========================================================= */

:root{
  --rotary-blue:#0d4d92;
  --rotary-blue-dark:#08386c;
  --rotary-gold:#e3ad2f;
  --rotary-gold-dark:#c8921b;
  --rotary-cream:#f7f7f2;
  --text-dark:#223042;
  --text-soft:#5f6b7a;
  --line:#d9e1ea;
  --shadow:0 10px 30px rgba(0,0,0,.10);
}

/* ---------- Global ---------- */
body{
  font-family:'IBM Plex Sans','Open Sans',Arial,sans-serif !important;
  color:var(--text-dark) !important;
  background:#ffffff !important;
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:'IBM Plex Sans','Open Sans',Arial,sans-serif !important;
  color:var(--text-dark) !important;
  font-weight:700 !important;
}

a{
  color:var(--rotary-blue) !important;
}

a:hover,
a:focus{
  color:var(--rotary-blue-dark) !important;
}

/* ---------- Main wrappers ---------- */
.content-wrapper,
.OneColumn,
.TwoColumns,
.ThreeColumns,
.TwoColumnsRightNarrow,
.TwoColumnsTopBanner,
.ClubInfoPage{
  max-width:1240px !important;
}

.ContentWrapper{
  background:#ffffff !important;
}

/* ---------- Top nav ---------- */
.MainWidgetWrapper.navbar-widget{
  z-index:1005 !important;
}

.navbar,
.navbar-default{
  min-height:78px !important;
  margin-bottom:0 !important;
  background:linear-gradient(180deg,var(--rotary-blue) 0%, var(--rotary-blue-dark) 100%) !important;
  border:0 !important;
  border-bottom:4px solid var(--rotary-gold) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.14) !important;
}

.navbar-default .navbar-brand,
.navbar-default .navbar-brand:focus,
.navbar-default .navbar-brand:hover{
  color:#fff !important;
  height:78px !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.navbar-brand img{
  max-height:42px !important;
  width:auto !important;
}

.navbar-nav > li > a{
  color:#fff !important;
  font-weight:600 !important;
  font-size:15px !important;
  letter-spacing:.01em !important;
  padding-top:27px !important;
  padding-bottom:27px !important;
  background:transparent !important;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus{
  color:var(--rotary-gold) !important;
  background:transparent !important;
}

.navbar-default .navbar-toggle{
  border-color:rgba(255,255,255,.65) !important;
  margin-top:22px !important;
}

.navbar-default .navbar-toggle .icon-bar{
  background:#fff !important;
}

.dropdown-menu{
  border:0 !important;
  border-radius:10px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
  padding:8px 0 !important;
}

.dropdown-menu > li > a{
  padding:10px 18px !important;
  font-weight:500 !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus{
  background:#f2f6fb !important;
  color:var(--rotary-blue) !important;
}

/* ---------- Hero / carousel ---------- */
.carousel,
.carousel-inner,
.carousel-inner > .item{
  background:#17375d !important;
}

.carousel-inner > .item{
  min-height:560px !important;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img{
  width:100% !important;
  min-height:560px !important;
  object-fit:cover !important;
  filter:brightness(.72) saturate(1.02) !important;
}

/* overlay */
.carousel-inner::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(8,46,92,.72) 0%, rgba(8,46,92,.42) 42%, rgba(8,46,92,.08) 100%) !important;
  pointer-events:none !important;
  z-index:2 !important;
}

.carousel-caption{
  z-index:3 !important;
  left:8% !important;
  right:auto !important;
  bottom:15% !important;
  width:min(620px, 84%) !important;
  text-align:left !important;
  text-shadow:none !important;
  padding:0 !important;
}

.carousel-caption h1,
.carousel-caption .h1{
  color:#fff !important;
  font-size:64px !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  margin-bottom:10px !important;
}

.carousel-caption h2,
.carousel-caption h3,
.carousel-caption .h2,
.carousel-caption .h3{
  color:#eef4fb !important;
  font-size:30px !important;
  line-height:1.15 !important;
  font-style:italic !important;
  font-weight:500 !important;
  margin-bottom:18px !important;
}

.carousel-caption p{
  color:#fff !important;
  font-size:22px !important;
  line-height:1.45 !important;
  margin-bottom:24px !important;
}

/* hero buttons */
.carousel-caption .btn,
.carousel-caption a.btn,
.carousel-caption .btn-primary,
.carousel-caption .btn-default,
.carousel-caption .btn-warning{
  border-radius:8px !important;
  padding:12px 26px !important;
  font-weight:700 !important;
  font-size:15px !important;
  margin-right:10px !important;
  margin-top:8px !important;
  box-shadow:none !important;
  transition:all .2s ease !important;
}

.carousel-caption .btn-primary{
  background:var(--rotary-blue) !important;
  color:#fff !important;
  border:1px solid var(--rotary-blue) !important;
}

.carousel-caption .btn-primary:hover,
.carousel-caption .btn-primary:focus{
  background:var(--rotary-blue-dark) !important;
  color:#fff !important;
  border-color:var(--rotary-blue-dark) !important;
}

.carousel-caption .btn-default,
.carousel-caption .btn-warning{
  background:var(--rotary-gold) !important;
  color:#17375d !important;
  border:1px solid var(--rotary-gold) !important;
}

.carousel-caption .btn-default:hover,
.carousel-caption .btn-default:focus,
.carousel-caption .btn-warning:hover,
.carousel-caption .btn-warning:focus{
  background:var(--rotary-gold-dark) !important;
  border-color:var(--rotary-gold-dark) !important;
  color:#fff !important;
}

.carousel-control{
  width:10% !important;
  opacity:.6 !important;
}

.carousel-control:hover{
  opacity:.9 !important;
}

.carousel-indicators li{
  border-color:#fff !important;
}

.carousel-indicators .active{
  background:#fff !important;
}

/* ---------- Section spacing ---------- */
.band-wrapper > .container{
  padding-top:26px !important;
  padding-bottom:26px !important;
}

.band-wrapper:first-child > .container .PageWidget .boxContainer1,
.band-wrapper:first-child > .container .PageWidget .boxContainer1NoFrameNoBorder{
  margin-top:0 !important;
}

/* ---------- Widget shells ---------- */
.PageWidget .boxContainer1NoFrameNoBorder,
.PageWidget .boxContainer1,
.thumbnail,
.panel{
  border-radius:0 !important;
}

/* generic white cards under hero */
.PageWidget .boxContainer1,
.PageWidget .boxContainer1NoFrameNoBorder,
.thumbnail,
.panel-default{
  background:#fff !important;
  border:1px solid #e7edf4 !important;
  box-shadow:var(--shadow) !important;
}

/* ---------- Widget headings ---------- */
.PageWidget .boxContainer1NoFrameNoBorder .boxHeaderContainer1,
.PageWidget .boxContainer1 .boxHeaderContainer1,
.panel-heading{
  padding:18px 22px !important;
  border:0 !important;
}

.PageWidget .boxContainer1NoFrameNoBorder .boxHeaderContainer1 h2,
.PageWidget .boxContainer1NoFrameNoBorder .boxHeaderContainer1 .widget-title,
.PageWidget .boxContainer1 .boxHeaderContainer1 h2,
.PageWidget .boxContainer1 .boxHeaderContainer1 .widget-title,
.panel-title{
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  margin:0 !important;
}

/* give the 3-up cards blue/gold/blue header feel */
.ThreeColumns .PageWidget:nth-child(1) .boxHeaderContainer1,
.ThreeColumns .live-page-widget:nth-child(1) .boxHeaderContainer1,
.TwoColumnsTopBanner .PageWidget:nth-child(1) .boxHeaderContainer1{
  background:var(--rotary-blue) !important;
}

.ThreeColumns .PageWidget:nth-child(2) .boxHeaderContainer1,
.ThreeColumns .live-page-widget:nth-child(2) .boxHeaderContainer1,
.TwoColumnsTopBanner .PageWidget:nth-child(2) .boxHeaderContainer1{
  background:var(--rotary-gold) !important;
}

.ThreeColumns .PageWidget:nth-child(3) .boxHeaderContainer1,
.ThreeColumns .live-page-widget:nth-child(3) .boxHeaderContainer1,
.TwoColumnsTopBanner .PageWidget:nth-child(3) .boxHeaderContainer1{
  background:var(--rotary-blue) !important;
}

.ThreeColumns .PageWidget:nth-child(1) .boxHeaderContainer1 h2,
.ThreeColumns .PageWidget:nth-child(1) .boxHeaderContainer1 .widget-title,
.ThreeColumns .PageWidget:nth-child(2) .boxHeaderContainer1 h2,
.ThreeColumns .PageWidget:nth-child(2) .boxHeaderContainer1 .widget-title,
.ThreeColumns .PageWidget:nth-child(3) .boxHeaderContainer1 h2,
.ThreeColumns .PageWidget:nth-child(3) .boxHeaderContainer1 .widget-title,
.TwoColumnsTopBanner .PageWidget .boxHeaderContainer1 h2,
.TwoColumnsTopBanner .PageWidget .boxHeaderContainer1 .widget-title{
  color:#fff !important;
}

/* ---------- Widget body ---------- */
.WidgetNoBorder,
.boxContentCon1,
.panel-body,
.thumbnail .caption{
  padding:22px !important;
}

p,
.PageWidget p,
.panel p,
.thumbnail .caption p{
  color:var(--text-soft) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

/* ---------- Buttons sitewide ---------- */
.btn{
  border-radius:8px !important;
  font-weight:700 !important;
  padding:12px 24px !important;
  transition:all .2s ease !important;
}

.btn-primary{
  background:var(--rotary-blue) !important;
  border-color:var(--rotary-blue) !important;
  color:#fff !important;
}

.btn-primary:hover,
.btn-primary:focus{
  background:var(--rotary-blue-dark) !important;
  border-color:var(--rotary-blue-dark) !important;
  color:#fff !important;
}

.btn-default{
  background:#fff !important;
  color:var(--rotary-blue) !important;
  border:1px solid var(--rotary-blue) !important;
}

.btn-default:hover,
.btn-default:focus{
  background:var(--rotary-blue) !important;
  color:#fff !important;
  border-color:var(--rotary-blue) !important;
}

.btn-warning{
  background:var(--rotary-gold) !important;
  color:#17375d !important;
  border-color:var(--rotary-gold) !important;
}

.btn-warning:hover,
.btn-warning:focus{
  background:var(--rotary-gold-dark) !important;
  color:#fff !important;
  border-color:var(--rotary-gold-dark) !important;
}

/* ---------- Thumbnails / cards ---------- */
.thumbnail{
  overflow:hidden !important;
  border:1px solid #e7edf4 !important;
  box-shadow:var(--shadow) !important;
}

.thumbnail > img,
.thumbnail a > img{
  width:100% !important;
  height:235px !important;
  object-fit:cover !important;
}

.thumbnail .caption h3,
.thumbnail .caption h4{
  color:var(--text-dark) !important;
  font-weight:700 !important;
}

/* ---------- Panels / events / speakers ---------- */
.panel{
  border:1px solid #e7edf4 !important;
  box-shadow:0 6px 20px rgba(0,0,0,.06) !important;
}

.panel-default > .panel-heading{
  background:#f8fbff !important;
  border-bottom:1px solid #e7edf4 !important;
}

.panel-title{
  color:var(--rotary-blue-dark) !important;
}

.upcoming-event-list > li{
  padding:14px 0 !important;
  border-bottom:1px solid #eef2f6 !important;
}

.upcoming-event-list > li:last-child{
  border-bottom:0 !important;
}

/* speakers list cards */
.SpeakersList table.listView.dataTable tr{
  background:#fff !important;
  border:1px solid #e7edf4 !important;
  box-shadow:0 4px 12px rgba(0,0,0,.04) !important;
  margin-bottom:14px !important;
  padding:14px !important;
}

.SpeakersList table.listView.dataTable td{
  padding:8px 10px !important;
}

/* ---------- Page sections ---------- */
.separator,
.seperator{
  border-bottom:1px solid var(--line) !important;
}

/* ---------- Footer ---------- */
.websiteFooter,
footer{
  background:linear-gradient(180deg, var(--rotary-blue-dark) 0%, #061f3c 100%) !important;
  color:rgba(255,255,255,.92) !important;
  border-top:4px solid var(--rotary-gold) !important;
}

.websiteFooter a,
footer a{
  color:#fff !important;
}

.websiteFooter a:hover,
footer a:hover{
  color:var(--rotary-gold) !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 991px){
  .carousel-inner > .item,
  .carousel-inner > .item > img,
  .carousel-inner > .item > a > img{
    min-height:440px !important;
  }

  .carousel-caption{
    left:7% !important;
    width:86% !important;
  }

  .carousel-caption h1,
  .carousel-caption .h1{
    font-size:44px !important;
  }

  .carousel-caption h2,
  .carousel-caption h3{
    font-size:24px !important;
  }

  .carousel-caption p{
    font-size:18px !important;
  }

  .navbar-nav > li > a{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}

@media (max-width: 768px){
  .carousel-inner > .item,
  .carousel-inner > .item > img,
  .carousel-inner > .item > a > img{
    min-height:380px !important;
  }

  .carousel-caption{
    bottom:12% !important;
  }

  .carousel-caption h1,
  .carousel-caption .h1{
    font-size:34px !important;
  }

  .carousel-caption h2,
  .carousel-caption h3{
    font-size:20px !important;
  }

  .carousel-caption p{
    font-size:16px !important;
  }

  .WidgetNoBorder,
  .boxContentCon1,
  .panel-body,
  .thumbnail .caption{
    padding:18px !important;
  }

  .thumbnail > img,
  .thumbnail a > img{
    height:210px !important;
  }
}

/* ===== Fix cramped Contact Us form ===== */

/* Scope to the ClubRunner single-email/contact form layout */
.SingleEmailPage .form-control,
.single-email-page .form-control,
body[class*="singleemail"] .form-control,
body[class*="contact"] .form-control,
form[action*="singleemail"] .form-control,
form[action*="contactus"] .form-control {
  height: 44px !important;
  padding: 10px 14px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.SingleEmailPage textarea.form-control,
.single-email-page textarea.form-control,
body[class*="singleemail"] textarea.form-control,
body[class*="contact"] textarea.form-control,
form[action*="singleemail"] textarea.form-control,
form[action*="contactus"] textarea.form-control {
  min-height: 160px !important;
  height: auto !important;
  padding: 12px 14px !important;
}

/* Give each row breathing room */
.SingleEmailPage .form-group,
.single-email-page .form-group,
.SingleEmailPage .field-group,
.single-email-page .field-group,
.SingleEmailPage .editor-field,
.single-email-page .editor-field,
body[class*="singleemail"] .form-group,
body[class*="singleemail"] .field-group,
body[class*="singleemail"] .editor-field,
form[action*="singleemail"] .form-group,
form[action*="singleemail"] .field-group,
form[action*="singleemail"] .editor-field,
form[action*="contactus"] .form-group,
form[action*="contactus"] .field-group,
form[action*="contactus"] .editor-field {
  margin-bottom: 18px !important;
}

/* Make labels sit above inputs on this page only */
.SingleEmailPage .editor-label,
.single-email-page .editor-label,
body[class*="singleemail"] .editor-label,
form[action*="singleemail"] .editor-label,
form[action*="contactus"] .editor-label {
  float: none !important;
  width: 100% !important;
  text-align: left !important;
  padding: 0 0 6px 0 !important;
  margin: 0 !important;
}

.SingleEmailPage .editor-field,
.single-email-page .editor-field,
body[class*="singleemail"] .editor-field,
form[action*="singleemail"] .editor-field,
form[action*="contactus"] .editor-field {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

/* Reset any card/panel padding that may be squeezing the form */
.SingleEmailPage .panel,
.single-email-page .panel,
.SingleEmailPage .boxContentCon1,
.single-email-page .boxContentCon1,
body[class*="singleemail"] .panel,
body[class*="singleemail"] .boxContentCon1,
form[action*="singleemail"] .panel,
form[action*="contactus"] .panel {
  padding: 24px !important;
}

/* Consent / captcha area */
.SingleEmailPage .checkbox,
.single-email-page .checkbox,
body[class*="singleemail"] .checkbox,
form[action*="singleemail"] .checkbox,
form[action*="contactus"] .checkbox {
  margin-top: 8px !important;
  margin-bottom: 18px !important;
}

.SingleEmailPage .checkbox label,
.single-email-page .checkbox label,
body[class*="singleemail"] .checkbox label,
form[action*="singleemail"] .checkbox label,
form[action*="contactus"] .checkbox label {
  padding-left: 28px !important;
  line-height: 1.5 !important;
}

/* Button spacing */
.SingleEmailPage .btn,
.single-email-page .btn,
body[class*="singleemail"] .btn,
form[action*="singleemail"] .btn,
form[action*="contactus"] .btn {
  min-height: 44px !important;
  padding: 10px 18px !important;
  margin-top: 8px !important;
}

/* Mobile */
@media (max-width: 768px) {
  .SingleEmailPage .panel,
  .single-email-page .panel,
  .SingleEmailPage .boxContentCon1,
  .single-email-page .boxContentCon1,
  body[class*="singleemail"] .panel,
  body[class*="singleemail"] .boxContentCon1,
  form[action*="singleemail"] .panel,
  form[action*="contactus"] .panel {
    padding: 18px !important;
  }

  .SingleEmailPage .form-control,
  .single-email-page .form-control,
  body[class*="singleemail"] .form-control,
  form[action*="singleemail"] .form-control,
  form[action*="contactus"] .form-control {
    font-size: 16px !important;
  }
}

/* ===== Contact Us form hard reset ===== */

.ContactUsForm,
.ContactUsForm form,
.ContactUsForm .form-horizontal {
  width: 100% !important;
  max-width: 100% !important;
}

/* Kill the horizontal bootstrap layout */
.ContactUsForm .form-horizontal .form-group,
.ContactUsForm .field-group,
.ContactUsForm .editor-field,
.ContactUsForm .editor-label {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ContactUsForm .editor-label,
.ContactUsForm .control-label,
.ContactUsForm .label-control {
  display: block !important;
  text-align: left !important;
  padding: 0 0 8px 0 !important;
  margin: 0 !important;
}

/* Neutralize Bootstrap columns inside the form */
.ContactUsForm [class*="col-sm-"],
.ContactUsForm [class*="col-md-"],
.ContactUsForm [class*="col-lg-"],
.ContactUsForm [class*="col-xs-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  left: auto !important;
  right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Input sizing */
.ContactUsForm input[type="text"],
.ContactUsForm input[type="email"],
.ContactUsForm input[type="tel"],
.ContactUsForm input[type="search"],
.ContactUsForm select,
.ContactUsForm .form-control {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
}

.ContactUsForm textarea,
.ContactUsForm textarea.form-control {
  display: block !important;
  width: 100% !important;
  min-height: 180px !important;
  height: auto !important;
  padding: 12px 14px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
}

/* Space between fields */
.ContactUsForm .form-group,
.ContactUsForm .field-group {
  margin-bottom: 20px !important;
}

/* Checkbox / consent block */
.ContactUsForm .checkbox,
.ContactUsForm .radio {
  padding-top: 0 !important;
  margin-top: 8px !important;
  margin-bottom: 18px !important;
  min-height: 0 !important;
}

.ContactUsForm .checkbox label,
.ContactUsForm .radio label {
  display: block !important;
  padding-left: 28px !important;
  line-height: 1.5 !important;
}

/* Buttons */
.ContactUsForm .btn,
.ContactUsForm button,
.ContactUsForm input[type="submit"] {
  display: inline-block !important;
  width: auto !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
  margin-top: 10px !important;
}

/* If the whole form is sitting in a narrow centered column, break it out */
.ContactUsForm,
.ContactUsForm .container,
.ContactUsForm .main-container,
.ContactUsForm .content-wrapper {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== Contact Us form alignment fix ===== */

/* Add breathing room inside the white form box */
.ContactUsForm {
  padding: 32px 36px !important;
  box-sizing: border-box !important;
}

/* Pull the left label column inward */
.ContactUsForm .control-label,
.ContactUsForm .editor-label {
  padding-left: 18px !important;
  box-sizing: border-box !important;
}

/* Keep the input side aligned nicely */
.ContactUsForm .form-control,
.ContactUsForm textarea,
.ContactUsForm input[type="text"],
.ContactUsForm input[type="email"],
.ContactUsForm input[type="tel"] {
  width: 100% !important;
}

/* If bootstrap columns are still being used, rebalance them */
@media (min-width: 768px) {
  .ContactUsForm .control-label.col-sm-3,
  .ContactUsForm .editor-label.col-sm-3 {
    width: 34% !important;
    padding-left: 18px !important;
    padding-right: 20px !important;
  }

  .ContactUsForm .col-sm-9,
  .ContactUsForm .editor-field.col-sm-9 {
    width: 66% !important;
    padding-right: 18px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .ContactUsForm {
    padding: 20px 18px !important;
  }

  .ContactUsForm .control-label,
  .ContactUsForm .editor-label {
    padding-left: 0 !important;
  }
}

.rotary-hero-custom {
  position: relative;
  min-height: 440px;
  width: 100%;
  overflow: hidden;
  background-image:
    linear-gradient(90deg, rgba(7, 44, 90, 0.82) 0%, rgba(7, 44, 90, 0.50) 42%, rgba(7, 44, 90, 0.14) 100%),
    url("https://clubrunner.blob.core.windows.net/00000004867/Images/Granite_Trust_Building_Quincy.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.rotary-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  min-height: 440px;
  padding: 60px 56px 40px 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-sizing: border-box;
}

.rotary-hero-text {
  max-width: 560px;
  color: #fff;
  padding-top: 18px;
}

.rotary-hero-text h1 {
  margin: 0 0 6px;
  font-size: 68px;
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #ffffff !important;
}

.rotary-hero-tagline {
  margin-bottom: 14px;
  font-size: 31px;
  line-height: 1.08;
  font-style: italic;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.96) !important;
  font-family: Georgia, "Times New Roman", serif;
}

.rotary-hero-text p {
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92) !important;
  max-width: 470px;
}

.rotary-hero-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.rotary-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 28px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  transition: all 0.2s ease;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

.rotary-hero-btn-blue {
  background: #17458f !important;
  color: #ffffff !important;
  border: 1px solid #17458f !important;
}

.rotary-hero-btn-blue:hover {
  background: #0f3a78 !important;
  border-color: #0f3a78 !important;
  color: #ffffff !important;
}

.rotary-hero-btn-gold {
  background: #e3ad2f;
  color: #17375d;
  border: 1px solid #e3ad2f;
}

.rotary-hero-btn-gold:hover {
  background: #c8921b;
  border-color: #c8921b;
  color: #fff;
}

.rotary-hero-wheel-wrap {
  flex: 0 0 500px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 6px;
}

.rotary-hero-wheel {
  width: 80%;
  max-width: 420px;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 26px rgba(0, 0, 0, 0.18));
}

/* tablet */
@media (max-width: 991px) {
  .rotary-hero-custom {
    min-height: 500px;
  }

  .rotary-hero-content {
    min-height: 500px;
    padding: 64px 32px 42px 42px;
    gap: 18px;
  }

  .rotary-hero-text {
    max-width: 470px;
    padding-top: 8px;
  }

  .rotary-hero-text h1 {
    font-size: 52px;
  }

  .rotary-hero-tagline {
    font-size: 27px;
  }

  .rotary-hero-text p {
    font-size: 17px;
    max-width: 400px;
  }

  .rotary-hero-wheel-wrap {
    flex: 0 0 300px;
  }

  .rotary-hero-wheel {
    max-width: 290px;
  }
}

/* mobile */
@media (max-width: 767px) {
  .rotary-hero-custom {
    min-height: 420px;
    background-position: center center;
  }

  .rotary-hero-content {
    min-height: 420px;
    padding: 42px 20px 34px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 18px;
  }

  .rotary-hero-text {
    max-width: 100%;
    padding-top: 0;
  }

  .rotary-hero-text h1 {
    font-size: 40px;
    line-height: 1;
  }

  .rotary-hero-tagline {
    font-size: 24px;
    margin-bottom: 14px;
  }

  .rotary-hero-text p {
    font-size: 16px;
    max-width: 100%;
  }

  .rotary-hero-buttons {
    gap: 12px;
  }

  .rotary-hero-btn {
    min-height: 46px;
    padding: 0 22px;
  }

  .rotary-hero-wheel-wrap {
    display: none;
    flex: none;
    width: 100%;
    justify-content: flex-start;
    padding-right: 0;
    margin-top: 4px;
    transform: translateX(18px);
  }

  .rotary-hero-wheel {
    max-width: 90px;
  }
}

/* ===== Remove whitespace around hero ===== */

/* Kill outer spacing */
.band-wrapper:has(.rotary-hero-custom),
.band-wrapper:first-child {
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove container width restriction */
.band-wrapper:has(.rotary-hero-custom) .container,
.band-wrapper:first-child .container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Remove row spacing */
.band-wrapper:has(.rotary-hero-custom) .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove widget box padding */
.PageWidget:has(.rotary-hero-custom),
.boxContainer1NoFrameNoBorder:has(.rotary-hero-custom) {
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove inner padding */
.PageWidget .boxContentCon1:has(.rotary-hero-custom),
.WidgetNoBorder:has(.rotary-hero-custom) {
  padding: 0 !important;
}

/* Ensure hero truly fills */
.rotary-hero-custom {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

/* Target your exact logo */
#bodyContent 
.navbar-fixed-top.banner-live-text.fixed-navbar.shrink-navbar 
.navbar-header a img {
  transition: filter 0.25s ease;
}

.navbar-fixed-top.banner-live-text.fixed-navbar.shrink-navbar .navbar-header > a > img {
  filter: brightness(1.5) contrast(1.15) !important;
  transition: filter 0.25s ease !important;
}
