/* used for loading new activity or page conent */
.ajax-loader-div {
    display: none;
    z-index: 999;
}
body.wait, body.wait *{
    cursor: wait !important;   
}
/* error and information classes */
.info, .success, .warning, .error, .okmsg, .errmsg  {
    border: 1px solid;
    margin: 15px 0px;
    width: 50em;
    padding:15px 20px 15px 55px;	
    font: bold 12px verdana;
    -moz-box-shadow: 0 0 5px #888;
    -webkit-box-shadow: 0 0 5px#888;
    box-shadow: 0 0 5px #888;
    text-shadow: 2px 2px 2px #ccc;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}
.info {
    color: #00529B;
    background: #BDE5F8 url('/img/info.png') no-repeat 10px center;
}
.success, .okmsg {
    color: #4F8A10;
    background: #DFF2BF url('/img/ok.png') no-repeat 10px center;
}
.warning {
    color: #9F6000;
    background: #FEEFB3 url('/img/warning.png') no-repeat 10px center;
}
.error, .errmsg {
    color: #D8000C;
    background: #FFBABA;
}
.clgreen { color: #008800; }
.clred { color: #DD0000; }
.clgrey { color: #AAA; }

.smallest { font-size: 9px; }

.alert {
    margin: 7px 5px;
    text-align: center; 
}
.alert, .alert a, .alert a:link, .alert a:visited, .alert a:hover {
    font-weight: bold; color: red;
    text-decoration: none;
}

/* special half height paragraph formating */
.half {
    margin-top:-3px;
}

.transparent {
    opacity: 0;
    cursor: pointer;
}
.transparent:hover {
    opacity: .15;
}

.cell35 {
    padding: 10px 15px 0 0;
}

.chapter-indent {
    display: block;

}

.chapter-indent:hover {
    background-color: #b1d1a1;
    color: #3b6326;
}

.chapter-indent:active {
    background-color: #8bd5e2;
    -webkit-filter: none;
    filter: none;
}

.padding-bottom-20{
    padding-bottom: 20px;
}

.margin-bottom-20{
    margin-bottom: 20px;
}

.ajax-button{
    cursor: pointer;
}

/* added to force long file names to fit the document text area */
.small-txt {
    word-wrap:break-word;
}

/* added for skills inventory checks */
.unlink-checkbox {
    cursor: pointer;
}
.career-text-1 {
    line-height: 1em;
}
.backup-columns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 20%;
    padding: 5px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.hidden {
    display:none;
}

div.message.error {
    color: #D8000C;
    background: #FFBABA url('/img/error.png') no-repeat 10px center;
    z-index: 9999;
}
div.message.error {
    background-color: #C3232D;
    color: #FFF;
    z-index: 9999;
}
.error-message.place {
  margin-top: 80px;
}
.username-popup {
    position: relative;
    display: none;
    overflow: hidden;
    max-width: 500px;
    padding: 10%;
    background-color: #fff;
}
/* added for store purchases */
.purchase-icon {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 200px;
    height: 200px;
    margin-right: 5px;
    margin-bottom: 15px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border: 5px solid #fff;
    border-radius: 3px;
    background-color: #000;
    background-image: url('/img/bookicon.jpg');
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 1px 1px 1px #aaa;
    -webkit-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.purchase-icon:hover {
    -webkit-transform: translate(0px, -10px);
    -ms-transform: translate(0px, -10px);
    transform: translate(0px, -10px);
}
.purchase-link {
    position: absolute;
    width: 200px;
    height: 200px;
}
/*added purchase to the menu */
.nav-menu-3 {
    width: auto;
}

@import url('ionicons.min.css');
@import url('fonts-local.css');


.position {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 100vh;
}
.snip1214 {
  font-family: 'Raleway', Arial, sans-serif;
  color: #000000;
  text-align: center;
  font-size: 17px;
  width: 100%;
  max-width: 1000px;
  margin: 40px 10px;
}
.snip1214 .plan {
  margin: 0;
  width: 25%;
  position: relative;
  float: left;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

.plan:hover .plan-features li {
  color: white;
}

.plan:hover .plan-cost .plan-type {
  opacity: 1.0;
}


.plan:hover .snip1214 .plan-features li:nth-child(even) {
  background: rgba(0, 0, 0, 0.55);
}


.plan:hover .plan-features span {
  color: white;
}

.snip1214 .plan:hover {
  -webkit-transform: scale(1.06);
	-ms-transform: scale(1.06);
	-o-transform: scale(1.06);
	transform: scale(1.06);
  margin-top: -10px;
  background-color: #265891;
  color: #ffffff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.snip1214 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.snip1214 header {
  position: relative;
}
.snip1214 .plan-title {
  position: relative;
  top: 0;
  font-weight: 800;
  padding: 5px 15px;
  font-size: 18px;
  margin: 0 auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: 0;
  display: inline-block;
  background-color: #2d9d05;
  color: #ffffff;
  text-transform: uppercase;
}
.snip1214 .plan-cost {
  padding: 0px 10px 20px;
}
.snip1214 .plan-price {
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 800;
  font-size: 2.4em;
  color: #34495e;
}
.snip1214 .plan-type {
  opacity: 0.6;
}
.snip1214 .plan-features {
  padding: 0;
  margin: 0;
  text-align: center;
  list-style: outside none none;
  font-size: 0.8em;
}
.snip1214 .plan-features li {
  border-top: 1px solid #d2d7e2;
  padding: 10px 5%;
}
.snip1214 .plan-features li:nth-child(even) {
  background: rgba(0, 0, 0, 0.08);
}
.plan:hover .plan-features li:nth-child(even) {
  background: rgba(0, 0, 0, 0.2);
}
.snip1214 .plan-features i {
  margin-right: 8px;
  opacity: 0.4;
}
.snip1214 .plan-select {
  border-top: 1px solid #d2d7e2;
  padding: 10px 10px 0;
}
.snip1214 .plan-select a {
  background-color: #244874;
  color: #ffffff;
  text-decoration: none;
  padding: 0.5em 1em;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  font-weight: 800;
  text-transform: uppercase;
  display: inline-block;
}
.snip1214 .plan-select a:hover {
  background-color: #46627f;
}
.snip1214 .featured {
  margin-top: -10px;
  background-color: #34495e;
  color: #ffffff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.snip1214 .featured .plan-title,
.snip1214 .featured .plan-price {
  color: #ffffff;
}
.snip1214 .featured .plan-cost {
  padding: 10px 10px 20px;
}
.snip1214 .featured .plan-features li {
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
.snip1214 .featured .plan-select {
  padding: 20px 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
@media only screen and (max-width: 767px) {
  .snip1214 .plan {
    width: 50%;
  }
  .snip1214 .plan-title,
  .snip1214 .plan-select a {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .snip1214 .plan-cost,
  .snip1214 .featured .plan-cost {
    padding: 20px 10px 20px;
  }
  .snip1214 .plan-select,
  .snip1214 .featured .plan-select {
    padding: 10px 10px 10px;
  }
  .snip1214 .featured {
    margin-top: 0;
  }
}
@media only screen and (max-width: 440px) {
  .snip1214 .plan {
    width: 100%;
  }
}
/* Defalut to show error for no javascript enabled */
/* Show the no-JavaScript message */
noscript {
    text-align: center;
    font-size: 18px;
    padding: 10px;
    background-color: #f8d7da;
    color: #721c24;
    max-width:450px;
}
.members {
    display: none;
}

/* —— Home upgrade banner: stack above fixed .navbar from activities.css (top:0) —— */
body.has-public-upgrade-banner {
    --public-upgrade-banner-stack-height: 3.75rem;
}
@media (max-width: 480px) {
    body.has-public-upgrade-banner {
        --public-upgrade-banner-stack-height: 5.25rem;
    }
}
body.has-public-upgrade-banner .home-upgrade-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--public-upgrade-banner-stack-height);
    color: #fff;
}
body.has-public-upgrade-banner .navbar.public-navbar {
    top: var(--public-upgrade-banner-stack-height);
}

/* —— Public layout: Bootstrap 5 navbar + auth modals (replaces Webflow JS) —— */
/* Do not override activities.css .navbar background/graphics; public bar uses same .navbar styles as Webflow. */
.public-nav-container {
    max-width: 1200px;
}
.public-nav-brand {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.public-nav-toggler {
    border: none;
    padding: 0.5rem;
}
.public-nav-toggler:focus {
    box-shadow: none;
}
/* Light icon on dark header (Bootstrap default SVG is dark) */
.public-nav-toggler .navbar-toggler-icon {
    filter: invert(1) brightness(1.2);
}
.public-nav-links .nav-link-public {
    font-family: Montserrat, sans-serif;
    color: #fff;
    font-weight: 500;
    padding: 0.75rem 1rem;
}
.public-nav-links .nav-link-public:hover {
    color: #a3cd39;
}
.public-register-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    line-height: 1.1;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}
.public-register-btn__label {
    display: block;
}
.hero-button-sub {
    display: block;
    font-size: 0.45em;
    line-height: 1em;
    position: static;
    text-align: center;
}
button.remove-button {
    appearance: none;
    background-color: #a3cd39;
    cursor: pointer;
}
#publicSignInModal.modal,
#publicRegisterModal.modal {
    z-index: 160050;
}
.modal-backdrop {
    z-index: 160040;
}
#publicSignInModal .username-popup {
    position: relative;
    display: none;
    overflow: hidden;
    max-width: 500px;
    padding: 10%;
    background-color: #fff;
}
#publicSignInModal .password-popup,
#publicSignInModal .school-popup,
#publicSignInModal .terms-popup,
#publicSignInModal .activation-popup {
    display: none;
}
#publicSignInModal .login-popup {
    display: block;
}

#publicSignInModal .signin-sso-section {
    margin-top: 1.25rem;
}
#publicSignInModal .signin-sso-label {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #333;
    text-align: center;
}
#publicSignInModal .signin-sso-buttons {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
}
#publicSignInModal .signin-sso-btn-wrap {
    position: relative;
    flex: 0 0 180px;
    width: 180px;
    min-width: 180px;
    max-width: 180px;
}
#publicSignInModal .signin-sso-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    height: 40px;
    padding: 0 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #212529;
    background: #fff;
    border: 2px solid #6c757d;
    border-radius: 0.5rem;
    text-decoration: none;
    line-height: 1.2;
    box-sizing: border-box;
    min-height: 40px;
}
#publicSignInModal a.signin-sso-btn:hover,
#publicSignInModal a.signin-sso-btn:focus {
    text-decoration: none;
    background: #f8f9fa;
    color: #212529;
}
#publicSignInModal .signin-sso-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}
#publicSignInModal .signin-sso-icon img {
    display: block;
    width: 20px;
    height: 20px;
}
#publicSignInModal .signin-sso-gis-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0.01;
    overflow: hidden;
    cursor: pointer;
}
#publicSignInModal .signin-sso-gis-overlay .g_id_signin {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}
#publicSignInModal .signin-sso-gis-overlay .g_id_signin > div {
    width: 100% !important;
    height: 100% !important;
}
#publicSignInModal .signin-sso-gis-overlay iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 40px !important;
}
#publicSignInModal .signin-sso-btn-wrap-google .signin-sso-btn-google {
    pointer-events: none;
}
/*
 * activities.css .popup uses top:50% + translateY(-50%) for the old full-viewport .modal-wrap.
 * Inside Bootstrap 5 .modal-dialog that pulls the card far above the visible area and clips the form.
 */
