/*======================================
Theme Name: Sapri Equipment
Theme URI: https://divicake.com/
Description: A divi child theme for Moov Energy
Version: 1.0
Author: Fishgate Advertising
Author URI: https://fishgate.co.za
Template: Divi
======================================*/

/*****************************************/
/*----Equipment Grid Overrides---*/
/*****************************************/
.sapri-equipment-app .sapri-equipment-title{
    line-height: 1.125;
}

#sapri-equip-grid .sapri-equipment-app .sapri-equipment-shell{
    max-width: 1188px !important;
}

#sapri-equip-grid .sapri-equipment-app .sapri-filter-btn.active strong{
 transition: ease all 800ms;
}

#sapri-equip-grid .sapri-equipment-app .sapri-filter-btn.active strong{
    position: relative;
    top: 0;
    transition: ease all 800ms;
}

#sapri-availability-panel-1 #sapri-availability-dates-1{
    padding: 2px 2px 2px 15px;
    border-radius: 14px;
}

.sapri-availability-filter .flatpickr-next-month {
    right: 7px !important;
    top: 15px !important;
}

.sapri-availability-filter .flatpickr-prev-month{
    left: 7px !important;
    top: 15px !important;
}

.flatpickr-calendar .flatpickr-monthDropdown-months{
    margin: 0 5px 0 10px;
}

.sapri-availability-filter .flatpickr-months {
  padding: 5px 0 0 0 !important;
}

.sapri-availability-filter .flatpickr-monthDropdown-months{
    height: 18px !important;
}

.sapri-availability-filter .sapri-availability-actions{
    justify-content: flex-end;
}

.sapri-availability-filter .sapri-availability-actions .sapri-availability-submit{
    flex: 0;
    min-width: 130px;
    max-width: 130px;
}

.sapri-equipment-card .sapri-card-content .sapri-card-documents{
    align-self:flex-end;
}

#sapri-availability-panel-1 .sapri-availability-message{
    text-align: center;
}

.sapri-equipment-card .sapri-book-btn,
.sapri-availability-actions .sapri-availability-submit,
.sapri-availability-actions .sapri-availability-clear,
.single-equipment_item .sapri-equipment-back-button{
    transform-origin: center;
    transform: translate(0) scale(100%);
    opacity: 1;
    transition: ease all 800ms;
} 

.sapri-equipment-card .sapri-book-btn:hover,
.sapri-availability-actions .sapri-availability-submit:hover,
.sapri-availability-actions .sapri-availability-clear:hover,
.single-equipment_item .sapri-equipment-back-button:hover{
    transform: translate(0) scale(104%);
    opacity: 1;
    transition: ease all 800ms;
    filter: brightness(1);
}

.sapri-availability-actions .sapri-availability-clear:hover{
    background-color: transparent;
}

/*--Availability Calendar---*/

#sapri-availability-panel-1 .flatpickr-day.today{
    line-height: 32px;
}

/*****************************************/
/*----Equipment Single Items Overrides---*/
/*****************************************/

.sapri-card-body h3{
    font-weight: 700;
}

.sapri-card-body p.sapri-card-meta{
 font-weight: 300;
 font-size: 10px;
}

.sapri-equipment-breadcrumbs .sapri-breadcrumb-back{
    line-height: 26px !important;
}

.toggle-btn.sapri-toggle-ready.is-open .arrow-icon{
    top: 5px !important;
}

#booking-shortcode label, #booking-shortcode div{
    font-family: 'proxima-nova', sans-serif;
     
}

#booking-shortcode label{
    font-weight: 600;
}

#booking-shortcode div.validation_message {
   font-weight: 400;
   font-style: italic;
   margin-top: 4px; 
   color: #E92F27;
}

#booking-shortcode .gform_validation_errors, #booking-shortcode #field_2_4 .instruction{
    display: none;
}


#sapri_calendar_wrap .flatpickr-day.today{
    line-height: 37px;
}

#sapri_calendar_wrap .flatpickr-day{
    color: #585858;
}

#sapri_calendar_wrap .flatpickr-day.selected,
#sapri_calendar_wrap .flatpickr-day.flatpickr-disabled{
line-height: 40px;
}

#sapri_calendar_wrap .flatpickr-day.flatpickr-disabled{
 background-color: #5858581f;
 color: #58585857;
}

.sapri-form #gform_ajax_spinner_2{
    display: none !important;
}

.sapri-carousel-prev .sapri-carousel-arrow-icon{
  position:relative;
  left: 1px;
}

.sapri-carousel-next .sapri-carousel-arrow-icon{
  position:relative;
  right: 1px;  
}

@media only screen and (min-width: 1181px){
#sapri_calendar_wrap .flatpickr-calendar .flatpickr-rContainer .dayContainer {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    column-gap: 25px;
}

#sapri_calendar_wrap .flatpickr-weekdays {
    padding: 12px 0 8px 0;
    background: transparent;
    display: flex;
    justify-content: flex-start;
    column-gap: 25px !important;

}

#sapri_calendar_wrap .flatpickr-weekdays .flatpickr-weekdaycontainer{
    justify-content: flex-start;
    column-gap: 25px;
}

#sapri_calendar_wrap .flatpickr-weekday {
    color: #666;
    font-weight: 600;
    font-size: .85rem;
    width: 40px;
    text-align: center;
}
}

/*---Responsive Layout---*/

@media only screen and (min-width: 991px) and (max-width: 1180px){

.sapri-booking-wrap .sapri-booking-top{
    width: fit-content;
}

#equipment-image-col{
    margin: 0 auto;
}

/*---Safari Based CSS---*/ 

.browser-safari .sapri-booking-wrap .sapri-booking-top{
    width: 651px !important;
}    

