* { box-sizing: border-box; margin: 0; padding: 0; }
body {
      /* background: url('https://cbg.rbinnovative.com/PRD/assets/images/donations.jpg') no-repeat center center / cover; */
      min-height: 100vh !important;
    }
/* Hide the Donate to the Garden h1 */
h1[ng-bind-html="viewModel.pageTitle"].ng-binding {
  display: none !important;
}

.obituary-sample {
  font-family: Montserrat, serif;
  width: 100%;
  max-width: 66% !important;
  padding: 30px;
  border: 5px solid #000;
  margin:50px auto;
}

.obituary-sample h3 {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 20px !important;
}

.obituary-sample p {
  font-weight: normal !important;
  line-height: 1.5 !important;
}
.center-text{
  text-align: center !important;
}

.divider{
  width: 100% !important;
  height: 10px!important;
}

.modal .p-all-all{
  padding: 15px !important;
}
    a { text-decoration: none; }
    body .header{
      background-color: #fff;
    }

    .leftNav, .title_content h2, .list-container, .payment-plans-wrapper, #stick-here, .icon_wrap, .memberPortalNavBar {
      display: none !important;
      opacity: 0;
    }

    .p-all-all{
      padding: 0 !important;
      margin: 0 !important;
    }

    .sub-category {
      margin-top: 0px !important;
      margin-bottom: 0px !important;
    }
    
    .viewItems .sub-category {
        display: grid;
        grid-template-columns: 1fr 1px !important;
    }

    .viewItems {
      gap: 0 !important;
      display: unset !important;
    }

    .sub-category .title{
      cursor: default !important;
    }
    .container{
      max-width: 100% !important;
      padding: 0 !important;
    }

    /* Layout */
    .wrapper {
      width: 75% !important;
      display: grid;
      grid-template-columns: 65% 35%;
      gap: 2rem;
      margin: 0 auto !important;
    }

    .wrapper-tributes{
      min-width: 100%;
      width: 100%;
      display: grid;
      grid-template-columns: 60% 40%;
      /* margin-top: 25px!important; */
      /* margin-bottom: 25px!important; */
      padding-bottom: 25px !important;
      padding-top: 25px !important;
      min-height: 55vh;
      /* box-shadow: 0 8px 8px rgba(0,0,0,0.1); */
    }

    .wrapper-tributes:nth-child(odd) {
      grid-template-columns: 60% 40%;
      width: 100% !important;
    }

    .wrapper-tributes:nth-child(even) {
      grid-template-columns: 40% 60%;
      width: 10
      0% !important;
    }

    .wrapper-giving-tuesday{
      min-width: 100%;
      width: 100%;
      display: grid;
      grid-template-columns: 30% 70%;
      gap: 50px !important;
      padding-left: 50px !important;
      padding-right: 50px !important;

    }

    .wrapper-giving-tuesday .donation-form{
      box-shadow:none !important;
    }

    .wrapper-giving-tuesday .donation-form h3{
      font-size: 1.5rem;
      font-weight: 500 !important;

    }

    /* Left section */
    .donation-form{
      background: #fff;
      padding: 1.5rem;
      box-shadow: 0 12px 12px rgba(0,0,0,0.1);
      width: 97% !important;
    }

    .donation-form ul {
      list-style-type: disc !important;
      padding-left: 1.5rem !important;
      padding-right: 1.5rem !important;
    }

    .donation-form ul li {
      margin-top: 0.5rem !important;
      margin-bottom: 0.5rem !important;
    }

    .tribute-left, .tribute-right {
      background: #fff;
      padding: 2rem;
      /* box-shadow: 0 8px 8px rgba(0,0,0,0.1); */
      width: 100% !important;
    }

    .tribute-amount, .tribute-button {
      text-align: right;
    }

    .tribute-button{
      margin-top:10px;
    }

    .side-panels-tributes{
      min-width:100% !important;
    }

    .tributes-donation h2{
      /* text-align: center !important; */
      margin-top:25px;
      font-size: 1.5rem !important;
      border-top: 4px solid #7DD69D;
      padding-top: 25px !important;
    }

    .tributes-donation h3{
      text-align: center !important;
      margin-top:25px;
    }

    .commemorative-brick-welcome-plaza{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/Welcome_Plaza_Brick.jpg') no-repeat bottom right / cover;
      /* background-position: calc(25vw) center !important; */
    }
    
    .commemorative-brick-landscape-garden{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/Commemorative_Brick_Landscape_Garden.png') no-repeat bottom right / cover;
      /* background-position: calc(-37vw) bottom !important; */
    }

    .commemorative-brick-mcginley-path{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/Commemorative_Brick_McGinley_Pavilion_Path.png') no-repeat bottom right / cover;
    }

    .commemorative-brick-rose-garden-path{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/Commemorative_Brick_Rose_Garden.png') no-repeat bottom right / cover;
      /* background-position: calc(-37vw) bottom !important; */
    }

    .bulb-dedication{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/bulbs.jpg') no-repeat bottom right / cover;
    }
    .dedication-cards{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/dedication_cards.jpg') no-repeat center center / cover;
      /* background-position: calc(-25vw) center !important; */
    }

    .tribute-tree{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/tribute_tree_dedication.jpg') no-repeat bottom right / cover;
    }
    .dedication-bench{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/bench.jpg') no-repeat bottom right / cover;
      /* background-position: calc(-25vw) center !important; */
    }

    .tribute-areas{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/tribute_areas.jpeg') no-repeat center center / cover;
    }

    .library-book{
      background: url('https://cbg.rbinnovative.com/PRD/assets/images/Library_Book_Dedication_v5.jpg') no-repeat bottom center / cover;
      /* background-position: calc(-18vw) center !important; */
    }


    .donation-form h1, .tribute-left h1, .tribute-right h1 {
      font-size: 1.75rem;
      margin-bottom: 0 !important;
    }
    .donation-form h3{
      font-weight: normal !important;
    }

    .tribute-left h3, .tribute-right h3 {
      font-weight: normal !important;
      margin-bottom: 1.5rem;
    }
    .donation-form p, .tribute-left p, .tribute-right p {
      margin-top: 1rem;
      font-size: 0.9rem !important;
    }
    .donation-form li{
      font-size: 0.9rem !important;
      margin-bottom: 0.8rem;
    }

    .tribute-left li, .tribute-right li {
      font-size: 0.9rem !important;
      margin: 0.5rem 0.8rem;
      list-style-type: disc !important;
    }

    
    .amount-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      margin-top: 1rem;
      margin-bottom: 1rem;
    }
    .amount-grid button {
      padding: 0.5rem;
      border: 1px solid #7DD69D;
      border-radius: 2px;
      background: transparent;
      font-size: 0.9rem;
      color: #000;
      cursor: pointer;
      transition: background-color 300ms 
      ease-in-out, color 300ms 
      ease-in-out, border 300ms 
      ease-in-out;
    }
    .amount-grid button:hover {
      background: #dff5e8;
      border: 1px solid #dff5e8;
      color: #000;
    }
    .amount-grid button.active {
      background: #7DD69D;
      color: #000;
      font-weight: bold;
    }
    .custom-amount {
      width: 100%;
      padding: 0.75rem;
      border: 1px solid #C7C7C7;
      margin-bottom: 1rem;
      border-radius: 2px;
    }
    .custom-amount.custom-entered {
      border-color: #7DD69D;
      box-shadow: 0 0 0 2px rgba(125, 214, 157, 0.2);
    }
    .donate-btn, .add-to-cart {
      width: 100%;
      padding: 0.5rem;
      background: #FFFFFF;
      border:1px solid #000;
      border-radius: 2px;
      font-weight: bold;
      color: #000;
      cursor: pointer;
      transition: background-color 300ms 
      ease-in-out, color 300ms 
      ease-in-out, border 300ms 
      ease-in-out;
      text-transform: uppercase;
    }
    .donate-btn:hover, .add-to-cart:hover {
      background: #dff5e8;
      border:1px solid #dff5e8;
    }
    .donate-btn.active, .add-to-cart.active {
      background: #7DD69D;
      border:1px solid #7DD69D;
      color: #000000;
    }
    .donate-btn.active:hover, .add-to-cart.active:hover {
      background: #dff5e8;
      border:1px solid #dff5e8;
    }

    .add-to-cart {
      min-width: 200px !important;
      max-width: 250px !important;

    }
    .tribute-amount{
      font-size: 1.25rem !important;
      margin-top: 1rem !important;
      margin-bottom: 1rem !important;
    }
    .help {
      text-align: center;
      margin-top: 1.5rem;
      font-size: 0.9rem;
    }
    .help a { color: #0066cc; }

    /* Right panels */
    .side-panels {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
      width: 80% !important;
      /* max-width: 25% !important; */
    }
    .panel {
      padding: 1.5rem;
      text-align: center;
      box-shadow: 0 12px 12px rgba(0,0,0,0.1);
      min-height: 200px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .panel h2 {
      font-size: 1.25rem;
      margin-bottom: 0.5rem;
      color: #fff !important;
    }
    .panel p {
      font-size: 0.95rem !important;
      margin-bottom: 1.5rem !important;
      color: #fff !important;
    }
    .panel a {
      padding: 0.75rem 2rem !important;
      background-color: #FFFFFF;
      color: #000000;
      cursor: pointer;
      border-radius: 2px;
      font-size: 0.75rem;
      font-weight: 500;
      transition: background-color 300ms 
      ease-in-out, color 300ms 
      ease-in-out, border 300ms 
      ease-in-out;
      text-decoration: none;
    }
    .panel a:hover {
      background-color: #dff5e8;
      text-decoration: none;
    }
    .panel--gold    { background: #d4a017;}
    .panel--maroon  { background: #5e003e;}
    .panel--purple  { background: #483d8b;}

    /* Other ways to give links styling */
    .other-ways-to-give-links{
      margin-top: 10px !important;
    }
    .other-ways-to-give-links a {
      background: none !important;
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      color: #ffffff !important;
      text-decoration: underline !important;
      font-size: 0.9rem !important;
      font-weight: normal !important;
      text-transform: none !important;
      width: auto !important;
      cursor: pointer;
    }
    .other-ways-to-give-links a:hover {
      background: none !important;
      border: none !important;
      text-decoration: none !important;
    }

    .other-ways-to-give-links-divider {
      margin: 0px !important;
      color: #ffffff !important;
      font-size: 1rem !important;
      font-weight: 300 !important;
    }

    .controls {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 40px;
    margin: 20px auto;
    width: 500px;
    justify-content: center;
}

.toggle-container {
    display: inline-block;
    align-items: center;
}

.toggle-label {
    margin-top: 5px;
}

.switch {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 26px;
    margin-left: 10px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 26px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: #7DD69D;
}

input:checked + .slider:before {
    transform: translateX(26px);
}

/* Radio Button Styling */
.radio-group {
    margin: 10px 0;
    display: inline-flex;
    gap: 40px;
}

.radio-label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
}

.radio-label input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}


.custom-radio {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid #D9D9D9;
    border-radius: 50%;
    background-color: white;
    margin-right: 8px;
    position: relative;
    transition: all 0.3s ease;
}

.radio-label input[type="radio"]:checked + .custom-radio {
    background-color: #7DD69D;
    border: 1px solid white;
    box-shadow: 0 0 0 2px #D9D9D9;
}

.radio-label input[type="radio"]:focus + .custom-radio {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
}

.radio-label:hover .custom-radio {
    border-color: #D9D9D9;
}

.giving-tuesday-hero{
  margin-top:-30px !important;
  margin-right: -15px !important;
}

.subhead-up-hero h1{
  color:#CC0066;
  text-transform: uppercase;
  font-size: 4.6rem;
  text-align: center;
  letter-spacing: 0.1em;
  margin-top:50px;
  margin-bottom:50px;
}

.giving-tuesday-side-panels{
  width:95% !important;
}

.giving-tuesday-side-panels h2{
  display: block !important;
  opacity: 1 !important;
  font-size: 2.25rem;
  font-weight: 600 !important;
  margin-bottom: 20px;
}

.giving-tuesday-side-panels h3{
  font-size: 1.375rem;
  font-weight: 300 !important;
  margin: 10px 0;
}

.giving-tuesday-side-panels p{
  font-size: 1.375rem;
  font-weight: normal !important;
  margin: 10px 0;
}

.giving-tuesday-side-panels img{
  margin-top:50px !important
}

.giving-tuesday-footer{
  background-color: rgba(255, 210, 110, .7);
  padding: 40px 56px;
  text-align: center;
  font-size: 1.2rem;
  margin-top: 80px;
  margin-bottom: -30px !important;
  margin-right: -15px !important;
}

.giving-tuesday-footer p{
  margin:0 auto;
  width: 66.66666667%;
  font-size:1.5rem;
}


    /* Responsive breakpoints for tablet/medium screens */
    @media (max-width: 1366px) {
      .wrapper {
        width: 90% !important;
        grid-template-columns: 1fr;
        gap: 1.5rem;
      }
      .donation-form, .side-panels {
        width: 100% !important;
        padding: 1.5rem !important;
      }
      .side-panels {
        flex-direction: row;
        gap: 1rem;
      }
      .panel {
        flex: 1;
        min-height: 150px;
        justify-content: flex-start !important;
      }
      .other-ways-to-give-links{
        margin-top: 30px !important;
      }
    }

    @media (max-width: 768px) {
      .wrapper {
        width: 95% !important;
      }
      .donation-form {
        padding: 1.5rem;
      }
      .side-panels {
        flex-direction: column;
      }
      .amount-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }



    @media (max-width: 768px) {
      body {background-color: #fff !important; font-size: 0.8rem !important;}
      .sub-category{margin: 0 !important; padding: 0 !important;}
      .wrapper, .wrapper-giving-tuesday { grid-template-columns: 1fr; gap: 0rem; width:100% !important; }
      .help { text-align: center; }
      .divider{
        display: none !important;
      }
      .donation-form {
        margin:0 auto !important;
        padding: 0 !important;
        width: 90% !important;
        box-shadow: none !important;
      }
      .side-panels {
        margin-top:30px !important;
        width: 100% !important;
      }
      .controls {
        flex-direction: row; /* Arrange items horizontally */
        gap: 30px; /* Adjust gap between items */
        width: auto; /* Allow controls to adjust width */
        margin: 40px auto; /* Adjust margin for landscape view */
        justify-content: center;
      }

      .amount-grid button {
        padding: 0.3rem 0.5rem !important;
        font-size: 0.9rem !important;
      }


    .wrapper-tributes{
      width: 95% !important;
      display: block;
      margin-top: 25px!important;
      padding-bottom: 25px !important;
      border-bottom: 1px solid #7DD69D !important;
    }

    .wrapper-tributes .side-panels-tributes{
      display: none !important;
      margin-top:0px !important;
    }

    .tribute-left, .tribute-right {
      background: #fff;
      padding: 1rem;
      /* box-shadow: 0 12px 12px rgba(0,0,0,0.1); */
      box-shadow: none !important;
      width: 100% !important;
      box-sizing: border-box;
    }

    .add-to-cart {
      min-width: 100% !important;

    }

    .library-book, .tribute-areas, .dedication-bench, .tribute-tree, .dedication-cards, .bulb-dedication, .commemorative-brick-rose-garden-path, .commemorative-brick-mcginley-path, .commemorative-brick-landscape-garden, .commemorative-brick-welcome-plaza{
    background:none !important;
    }

    .giving-tuesday-hero{
      margin-right: 0px !important;
    }

    .wrapper-giving-tuesday{
      padding-left: 15px !important;
      padding-right: 15px !important;
    }

    .subhead-up-hero h1{
      font-size: 3.25rem !important;
    }

    .giving-tuesday-side-panels h2{
      font-size: 1.75rem;
    }

    .giving-tuesday-side-panels img{
      max-width: 99% !important;
      height: auto !important;
    }

    .giving-tuesday-footer{
      margin-bottom:-70px !important
    }

    .giving-tuesday-footer p{
      width: 90% !important;
    }

    .obituary-sample {
      max-width: 100% !important;
      padding: 15px;
      margin: 20px auto;
      border-width: 3px;
    }

    }