#publicSignInModal .popup,
#publicRegisterModal .popup {
    top: auto;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
    align-items: stretch;
    justify-content: center;
}
#publicSignInModal .modal-dialog {
    max-width: 860px;
}
#publicRegisterModal .modal-dialog {
    max-width: 640px;
}

/*
 * activities.css .hero-wrapper { position:absolute } targets the old Webflow hero slider.
 * Inside Bootstrap .carousel-item that removes slides from normal flow and breaks cycling/layout.
 */
#publicHeroCarousel .hero-wrapper {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    z-index: auto;
    padding: 1rem 0;
    min-height: 180px;
}
#publicHeroCarousel .carousel-inner {
    min-height: 500px;
}
@media (min-width: 768px) {
    #publicHeroCarousel .carousel-inner {
        min-height: 650px;
    }
}
#publicHeroCarousel .carousel-item {
    padding: 0;
    min-height: 500px;
}
@media (min-width: 768px) {
    #publicHeroCarousel .carousel-item {
        min-height: 650px;
    }
}

/* Full-bleed layer for activities.css .slide-1 / .slide-2 / .slide-3 backgrounds (not on .w-container). */
#publicHeroCarousel .public-hero-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: 500px;
    box-sizing: border-box;
}
@media (min-width: 768px) {
    #publicHeroCarousel .public-hero-slide {
        min-height: 650px;
    }
}

.accordion-generic-wrapper .accordion-generic-closed {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.55s ease;
}
.accordion-generic-wrapper.public-accordion-open .accordion-generic-closed {
    max-height: 3200px;
}
.accordion-generic-wrapper.public-accordion-open .accordion-generic .arrow {
    transform: rotate(90deg);
    transition: transform 0.35s ease;
}
.accordion-generic-wrapper .accordion-generic .arrow {
    transition: transform 0.35s ease;
}

/* Shop / legacy templates written for Bootstrap 3 (public layout now uses BS5) */
.panel {
    margin-bottom: 1.25rem;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-heading {
    padding: 0.625rem 0.9375rem;
    border-bottom: 1px solid #ddd;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    background-color: #f5f5f5;
}
.panel-title {
    margin: 0;
    font-size: 1rem;
}
.panel-body {
    padding: 0.9375rem;
}
.pull-right {
    float: right !important;
}
.btn-default.btn-primary {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd;
}