.sapri-booking-wrap .sapri-booking-top .sapri-cal-right{
    flex: 0 0 0;
}

#sapri_calendar_wrap .flatpickr-calendar .flatpickr-rContainer .dayContainer {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    column-gap: 25px;
}

#sapri_calendar_wrap .flatpickr-weekdays {
    padding: 12px 0 8px 0;
    background: transparent;
    display: flex;
    justify-content: flex-start;
    column-gap: 25px !important;

}

#sapri_calendar_wrap .flatpickr-weekdays .flatpickr-weekdaycontainer{
    justify-content: flex-start;
    column-gap: 25px;
}

#sapri_calendar_wrap .flatpickr-weekday {
    color: #666;
    font-weight: 600;
    font-size: .85rem;
    width: 40px;
    text-align: center;
}
}

@media only screen and (min-width: 519px) and (max-width: 990px){

.sapri-booking-wrap .sapri-booking-top {
        width: fit-content;
        max-width: 430px;
        margin: 0 auto;
}

.sapri-booking-wrap .sapri-booking-top .sapri-cal-left{
    border-radius: 15px 15px 0 0;
}

#sapri_calendar_wrap .flatpickr-calendar{
    border-radius: 0 0 15px 15px !important;
}

#sapri_calendar_wrap .flatpickr-weekdays {
    padding: 12px 0 8px 0;
    background: transparent;
    display: flex;
    justify-content: flex-start;
    column-gap: 25px !important;

}

#sapri_calendar_wrap .flatpickr-weekdays .flatpickr-weekdaycontainer{
    justify-content: flex-start;
    column-gap: 25px;
}

#sapri_calendar_wrap .flatpickr-weekday {
    color: #666;
    font-weight: 600;
    font-size: .85rem;
    width: 40px;
    text-align: center;
}

}

@media only screen and (max-width: 640px){

.sapri-form #field_2_2 {
    grid-column: 1 / 13;
    grid-row: 2 / 2;
}

.sapri-form #field_2_3 {
    grid-column: 1 / 13;
    grid-row: 3 / 3;
}

.sapri-form #field_2_4 {
    grid-column: 1 / 13;
    grid-row: 4 / 4;
}

.sapri-form #field_2_5 {
    grid-column: 1 / 13;
    grid-row: 5 / 5;
}

.sapri-form #field_2_6 {
    grid-column: 1 / 13;
    grid-row: 6 / 6;
}

.sapri-form #field_2_7 {
    grid-column: 1 / 13;
    grid-row: 7 / 7;
    min-height: 45px;
}
}

@media only screen and (min-width: 320px) and (max-width: 519px){

.sapri-mobile-calendar-popup .dayContainer {
    justify-content: space-around;
    column-gap: 3px;
}

.sapri-booking-top .sapri-cal-left .sapri-mobile-date-input{
    padding: 0 27px;
    border: 1px solid #585858;
    border-radius: 23px;
}

.sapri-booking-wrap{
    padding: 0;
}

}

/*@media only screen and (max-width: 480px){

.sapri-booking-wrap .sapri-booking-top {
        width: fit-content;
        max-width: 300px;
        margin: 0 auto;
}

.sapri-booking-wrap .sapri-booking-top .sapri-cal-left{
    border-radius: 15px 15px 0 0;
}

#sapri_calendar_wrap .flatpickr-calendar{
    border-radius: 0 0 15px 15px !important;
}

#sapri_calendar_wrap .flatpickr-calendar .flatpickr-rContainer .dayContainer {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    column-gap: 25px;
}

#sapri_calendar_wrap .flatpickr-weekdays {
    padding: 12px 0 8px 0;
    background: transparent;
    display: flex;
    justify-content: flex-start;
    column-gap: 25px !important;

}

#sapri_calendar_wrap .flatpickr-weekdays .flatpickr-weekdaycontainer{
    justify-content: center;
    column-gap: 22px;
}

#sapri_calendar_wrap .flatpickr-weekday {
    color: #666;
    font-weight: 600;
    font-size: .85rem;
    width: 40px;
    text-align: center;
}





}*/

.sapri-booking-top .flatpickr-calendar:after,
.sapri-booking-top .flatpickr-calendar:before{
    display: none;
}

#field_2_7 textarea::-webkit-scrollbar {
    opacity: 0;
    transition: ease all 800ms;
}

#field_2_7 textarea{
    resize: vertical;
    height: 38px;
    field-sizing: content;
    overflow-wrap: break-word;
    line-height: 17px;
    font-size: 15px;
    padding: 12px 23px;
}

#field_2_7 textarea::-webkit-resizer{
  background-color: transparent;
  border: none;
  outline: none;
}

#field_2_7 .ginput_container{
    position:relative;
}

#field_2_7 .ginput_container:after{
 content: '';
 width: 15px;
 height: 15px;
 background-image: url(https://equipment.sapri.ac.za/wp-content/uploads/2026/08/textarea-resize.png);
 background-size: 100%;
 background-position: 0 0;
 background-repeat: no-repeat;
 position: absolute;
 right: 0;
 bottom: 0;
} 

.sapri-form .ginput_container input[type=text],
.sapri-form .ginput_container input[type=email],
.sapri-form .ginput_container input[type=tel],
.sapri-form .ginput_container textarea {
padding: 0 23px;
}

#field_2_7 label{
    z-index: 4;
}

#field_2_7 textarea::placeholder{
    font-size: 15px;
    color: #58585848;
}

.sapri-mobile-calendar-popup .flatpickr-day.selected:focus{
    background-color: #0f6a43 !important;
    background: #0f6a43 !important;
    outline: #0f6a43;
}


.gform-theme--foundation .gfield textarea.small {
    min-block-size: 3em !important;
}


