/**
 * @file
 * custom.css
 * 
 * Layout and Theme styles for the entire site
 * 
 * -------------------------------------------------
 * Attached thru `.info.yml`
 *
 ============================================================================ */


/**
 * Minimal Bootstrap css for bootstrap modal
 ========================================*/
 
/* Modal background */
.modal-backdrop {
  /*position: fixed;*/
  /*top: 0;*/
  /*left: 0;*/
  /*width: 100%;*/
  /*height: 100%;*/
  /*background: #F1EDE7;*/
  /*z-index: 9998;*/
}

/* Modal wrapper */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  overflow: auto;
}

/* Show modal */
.modal.show {
  display: block;
}

/* Modal dialog */
.modal-dialog {
  max-width: 700px;
  margin: 4rem auto;
  /*padding: 1rem;*/
}

/* Modal content */
.modal-content {
  background: #F1EDE7;
  border-radius: 12px;
  /*padding: 2rem;*/
}

/* FULLSCREEN mode */
.modal-fullscreen.modal-dialog {
  width: 100%;
  height: 100%;
  margin: 0; /* no margins → true fullscreen */
  display: flex;
  max-width: 100%;
  padding: 0;
}

.modal-fullscreen .modal-content {
  width: 100%;
  height: 100%;
  border-radius: 0; /* fullscreen usually has no rounding */
  overflow-y: auto; /* scrollable vertically */
  overflow-x: hidden;
  background: #F1EDE7; /* or your theme color */
  /*padding: 2rem; */
}

/* Make content scrollable inside */
.modal-fullscreen .modal-body {
  height: 100%;
  overflow-y: visible;
}

.modal.fade {
  opacity: 0;
  transition: opacity 0.1s ease;
}

.modal.fade.show {
  opacity: 1;
}




/**
 * Global
 ========================================*/

h1,h2,h3,h4,h5,h6,body {
  font-family: "Nunito Sans", 'Roboto', Arial, sans-serif;
}
body {
  line-height: 1.5;
  font-size: 16px;
  color: #2D3959;
}
.page {
    display: flex;
    flex-direction: row;
}
.page__body {
    width: 100%;
}
.header {
    background: #445172;
    color: white;
    display: flex;
    flex-direction: column;   
    align-items: center;
    z-index: 1;
}

h1 {
    font-size: 56px !important;
    font-weight: 700 !important;
    line-height: 120%;
}
h2 {
    font-size: 48px !important;
    font-weight: 700 !important;
    line-height: 120%;
}
h3 {
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 120%;
}
h4 {
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 130%;
}
h5 {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 140%;
}
h6 {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 140%;
}
.flex_col {
    display: flex;
    flex-direction: column;
}
.items_center {
    align-items: center;    
}
.text_center {
    text-align: center;
}
.absolute {
    position: absolute;
}
.w_full {
    width: 100%;
}
.h_full {
    height: 100%;
}
.t_0 {
    top: 0;
}
.b_0 {
    bottom: 0;
}
.l_0 {
    left: 0;
}
.r_0 {
    right: 0;
}
.relative {
    position: relative;
}

.main-content,
.main {
    background: #F1EDE7;
}
.main {
    overflow-x: hidden;
}
.main-inner {
    width: 100%;
    max-width: 100%;    
    padding: 0;
}
footer {
    color: #FFF;
    background: #445172;
    width: 100%;
}

.link__group {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}
.link__button {
    padding: 12px 16px;
    border-radius: 35px;
    width: fit-content;
}
.link__primary {
    background: #A0BCBA;
}
.link__primary a {
    color: #1D2435;
}

.link__secondary {
    background: #FFF;
    border: 2px solid #2D3959;
    box-sizing: border-box;
}
.link__secondary a {
    color: #2D3959;
}
.link__plain {
    display: flex;
    flex-direction: row;
    gap: 8px;
    color: #445172;
}
.link_url:after {
    content: url('../images/arrow-circle-right.svg');
    width: 24px;
    height: 24px;
}
.link_download:after {
    content: url('../images/icon_link_download.svg');
    width: 24px;
    height: 22px;
}

.gap_24 {
    gap: 24px;
}
.gap_64 {
    gap: 64px;
}

.p_x_default {
    padding-left: 64px;
    padding-right: 64px;
}
.p_y_default {
    padding-top: 112px;
    padding-bottom: 112px;
}

.content-inner {
    position: relative;
    display: flex;
    flex-direction: column;
}

