/**
 * title:      Luminate Basket
 * created:    20/07/2025
 * author:     Development Team <info@optiva.co.uk>
 * copyright:  Optiva Ltd

 * ========================================================================== */

.internal-header-panel { mask: url('/images/optiva/hero-panel-mask.svg') bottom center no-repeat; -webkit-mask: url('/images/optiva/hero-panel-mask.svg') bottom center no-repeat; mask-size: 100%; -webkit-mask-size: 100%; }
    .internal-header-panel .btn { font-size: 15px; line-height: 17px; padding: 12px 26px; }

.basket-content-panel { padding: 60px 20px; position: relative; }
    .basket-content-panel .container { max-width: 1000px; }
    .basket-content-panel p { color: #333333; }
    .basket-content-panel .pink { color: #cd0067; }
    .basket-content-panel .checkbox label::before { border: 1px #cccccc solid; }

    .basket-content-panel .bottom-text p { color: #666666; font-size: 16px; line-height: 24px; margin: 0px; }

    .basket-content-panel .top-titles { max-width: 860px; margin: auto; }
        .basket-content-panel .top-titles p { font-size: 20px; line-height: 26px; }

        .basket-content-panel .buttons .btn { margin: 8px 6px; }

    .basket-content-panel .form-columns .col { margin-bottom: 15px; }
        .basket-content-panel .form-columns .col input { border: 1px #cccccc solid; border-radius: 5px; padding-top: 7px; padding-bottom: 7px; }
        .basket-content-panel .form-columns .col .checkbox { margin-bottom: 20px; }
            .basket-content-panel .form-columns .col .checkbox label { color: #666666; font-size: 16px; line-height: 24px; font-weight: 400; margin: 0px; min-height: 26px; }
            .basket-content-panel .form-columns .col .checkbox label::before { width: 26px; height: 26px; }
            .basket-content-panel .form-columns .col .checkbox label::after { width: 26px; height: 26px; font-size: 18px; line-height: 27px; }
            .basket-content-panel .form-columns .col .checkbox label a { position: relative; z-index: 1; }

    .basket-content-panel .basket-info-box { background: #fafafa; border: 1px #cccccc solid; border-radius: 10px; padding: 25px 40px; margin-bottom: 35px; position: relative; }
        .basket-content-panel .basket-info-box .titles { margin-bottom: 20px; }
            .basket-content-panel .basket-info-box .titles h4 { color: #cd0067; font-size: 22px; line-height: 28px; font-weight: 400; margin: 0px; }
        .basket-content-panel .basket-info-box h5 { font-size: 24px; line-height: 30px; }
        .basket-content-panel .basket-info-box .bottom-text { padding-top: 35px; }
            .basket-content-panel .basket-info-box .bottom-text p { color: #999999; font-size: 16px; line-height: 24px; margin: 20px 0px 0px 0px; }

        .basket-content-panel .basket-info-box .cost-table p { color: #666666; font-size: 16px; line-height: 24px; margin: 0px; }
        .basket-content-panel .basket-info-box .cost-table label { color: #333333; font-size: 24px; line-height: 30px; margin: 0px; }
        .basket-content-panel .basket-info-box .cost-table label.grey { color: #666666; }
        .basket-content-panel .basket-info-box .cost-table label strong { font-weight: 600; }
        .basket-content-panel .basket-info-box .cost-table input.form-control { font-size: 15px; max-width: 170px; border: 1px #cccccc solid; border-radius: 5px; padding-top: 3px; padding-bottom: 3px; margin: auto; }
        .basket-content-panel .basket-info-box .cost-table select.form-control { font-size: 15px; max-width: 170px; border-radius: 5px; padding-top: 3px; padding-bottom: 3px; margin: auto; }
        .basket-content-panel .basket-info-box .cost-table .radio label { color: #666666; font-size: 16px; line-height: 24px; font-weight: 400; margin: 0px; }
        .basket-content-panel .basket-info-box .cost-table .radio label::before { width: 24px; height: 24px; }
        .basket-content-panel .basket-info-box .cost-table .radio label::after { background: #cc0066; width: 14px; height: 14px; left: 5px; top: 6px; }
        
        .basket-content-panel .basket-info-box .cost-table .table-head { border-bottom: 1px #cccccc solid; }
            .basket-content-panel .basket-info-box .cost-table .table-head .col { padding-bottom: 15px; }
            .basket-content-panel .basket-info-box .cost-table .table-head .col:first-child { padding-left: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-head .col:last-child { padding-right: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-head .col:nth-child(2) { text-align: center; }
            .basket-content-panel .basket-info-box .cost-table .table-head .col:nth-child(3) { text-align: center; }
            .basket-content-panel .basket-info-box .cost-table .table-head p { color: #999999; font-size: 18px; line-height: 26px; margin: 0px; }

        .basket-content-panel .basket-info-box .cost-table .table-title-col { padding-top: 25px; padding-bottom: 0px; text-align: center; }
            .basket-content-panel .basket-info-box .cost-table .table-title-col .titles { margin: 0px; }

        .basket-content-panel .basket-info-box .cost-table .table-col { border-bottom: 1px #cccccc solid; }
            .basket-content-panel .basket-info-box .cost-table .table-col .col { padding-top: 20px; padding-bottom: 20px; }
            .basket-content-panel .basket-info-box .cost-table .table-col .col:first-child { padding-left: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-col .col:nth-child(2) { text-align: center; }
            .basket-content-panel .basket-info-box .cost-table .table-col .col:nth-child(3) { padding-right: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-col .col:nth-child(5) { padding-right: 0px; }

        .basket-content-panel .basket-info-box .cost-table .table-ad-col { border-bottom: 1px #cccccc solid; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col .col { padding-top: 20px; padding-bottom: 20px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:first-child { padding-left: 0px; padding-bottom: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:nth-child(2) { text-align: center; padding-right: 0px; padding-bottom: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:nth-child(3) { padding-left: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:nth-child(5) { text-align: center; padding-right: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col input.form-control { margin-top: 10px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col input.form-control:first-child { margin-top: 0px; }

        .basket-content-panel .basket-info-box .cost-table .table-pro-col { border-top: 1px #cccccc solid; border-bottom: 2px #ccc solid; }
            .basket-content-panel .basket-info-box .cost-table .table-pro-col .col { padding-top: 20px; padding-bottom: 20px; }
            .basket-content-panel .basket-info-box .cost-table .table-pro-col .col:first-child { padding-left: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-pro-col .col:nth-child(2) { padding-left: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-pro-col input.form-control { max-width: 100%; margin: 0px; padding-top: 6px; padding-bottom: 6px; }
            .basket-content-panel .basket-info-box .cost-table .table-pro-col .btn { font-size: 15px; line-height: 17px; padding: 9px 12px; }


        .basket-content-panel .basket-cta-info-box { background: #fafafa; border: 1px #cccccc solid; border-radius: 10px; padding: 25px 30px; margin-bottom: 35px; position: relative; }
            .basket-content-panel .basket-cta-info-box .text-with-icon { padding-left: 70px; }
                .basket-content-panel .basket-cta-info-box .text-with-icon h5 { font-weight: 600; margin-bottom: 5px; }
                .basket-content-panel .basket-cta-info-box input.form-control { border: 1px #cccccc solid; border-radius: 5px; }
                .basket-content-panel .basket-cta-info-box .accordion-body { padding-top: 20px; }
            .basket-content-panel .basket-cta-info-box .side-icon { font-size: 44px; position: absolute; }
                .basket-content-panel .basket-cta-info-box .side-icon img { max-height: 44px; vertical-align: top; }

  
      .calendar-key-box { background: #fafafa; border: 1px #cccccc solid; border-radius: 10px; padding: 20px 20px; height: 100%; position: relative; }
      .calendar-key-box.side-pad { padding-left: 40px; padding-right: 40px; }
        .calendar-key-box .key-feature { text-align: center; }
            .calendar-key-box .key-feature .swatch { width: 40px; height: 40px; border-radius: 10px; margin: auto auto 10px auto; }
            .calendar-key-box .key-feature .swatch.sold-out { background: #cd0000; }
            .calendar-key-box .key-feature .swatch.available { background: #339967; }
            .calendar-key-box .key-feature .swatch.limited { background: #ffcc00; }
            .calendar-key-box .key-feature .swatch.last-few { background: #ff9900; }
            .calendar-key-box .key-feature i { font-size: 40px; }
            .calendar-key-box .key-feature h5 { font-size: 16px; line-height: 22px; margin: 10px 0px 0px 0px; }
            .calendar-key-box .key-feature.inline .swatch { display: inline-block; vertical-align: middle; margin: 0px; }
            .calendar-key-box .key-feature.inline h5 { display: inline-block; vertical-align: middle; margin: 0px 0px 0px 7px; }

        .basket-content-panel .key-details { margin-top: 60px; position: relative; }
            .basket-content-panel .key-details i { font-size: 50px; left: 0px; top: 0px; position: absolute; }
            .basket-content-panel .key-details .text { padding-left: 80px; }
                .basket-content-panel .key-details .text h5 { font-weight: 600; }
                .basket-content-panel .key-details .text strong { font-weight: 600; }

      .calendar-holder { background: #fafafa; border: 1px #cccccc solid; border-radius: 10px; padding: 30px 10px 20px 10px; margin-top: 35px; position: relative; }
        .calendar-holder .titles { margin-bottom: 20px; }
            .calendar-holder .titles h4 { color: #cd0067; font-size: 26px; line-height: 32px; font-weight: 400; margin: 0px; }


    /* Calendar Styling */
      .month { font-size: 2rem; }
      .basket-content-panel .calendar .days.list-unstyled { font-size: 0px; margin: 0px; }
      .basket-content-panel .calendar ol li { display: inline-block; width: 14.28571%; }
      .basket-content-panel .calendar .day-names { font-size: 0px; margin: 0px; }
      .basket-content-panel .calendar .day-names li { font-size: 16px; line-height: 24px; font-weight: 500; margin-bottom: 0.5rem; }
      .basket-content-panel .calendar .day-names li span.desktop { display: block; }
      .basket-content-panel .calendar .day-names li span.mobile { display: none; }
      .basket-content-panel .calendar .days li.outside .date { border: 1px #cccccc solid; }
        .basket-content-panel .calendar .days li.outside .date .text h4 { color: #bdbdbd; }
        .basket-content-panel .calendar .days li.outside .date .text h5 { color: #bdbdbd; }
      .basket-content-panel .calendar .days li { min-height: 130px; line-height: 1.2; position: relative; }
      .basket-content-panel .calendar .days li .date { height: 88%; width: 88%; text-align: center; border-radius: 10px; top: 50%; transform: translateY(-50%); left: 0px; right: 0px; margin: auto; position: absolute; }
      .basket-content-panel .calendar .days li .date:hover { outline: 2px #666666 solid; }
      .basket-content-panel .calendar .days li .date.sold-out { background: #cd0000; }
      .basket-content-panel .calendar .days li .date.available { background: #339967; }
      .basket-content-panel .calendar .days li .date.limited { background: #ffcc00; }
      .basket-content-panel .calendar .days li .date.last-few { background: #ff9900; }
      .basket-content-panel .calendar .days li .date .btn-floating { margin-top: 10px; margin-left: 0px; text-align: left; top: 0px; width: 100%; position: absolute; }
        .basket-content-panel .calendar .days li .date .btn-floating i { color: #cccccc!important; font-size: 16px; margin-left: 10px; }
        .basket-content-panel .calendar .days li .date.limited .btn-floating i { color: #ffffff!important; }
        .basket-content-panel .calendar .days li .date.last-few .btn-floating i { color: #ffffff!important; }
      .basket-content-panel .calendar .days .text { top: 50%; transform: translateY(-50%); left: 0px; right: 0px; margin: auto; position: absolute; }
        .basket-content-panel .calendar .days .text h4 { color: #e1e1e1; font-size: 28px; line-height: 34px; font-weight: 400; margin: 0px; }
        .basket-content-panel .calendar .days .text h5 { color: #e1e1e1; font-size: 20px; line-height: 26px; font-weight: 400; margin: 0px; }
        .basket-content-panel .calendar .days li .date.available .text h4 { color: #ffffff; }
        .basket-content-panel .calendar .days li .date.available .text h5 { color: #ffffff; }
        .basket-content-panel .calendar .days li .date.limited .text h4 { color: #333333; }
        .basket-content-panel .calendar .days li .date.limited .text h5 { color: #333333; }
        .basket-content-panel .calendar .days li .date.last-few .text h4 { color: #333333; }
        .basket-content-panel .calendar .days li .date.last-few .text h5 { color: #333333; }

      .basket-content-panel .calendar .days li .event { font-size: 0.75rem; padding: 0.4rem; color: white;  white-space: nowrap;  overflow: hidden;  text-overflow: ellipsis;  border-radius: 4rem;  margin-bottom: 1px; }
      .basket-content-panel .calendar .days li .event.span-2 { width: 200%; }
      .basket-content-panel .calendar .days li .event.begin { border-radius: 1rem 0 0 1rem; }
      .basket-content-panel .calendar .days li .event.end { border-radius: 0 1rem 1rem 0; }
      .basket-content-panel .calendar .days li .event.clear { background: none; }
      .basket-content-panel .calendar .days li:nth-child(n+29) { border-bottom: none; }
      .basket-content-panel .calendar .days li.outside .date { color: #ddd; }


    .basket-content-panel .fc-scroller { height: 100% !important;}
    .basket-content-panel .fc-list-heading-main {font-size: 150%;}
    .basket-content-panel .fc-toolbar { text-align: center; }
        .basket-content-panel .fc-toolbar h2 { font-size: 34px; line-height: 40px; font-weight: 400; margin: 0px; }

        /* table resets */
    .basket-content-panel .fc-list-table { width: 100%; max-width: 370px; margin: 30px auto auto auto; table-layout: auto; border-spacing: 15px; border-collapse: separate; /* for shrinkwrapping cell content */ }
    .basket-content-panel .fc-list-table .fc-list-heading { display: none; }
    .basket-content-panel .fc-list-table td { border-width: 0; }
    .basket-content-panel .fc-list-table tr:first-child td { border-top-width: 0; }
    .basket-content-panel .fc-unthemed .fc-list-item:hover td { background-color: #f5f5f5; }
    .basket-content-panel .fc-list-item { border-radius: 5px; overflow: hidden; }
    .basket-content-panel .fc-list-item a { color: #ffffff !important; display: block; padding: 12px 14px; }
    .basket-content-panel .fc-list-item-title { text-align: center !important; font-size: 21px !important; }
    .basket-content-panel .fc-list-item-marker { display: none !important; }
    .basket-content-panel .fc-list-item:hover { outline: 2px #666666 solid!important; }
    .basket-content-panel .fc-list-item.sold-out { background: #cd0000; outline: 2px #cd0000 solid; }
    .basket-content-panel .fc-list-item.available { background: #339967; outline: 2px #339967 solid; }
    .basket-content-panel .fc-list-item.limited { background: #ffcc00; outline: 2px #ffcc00 solid; }
    .basket-content-panel .fc-list-item.last-few { background: #ff9900; outline: 2px #ff9900 solid; }
  
    /* day headings with the list */
    .basket-content-panel .fc-list-heading { border-bottom-width: 1px; }


@media screen and (max-width: 1080px) { 

    .calendar-key-box .key-feature h5 { font-size: 14px; line-height: 20px; }

}

@media (min-width: 992px) {
    .month { font-size: 3.5rem; }
}

@media screen and (max-width: 991px) { 

    .basket-content-panel .basket-info-box .cost-table .table-head p { font-size: 16px; line-height: 24px; }
    .basket-content-panel .basket-info-box .cost-table label { font-size: 20px; line-height: 26px; }
    .basket-content-panel .basket-info-box .cost-table .radio label::after { top: 6px; }
    .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:nth-child(3) { padding-bottom: 0px; }
    .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:nth-child(4) { padding-bottom: 0px; }

    .basket-content-panel .fc-list-item { outline: 0px!important; }

    .calendar-key-box { padding-top: 12px; padding-bottom: 12px; }
    .calendar-key-box .key-feature { padding-top: 12px; padding-bottom: 12px; }

}

@media screen and (max-width: 767px) { 

    .basket-content-panel { padding: 60px 10px; }

        .basket-content-panel .top-titles p { font-size: 18px; line-height: 24px; }

        .basket-content-panel .basket-info-box { padding: 25px 25px; }
            .basket-content-panel .basket-info-box .cost-table label { font-size: 18px; line-height: 24px; }
            .basket-content-panel .basket-info-box .cost-table .table-head p { font-size: 14px; line-height: 20px; }
            .basket-content-panel .basket-info-box .cost-table .table-ad-col .col:nth-child(4) { padding-left: 0px; padding-right: 0px; }
            .basket-content-panel .basket-info-box .cost-table .table-pro-col .col:first-child { padding-bottom: 0px; }

    .calendar-holder .titles { padding: 0px 10px; }
        .calendar-holder .titles h4 { font-size: 20px; line-height: 26px; }

    .calendar-key-box { padding-left: 12px; padding-right: 12px;height: auto; }
        .calendar-key-box.side-pad { margin-bottom: 20px; }
        .calendar-key-box .key-feature.inline { text-align: center!important; }

    .basket-content-panel .calendar .day-names li span.desktop { display: none; }
    .basket-content-panel .calendar .day-names li span.mobile { display: block; }

    .basket-content-panel .calendar .days .text h4 { font-size: 22px; line-height: 28px; }
    .basket-content-panel .calendar .days .text h5 { font-size: 17px; line-height: 23px; }
    .basket-content-panel .calendar .days li { min-height: 120px; }
    .basket-content-panel .calendar .days li .date { width: 95%; }
    .basket-content-panel .calendar .days li .date .btn-floating { margin-top: 4px; }
        .basket-content-panel .calendar .days li .date .btn-floating i { font-size: 11px; }

    .basket-content-panel .fc-toolbar h2 { font-size: 28px; line-height: 34px; }

}

@media screen and (max-width: 500px) { 

    .basket-content-panel .basket-cta-info-box .side-icon { margin-bottom: 18px; line-height: 44px; position: relative; }
    .basket-content-panel .basket-cta-info-box .text-with-icon { padding-left: 0px; }
    .basket-content-panel .basket-info-box .titles h4 { font-size: 20px; line-height: 26px; }

}