

/* Explicitly hide the Wild Apricot footer markup on every layout. */
#idFooterPoweredByContainer,
#idFooterPoweredByWA {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
/* Align the separate Continue shopping gadget with centered store content. */

/* Remove Wild Apricot branding from every page layout. */
#idFooterPoweredByWA, #idFooterPoweredByContainer, .zoneBrandingOuter { display: none !important; }

/* Add breathing room below Continue shopping before the footer navigation. */
.mLayout.rnvryc-site.rnvryc-public .rnvryc-main:has([class*="OnlineStore"]) > .WaPlaceHolderContent > div > .WaGadgetLast.WaGadgetContent { padding-bottom: 40px; margin-bottom: 32px; }
@media (max-width: 900px) {
  .mLayout.rnvryc-site.rnvryc-public .rnvryc-main:has([class*="OnlineStore"]) > .WaPlaceHolderContent > div > .WaGadgetLast.WaGadgetContent { padding-bottom: 32px; margin-bottom: 24px; }
}

.mLayout.rnvryc-site.rnvryc-public .rnvryc-main:has([class*="OnlineStore"]) > .WaPlaceHolderContent > div > .WaGadgetLast.WaGadgetContent {
  box-sizing: border-box; width: 60%; max-width: 1000px; margin: 24px auto 0;
}
@media (max-width: 900px) {
  .mLayout.rnvryc-site.rnvryc-public .rnvryc-main:has([class*="OnlineStore"]) > .WaPlaceHolderContent > div > .WaGadgetLast.WaGadgetContent { width: 100%; }
}


/* Match the Data Privacy Policy page to the current RNVRYC page template. */
#main:has(a[name="when-do-we-collect"]) #id_Content {
  background: #f4f1eb;
  padding-bottom: 80px;
  color: #17263a;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadgetFirst {
  box-sizing: border-box;
  width: 100vw;
  max-width: none;
  margin: 0 0 72px calc(50% - 50vw) !important;
  padding: 120px max(5vw, calc((100vw - 1280px)/2)) 82px;
  background: #0b1
  
  /* Hide Wild Apricot footer branding on the login page only. */
  body#PAGEID_1825490 #idFooterPoweredByContainer { display: none !important; }
  92d;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadgetFirst p {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
  text-align: left !important;
  color: #fff;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(48px, 7vw, 88px) !important;
  font-weight: 400;
  line-height: 1.02;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadgetFirst p > font {
  font-size: inherit !important;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadgetFirst p > font > strong > font {
  display: block;
  margin-bottom: 18px;
  color: #e4bf58;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) {
  box-sizing: border-box;
  width: min(820px, calc(100% - 48px));
  max-width: 820px;
  margin: 0 auto 40px !important;
  padding: 0 0 42px;
  border-bottom: 1px solid rgba(12, 32, 57, .14);
  background: transparent !important;
  color: #58616b;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.8;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) p {
  margin: 0 0 18px;
  color: #58616b;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.8;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) h2,
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) p > strong > font {
  display: block;
  margin: 0 0 20px;
  color: #17263a !important;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(30px, 4vw, 46px) !important;
  font-weight: 400;
  line-height: 1.12;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) h3 {
  margin: 30px 0 10px;
  color: #17263a;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 25px;
  font-weight: 400;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) a {
  color: #17263a;
  text-decoration-color: #b12e42;
  text-underline-offset: 3px;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) ul {
  padding-left: 24px;
}
#main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadgetLast {
  border-bottom: 0;
}
@media (max-width: 700px) {
  #main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadgetFirst {
    margin-bottom: 48px !important;
    padding: 90px 24px 56px;
  }
  #main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) {
    width: calc(100% - 40px);
    margin-bottom: 28px !important;
    padding-bottom: 30px;
  }
  #main:has(a[name="when-do-we-collect"]) #id_Content > div > .WaGadget:not(.WaGadgetFirst) p {
    font-size: 15px;
  }
}