/**
 * Regions
 ========================================*/

/**
 * Responsive
 ========================================*/
 @media screen and (min-width: 900px) {

  .layout-sidebar {
    width: 21em;
    min-width: 21em;
    opacity: .9;
    margin-left: 2em;
  }
}


/*nav*/
/*//////////////*/
/*/////////////////////*/
.header-inner {
    padding: 40px 20px;
}
#block-letsgo-mainnavigation ul.menu {
    display: flex;
    flex-direction: column;
    gap: 40px
}
#superfish-main {
    width: fit-content;
    margin: auto;
}
#block-letsgo-mainnavigation ul li,
#block-letsgo-mainnavigation ul li a {
    width: fit-content;
    padding: 0;
}
.menu-bar {
    width: 194px;
    height: 100vh;
}
.menu-bar .site-branding {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.menu-bar-inner {
    position: fixed;    
}
.menu-bar #block-letsgo-sitebranding {
    margin-bottom: 80px;
}
/*.menu-bar #block-letsgo-mainnavigation {*/
/*    margin-bottom: 100px;*/
/*}*/

/*banner*/
/*////////////////*/
/*///////////////////*/
.banner {
    width: 100%;
}

/*home banner*/
.banner__home {
    height: 960px;
    display: flex;
    margin: auto;
}
.banner__home h1 {
    font-size: 72px !important;
    font-weight: 900 !important;
    line-height: 84%;
}
.banner__home .banner_content {
    gap: 60px;
    position: relative;
    bottom: 0;
    padding: 0 60px 120px 60px;
    width: 100%;
    align-self: flex-end;    
}
.banner__home h1 .field__item {
    display: flex;
    flex-direction: column;    
}
.banner__home h1 .field__item span:nth-child(2) {
    font-family: "Nothing You Could Do", cursive;
    color: #C1805A;
}
.banner__home .banner_img {
    z-index: 1;
}
.banner__home .banner_img:nth-child(1) {
    left: 460px;
    top: 70px;
}
.banner__home .banner_img:nth-child(2) {
    top: 437px;
    right: 108px;
}
.banner__home .banner_deco {
    left: 327px;
    top: 84px;
    z-index: 0;
}
.banner_deco {
    width: 100%;
    height: 100%;
}
.banner_deco img {
    position: absolute;
}
/*banner default (based on about)*/
.banner {
    display: flex;
    flex-direction: row;
    gap: 85px;
    align-items: center;
    padding: 100px 0;
}
.banner_default {
    padding: 100px 100px;
}
.banner_default_text {
    text-align: center;
    max-width: 372px;
    gap: 24px;
}
.banner_default_text p {
    margin: 0 !important;
}

/*other banner*/
.banner__claims {
    height: 743px;
}
.banner__claims .banner_image__main {
    left: 74px;
    top: 70px;
}
.banner__claims .banner_image__side {
    right: 200px;
    top: 130px;    
}
.banner_content,
.banner_deco,
.banner_graphic,
.contact_options__contact {
    opacity: 0;
}

.banner__contact {
    height: 964px;
}


.block__linkdesc_container {
    padding-top: 96px;
}
.block__linkdesc {
    max-width: 635px;
    margin: auto;
}
.block__linkdesc p {
    margin-bottom: 0 !important;
}

.block__content_hub {
    gap: 85px;
}
.block__3grid_hub {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    max-width: 1086px;
    width: 100%;    
}
.block__content_hub .link__button {
    width: fit-content;
    margin: auto;
}
.block__content_teaser_frame,
.block__persuvasive_text_frame,
.img_frame {
    border: 4px solid #87A1B8;
}
.img_frame_m {
    margin: 10px;
}
.banner_default .img_frame_m {
    margin: 20px;
}
.deco_teaser {
    top: 0;
    right: 0;
    z-index: 0;
}
.block__content_teaser_body .teaser_main {
    position: relative;
    z-index: 1;
    height: 100%;
    justify-content: space-between;
}
.block__content_teaser_body {
    margin: 10px;
    height: 373px;
    background: #BCD0CF;
    padding: 40px 20px;
}
.teaser_upper {
    gap: 20px
}
.teaser_upper .flex-col {
    gap: 10px;
}
.teaser_main h6 {
    font-size: 18px;
}
.hub_teaser_deco.deco_1 {
    z-index: 1;
    right: 0;
    bottom: 0;    
}
.hub_teaser_deco.deco_2 {
    z-index: 1;
    right: 15px;
    bottom: 20px;    
}
.hub_teaser_grid_deco {
    background: #87A1B8;
    height: 28px;
    z-index: 2;
}

/*persuvasive text*/
.block__persuvasive_text {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-bottom: 176px;
    gap: 44px;
}
.block__persuvasive_text .field__item {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.block__persuvasive_text .field__item p {
    margin-bottom: 0px;
}
.block__persuvasive_text_content {
    gap: 30px;
    max-width: 453px;
}

.block__persuvasive_text_img {
    margin: 10px;
}
.block__persuvasive_quote {
    padding: 28px 12px;
    gap: 28px;
    max-width: 371px;
    width: 100%;
    color: #1F2637;
    background: #F5F5F0;
    border-radius: 8px;
    top: 392px;
    /*right: 257px;*/
    left: 570px;
    font-family: "Nothing You Could Do", cursive;;
}
.block__quote_deco {
    left: 1px;
    top: -15px;
}
.block__quote_brick_deco {
    left: 330px;
    bottom: 65px;
}

/*cta*/
.cta,
.cta__home_body {
    width: 100%;
    background: #A3C6C3;
}
.cta {
    margin-top: 112px;
    margin-bottom: 112px;    
}
.cta__home,
.cta__home_body {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.cta__home_body {
    position: relative;
}
.cta__text {
    max-width: 498px;
    gap: 40px;
    left: 64px;
    z-index: 1;
}
.cta__text h2 {
    font-size: 56px;
    line-height: 110%;
    color: #F5F5F0;
    text-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1), 0px 2px 4px rgba(0, 0, 0, 0.06);
}
.cta__text h2 span {
    font-size: 72px;
    color: #2D3959;
    font-family: "Nothing You Could Do", cursive;;
}
.cta__text p {
    margin: 0 !important;
}
.cta_deco_featured {
    right: 20px;
    bottom: 40px;
}
.cta__home .cta_deco_wind {
    right: 115px;
    bottom: 195px;
}
.cta_deco {
    max-height: 499px;
    top: 0;
}
@media (max-width: 1560px) {
    .cta__home_body {
        width: 100%;
        max-width: 100%;        
    }
}
@media (min-width: 1440px) {
    .cta,
    .field-paragraph--field-cta-background {
        width: 100%;
        max-width: 100%;
    }
    .cta img {
        width: 100%;
        max-height: 499px;
        object-fit: cover;        
    }
}


/*story block*/
.block__story {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 21px;
}
.block__story_text {
    max-width: 445px;
    gap: 20px;
}
.block__story_p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;    
}
.story__deco {
    top: 0;
}
.story__deco.about {
    right: 0;
}
.story__deco img {
    max-height: 397px;
}


/*sponsors*/
.field-paragraph--field-logo-list .field__items {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    align-items: center;
    padding: 96px 132px;
    gap: 64px;
}
.field-paragraph--field-logo-list .field__items .field__item {
    justify-self: center;
}
.field-paragraph--field-logo-list .field__item .field__items {
    display: block;
    padding: 0;
}


/*community involvement*/
.img__photo_frame {
    padding: 30px 25px 135px 25px;
    background: white;
    box-shadow: 7.1663px 7.1663px 14.3326px rgba(0, 0, 0, 0.04), 0.71663px 0.71663px 14.3326px 2.86652px rgba(0, 0, 0, 0.04);
}
.img__photo_frame img {
    width: 333.36px;
    height: 333.36px;
}


/*contact page webform*/
.contact-detail__contact-page {
    position: absolute;
    top: 680px;
    max-width: 100%;
    align-self: center;
}
.office-hour__long tbody {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.office-hour__long table,
.office-hour__long tbody {
    width: 207px; 
}
.office-hour__long tr {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
}
.field-node--webform {
    padding: 64px;
    padding-bottom: 112px;
}
.field-node--webform form {
    margin: auto;
    max-width: 772px;
    gap: 24px;
}
.js-form-type-textfield input,
.js-form-type-email input,
.js-form-type-textarea textarea{
    width: 100%;
}



/*about staff list*/
.staff-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 44px;
    max-width: 1078px;
    padding: 112px 64px;
    margin: auto;
    opacity: 0;
}
.staff-list .views-field,
.staff-card {
    height: 100%;
}
.staff-list .view-content.view-rows {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}