/* Match Wild Apricot authorization screens to the RNVRYC site template. */
#mLayout:has(#idLoginForm) {
  background: #f4f1eb;
  color: #17263a;
  font-family: "DM Sans", Arial, sans-serif;
}
#mLayout:has(#idLoginForm) .zoneHeaderOuter,
#mLayout:has(#idLoginForm) .zoneHeader1Outer {
  background: #0b192d;
}
#mLayout:has(#idLoginForm) .zoneHeaderOuter { height: 86px; }
#mLayout:has(#idLoginForm) #id_Header {
  width: min(1200px, 100%);
  height: 86px;
  margin: 0 auto;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst {
  width: 100%;
  height: 86px;
  margin: 0 !important;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst .gadgetStyleBody {
  height: 86px;
  box-sizing: border-box;
  padding: 0 28px !important;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p {
  display: flex;
  height: 86px;
  align-items: center;
  gap: 16px;
  margin: 0;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst img {
  content: url("/resources/RNVRYC/assets/rnvryc-logo.png");
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst br { display: none; }
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p::after {
  content: "ROYAL NAVAL VOLUNTEER RESERVE YACHT CLUB";
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetLoginButton { display: none; }
#mLayout:has(#idLoginForm) .zoneHeader1Outer { height: 60px; }
#mLayout:has(#idLoginForm) #id_Header1 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#mLayout:has(#idLoginForm) #id_Header1 .WaGadgetMenuHorizontal { margin: 0 !important; }
#mLayout:has(#idLoginForm) #id_Header1 .stickness { width: 100% !important; }
#mLayout:has(#idLoginForm) #id_Header1 .menuBackground { background: #0b192d; }
#mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(12px, 2.2vw, 30px);
  padding: 0 28px;
  box-sizing: border-box;
}
#mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel > li > .item > a {
  color: #fff !important;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel > li > .
ul.firstLevel > li > .item > a:hover { color: #e4bf58 !important; }
/* Hide Wild Apricot footer branding across the whole site. */
#idFooterPoweredByContainer { display: none !important; }

#mLayout:has(#idLoginForm) .zoneHeader2Outer { background: #f4f1eb; }
#mLayout:has(#idLoginForm) #id_Header2 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 72px;
  background: transparent;
}
#mLayout:has(#idLoginForm) #id_Header2 > div { padding: 0 !important; }
#mLayout:has(#idLoginForm) #id_Header2 > div > .WaGadgetFirst,
#mLayout:has(#idLoginForm) #id_Header2 > div > .WaGadgetLoginButton { display: none; }
#mLayout:has(#idLoginForm) #id_Header2::before {
  content: "Member sign in";
  display: block;
  box-sizing: border-box;
  width: 100vw;
  margin: 0 0 48px calc(50% - 50vw);
  padding: 50px max(5vw, calc((100vw - 1200px)/2));
  background: #0b192d;
  color: #fff;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(42px, 6vw, 68px);
  line-height: 1;
}
#mLayout:has(#idLoginForm) #id_Header2 .WaGadgetAuthorizationRequired {
  display: flex;
  width: min(900px, calc(100% - 48px));
  min-height: 300px;
  margin: 0 auto !important;
  padding: 42px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  border: 1px solid rgba(12, 32, 57, .1);
  box-shadow: 0 18px 48px rgba(12, 32, 57, .08);
}
#mLayout:has(#idLoginForm) #idLoginForm {
  color: #17263a;
  font-family: "DM Sans", Arial, sans-serif;
}
#mLayout:has(#idLoginForm) #idLoginForm :where(span, label, a) { font-family: "DM Sans", Arial, sans-serif; }
#mLayout:has(#idLoginForm) #idLoginForm input:not([type="checkbox"]):not([type="submit"]) {
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid #c8cdd2;
  border-radius: 0;
  background: #fff;
  font: 16px "DM Sans", Arial, sans-serif;
}
#mLayout:has(#idLoginForm) #idLoginForm input[type="submit"],
#mLayout:has(#idLoginForm) #idLoginForm button {
  min-height: 46px;
  padding: 12px 22px;
  border: 0;
  border-radius: 0;
  background: #b12e42;
  color: #fff;
  font: 700 14px "DM Sans", Arial, sans-serif;
}
#mLayout:has(#idLoginForm) #idLoginForm a { color: #17263a; }
#mLayout:has(#idLoginForm) .zoneFooter1Outer { background: #0b192d; }
#mLayout:has(#idLoginForm) #id_Footer1 {
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 12px 28px;
  box-sizing: border-box;
  color: #fff;
}
#mLayout:has(#idLoginForm) #id_Footer1 > div > .WaGadgetFirst { background: transparent !important; }
@media (max-width: 700px) {
  #mLayout:has(#idLoginForm) .zoneHeaderOuter,
  #mLayout:has(#idLoginForm) #id_Header,
  #mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst,
  #mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst .gadgetStyleBody,
  #mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p { height: 74px; }
  #mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst .gadgetStyleBody { padding: 0 18px !important; }
  #mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst img { width: 48px; height: 48px; }
  #mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p::after { max-width: 220px; font-size: 9px; line-height: 1.5; }
  #mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel { justify-content: flex-start; gap: 10px; overflow-x: auto; padding: 0 14px; }
  #mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel > li > .item > a { font-size: 10px; }
  #mLayout:has(#idLoginForm) #id_Header2::before { margin-bottom: 30px; padding: 38px 22px; }
  #mLayout:has(#idLoginForm) #id_Header2 .WaGadgetAuthorizationRequired { width: calc(100% - 32px); min-height: 0; padding: 24px 18px; }
}

/* Login template contrast and brand mark refinements. */
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p { justify-content: flex-start; text-align: left !important; }
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst img { display: none; }
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p::before {
  content: "";
  display: block;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  background: url("/resources/RNVRYC/assets/rnvryc-logo.png") center / contain no-repeat;
}
#mLayout:has(#idLoginForm) #id_Header1,
#mLayout:has(#idLoginForm) #id_Header1 .stickness,
#mLayout:has(#idLoginForm) #id_Header1 .menuInner,
#mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel,
#mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel > li {
  background: #0b192d !important;
}
#mLayout:has(#idLoginForm) #id_Header1 .menuBackground { display: none; }
#mLayout:has(#idLoginForm) #id_Header1 .menuInner > ul.firstLevel { justify-content: flex-end; }

/* Use the existing Wild Apricot banner image as a tightly cropped crest in the login header. */
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst img {
  content: normal !important;
  display: block;
  width: 58px;
  height: 58px;
  object-fit: cover;
  object-position: left center;
}
#mLayout:has(#idLoginForm) #id_Header .WaGadgetFirst p::before { display: none; }

/* Keep all native identity-provider choices legible in the new sign-in card. */
#mLayout:has(#idLoginForm) .wa-authenticateLoginLink {
  display: flex;
  width: 190px;
  min-height: 46px;
  box-sizing: border-box;
  align-items: center;
  border: 1px solid #d5d7da !important;
  border-radius: 0 !important;
  background: #f8f7f3 !important;
  color: #17263a !important;
}
#mLayout:has(#idLoginForm) .wa-authenticateLoginText {
  color: #17263a !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