/*staff modal*/
.staff-modal {
    opacity: 0;
}
.staff-modal__name,
.tape-deco {
    transform: rotate(-11deg);
    font-family: "Nothing You Could Do", cursive;
    font-size: 40px;
}
.staff-modal__photo {
    position: relative;
    flex-shrink: 0;
    padding: 10px;
    border: 4px solid #87A1B8;    
}
.staff-modal__photo-deco {
    position: absolute;
    top: 10px;
    right: 10px;
}
.staff-modal__photo .field__item img {
    width: 400px;
    height: 500px;
    object-fit: cover;
    /*padding: 10px;*/
    /*border: 4px solid #87A1B8;*/
}
.staff-modal__phone,
.staff-modal__email {
    font-weight: 700;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;    
}
.staff-modal__phone:before {
    content: url('../images/icon-call__lg.svg');
    width: 48px;
    height: 42px;
}
.staff-modal__email:before {
    content: url('../images/icon-email__lg.svg');
    width: 48px;
    height: 39px;    
}



/*forms*/
.webform-submission-staff-contact-form-form {
    
}
.field-node--field-staff-contact-form {
    width: 712px;    
}

.webform-submission-form {
    display: flex;
    flex-direction: column;
    gap: 40px;    
}
.field-node--webform form,
.js-form-type-textfield,
.js-form-type-textarea,
.js-form-type-email,
.js-form-type-tel,
fieldset {
    display: flex;
    flex-direction: column;
    /*gap: 8px;*/
}
.field-node--webform form label,
.js-form-type-textfield label,
.js-form-type-textarea label,
.js-form-type-email label,
.js-form-type-tel label,
fieldset legend {
    margin-bottom: 8px;
}
.js-form-type-textfield input,
.js-form-type-email input,
.js-form-type-tel input,
.js-form-type-textarea textarea {
    background: none;
    border: 1px solid #2D3959;
    border-radius: 4px;
    padding: 12px;
}

fieldset input {
    border: 1px solid #1D2435;
    border-radius: 1px;
    width: 18px;
    height: 18px;
    background: none;
}
.js-form-type-checkbox {
    display: flex;
    flex-direction: row;
    gap: 8px;     
    align-items: center;
}

.js-webform-checkboxes {
    display: flex;
    flex-direction: row;
    gap: 20px;    
}

.form__submission button,
.form__submission input,
.staff-modal__button {
    cursor: pointer;
}

.form__email,
.form__number {
    position: relative;
}
.form__email:before {
    position: absolute;
    content: url('../images/icon-email.svg');
    width: 20px;
    height: 16px;
    top: 49px;
    left: 14px;
}
.form__email input,
.form__number input {
    padding-left: 48px;    
}
.form__number:before {
    position: absolute;
    content: url('../images/icon-call.svg');
    width: 20px;
    height: 18px;
    top: 48px;
    left: 14px;    
}


/*claim connect*/
.quote {
    padding: 8px 16px;
    border-left: 3px solid #2D3959;
}
.connect-card {
    max-width: 529px;
    width: 100%;
    flex-shrink: 0;
    border: 3px solid #87A1B8;
}
.connect-card p,
.connect-card span {
    font-size: 20px;
}
.connect-card__container {
    gap: 24px;
    padding: 20px; 
    height: 389px;
    justify-content: center;
}
.connect-card__during-hour {
    
}
.connect-card__number {
    border: 3px solid #2D3959;
    background: #F5F5F0;
    border-radius: 8px;
    align-items: center;
    padding: 12px 30px;
}
.connect-card .connect-card__number span {
    font-size: 32px;
    color: #A95136;
    font-weight: 700;
}
.connect-card__title {
    font-size: 24px !important;
}
.connect-card-collection {
    margin: auto;
    padding: 112px 64px;
}
.connect-card-collection .connect-card-collection__container {
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.connect-card-collection .connect-card-collection__item {
    flex-shrink: 0;
}
.connect-card__after-hour-num {
    color: #A95136;
    font-size: 18px;
}

.tape-deco__claims {
    bottom: 20px;
    left: -25px;
    opacity: 0;
}
.tape-deco__relax {
    top: -10px;
    left: 40px;
    opacity: 0;    
}
.block__story_claim .img_frame {
    max-width: 400px;
}
.block__story_claim .img_frame img {
    height: 480px;
    object-fit: cover;
}
.block__story_claim .block__story_text {
    max-width: 100%;
}

.qa-link a {
    color: #A95136;
}

