/*
	Theme Name: Master Study Child
	Theme URI: http://stylemix.net
	Description: MasterStudy Child Theme
	Author: StylemixThemes
	Author URI: http://stylemix.net
	Template: masterstudy
	Version: 3.0
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Tags: classes, courses, education, education center, learning center, tutoring, teaching, study, studying, learning, lessons, instructor, teacher, mentor
	Text Domain: masterstudy-child
*/

/* UPD SEPT */
@media (max-width: 400px) {
    .course-title-holder {
        padding-right: 5px;
    }
}

@media(max-width: 480px){
    .woocommerce-MyAccount-navigation ul {
        padding-left: 0;
    }
    .woocommerce-MyAccount-navigation ul li {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .table-responsive>.table>tbody>tr>td,
    .table-responsive>.table>tbody>tr>th,
    .table-responsive>.table>tfoot>tr>td,
    .table-responsive>.table>tfoot>tr>th,
    .table-responsive>.table>thead>tr>td,
    .table-responsive>.table>thead>tr>th {
        overflow: hidden;
        text-overflow: ellipsis;
    }
	
	.insurance-form{
		padding: 0 10px !important;
	}
}

@media (max-width: 655px) {
    .course_table tr td.number.number-visible.title, .course_table tr td.title {
        padding-left: 20px;
        display: block;
        width: 100%;
    }
    .course_table tr td.stm_badge {
        display: block;
        width: 100%;
        text-align: left;
    }
    .course_table tr td .meta {
        padding-left: 12px;
    }
    .course_table tr td.stm_badge .badge_unit {
        margin-left: 15px;
    }
    .woocommerce-message {
        padding-right: 26px;
    }
    .woocommerce-message .button {
        position: static;
        float: none;
        display: block;
    }
    .woocommerce-message .button:after {
        display: none;
    }
    .shop_table > tbody > tr td.actions {
        padding-left: 15px;
        padding-right: 15px;
    }
    .woocommerce .shop_table.cart .coupon .button {
        display: block;
        margin-top: 15px;
    }
    .woocommerce .shop_table.cart .coupon {
        float: none;
        margin-bottom: 30px;
    }
    .woocommerce .shop_table.cart .button.update-cart {
        float: none;
        margin-bottom: 15px;
    }
}

.tp-caption .icon_in_btn {
    text-align: center !important;
}

@media (max-width: 991px){
    .overflowed_content .wpb_column .vc_column-inner{
        margin-top: 0 !important;
    }
}

/* Hide MasterStudy header & footer ONLY on insurance single */
.single-insurance #wrapper #header,
.single-insurance footer#colophon,
.single-insurance #header-mobile .header_mobile{
  display: none !important;
}

/* Remove any theme top spacing on single insurance */
.single-insurance body {
  margin: 0 !important;
  padding: 0 !important;
}

.single-insurance #main,
.single-insurance .site-content,
.single-insurance .content-area,
.single-insurance .container,
.single-insurance .page,
.single-insurance .page-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* If logged-in admin bar creates visible gap */
.single-insurance.admin-bar {
  margin-top: 0 !important;
}
.single-insurance.admin-bar .insurance-header {
  top: 0 !important;
}


/* Hide MasterStudy search bar on single insurance */
.single-insurance .stm_search,
.single-insurance .stm-search,
.single-insurance .search-form,
.single-insurance form[role="search"],
.single-insurance .widget_search,
.single-insurance #searchModal{
  display: none !important;
}



body .vc_row[data-vc-full-width] {
    overflow: visible;
}
body .vc_row[data-vc-full-width].vc_parallax {
    overflow: hidden;
}

.woocommerce-product-gallery {
    position: relative;
    margin-bottom: 3em
}
.woocommerce-product-gallery figure {
    margin: 0
}
.woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n+2) {
    width: 25%;
    display: inline-block
}
.woocommerce-product-gallery .flex-control-thumbs li {
    list-style: none;
    float: left;
    cursor: pointer
}
.woocommerce-product-gallery .flex-control-thumbs img {
    opacity: .5
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover {
    opacity: 1
}
.woocommerce-product-gallery img {
    display: block
}
.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
    width: 33.3333%
}
.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 25%
}
.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
    width: 20%
}
.woocommerce-product-gallery__trigger {
    position: absolute;
    top: 1em;
    right: 1em;
    z-index: 99
}
ol.flex-control-nav.flex-control-thumbs {
    padding-left: 0px;
}
.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 20%;
}
.woocommerce-product-gallery__trigger {
    right: inherit;
    left: .5em;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    position: absolute;
    top: .5em;
    right: .5em;
    font-size: 2em;
    z-index: 9;
    width: 36px;
    height: 36px;
    background: #fff;
    text-indent: -9999px;
    border-radius: 100%;
    box-sizing: content-box;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border: 2px solid #000;
    border-radius: 100%;
    position: absolute;
    top: 9px;
    left: 9px;
    box-sizing: content-box;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:after {
    content: "";
    display: block;
    width: 2px;
    height: 8px;
    background: #000;
    border-radius: 6px;
    position: absolute;
    top: 19px;
    left: 22px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    box-sizing: content-box;
}


/* Woo My Account Tabs*/
.woocommerce-account .woocommerce-MyAccount-navigation {
    display: table;
    float: none;
    width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
}
.woocommerce-MyAccount-navigation ul {
    display: table !important;
    table-layout: fixed;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 30px; }
.woocommerce-MyAccount-navigation  ul > li {
    display: table-cell; }
.woocommerce-MyAccount-navigation  ul > li > a {
    display: block;
    padding: 12px 20px;
    background-color: #457992;
    border: 0;
    border-left: 1px solid #fff;
    border-radius: 0;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-size: 14px;}
.woocommerce-MyAccount-navigation  ul > li.is-active a,
.woocommerce-MyAccount-navigation  ul > li a:hover,
.woocommerce-MyAccount-navigation  ul > li a:focus {
    background-color: #f0f2f5;
    color: #457992; }
.woocommerce div.product form.cart .variations td.label {
    display: none;
}
.woocommerce-product-gallery {
    position: relative;
    margin-bottom: 3em
}
.woocommerce-product-gallery figure {
    margin: 0
}
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    z-index: 9 !important;
}
.stm_archive_product_inner_unit .stm_archive_product_inner_unit_centered .stm_featured_product_price .price h5 {
    font-weight: normal;
}
.widget_stm_recent_posts span.h6 {
    display: inline !important;
}
.widget_stm_recent_posts .cats_w {
    margin-left: 83px;
}

/* Insurance slider */
.btn-buy-now.is-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
.buy-note{
  margin-top: 8px;
  font-size: 13px;
/*   opacity: 0.75; */
  color: #252525;
  font-weight: 600;
}

/* Testimonials Insurance page */

.eq-testimonial .swiper-wrapper{
  align-items: stretch !important;
}

.eq-testimonial .swiper-slide{
  height: auto !important;
  display: flex !important;
}

.eq-testimonial .swiper-slide > .e-con,
.eq-testimonial .swiper-slide > .elementor-element{
  width: 100%;
  display: flex !important;
}

.eq-testimonial .swiper-slide .e-con-inner{
  width: 100%;
  display: flex !important;
}

.eq-testimonial .swiper-slide .elementor-widget-testimonial,
.eq-testimonial .swiper-slide .elementor-widget-container,
.eq-testimonial .swiper-slide .elementor-testimonial-wrapper{
  width: 100%;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
}

.eq-testimonial .swiper-slide .elementor-testimonial-meta{
  margin-top: auto !important;
}

.wpcf7-not-valid-tip{
    font-size: 16px;
    font-family: "General Sans", Sans-serif;
}

.select2-container--default .select2-selection--single {
  border: none !important;
  display: flex;
  align-items: center;
}

.single-insurance span.select2-container--default span.select2-selection--single span.select2-selection__rendered{
	font-family: "General Sans", Sans-serif;
	color: #101828;
}

/* Display final and month price */
.insurance-price .final-price{
    font-weight:700;
    font-size:16px;
    color:#BD1B1B;
}

.insurance-price .monthly-price{
    display:block;
    font-size:12px;
    font-weight:600;
    color:#000000;
}

/* Container */
.passport-upload-box {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 28px 32px;
  background: #fff;
}

.passport-doc-item,
.passport-doc-check,
.passport-doc-check p,
.passport-doc-check .wpcf7-form-control-wrap {
  margin: 0 !important;
  padding: 0 !important;
}

.passport-doc-check .wpcf7-list-item {
  margin: 10px 0; !important;
  display: flex;
  align-items: center;
}

.passport-doc-check .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 20px;
  color: #1f345c;
  margin: 0 !important;
  cursor: pointer;
}

.passport-doc-check input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0;
  accent-color: #b60202;
}

.passport-upload-field {
  display: none;
  margin-top: 12px;
  margin-left: 28px;
}

.passport-upload-field.active {
  display: block;
}

.passport-file-input {
  display: inline-block !important;
  font-size: 14px;
  color: #374151;
  padding-left: 0px !important;
  border: none !important;
}

.passport-file-input::file-selector-button {
  padding: 8px 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font-size: 14px;
  cursor: pointer;
  margin-right: 10px;
}

.passport-file-input::-webkit-file-upload-button {
  padding: 8px 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font-size: 14px;
  cursor: pointer;
  margin-right: 10px;
}

.passport-file-info {
  margin-top: 10px;
}

.passport-file-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.passport-file-details {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 14px;
  line-height: 20px;
  color: #374151;
  font-family: Ibrand;
}

.passport-file-name {
  word-break: break-word;
  font-family: Ibrand;
}

.passport-file-size {
  color: #6b7280;
  font-size: 13px;
}

.passport-remove-file {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  line-height: 1;
  color: #b60202;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.passport-remove-file svg {
  width: 16px;
  height: 16px;
  display: block;
}

.passport-remove-file:hover {
  color: #8f0000;
}

.passport-file-error {
  margin-top: 8px;
  font-size: 13px;
  line-height: 18px;
  color: #dc2626;
  font-family: Ibrand;
}

.file-note {
  margin-top: 14px;
  font-size: 13px;
  color: #6b7280;
}

.admission-file-input {
  display: inline-block !important;
  font-size: 14px;
  color: #374151;
  padding-left: 0px !important;
  border: none !important;
}

.admission-file-input::file-selector-button {
  padding: 8px 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font-size: 14px;
  cursor: pointer;
  margin-right: 10px;
}

.admission-file-input::-webkit-file-upload-button {
  padding: 8px 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font-size: 14px;
  cursor: pointer;
  margin-right: 10px;
}

body .student-health-insurance-section,
body .insurance-hero-section,
body .elementor-top-section {
    overflow: visible !important;
    z-index: auto !important;
}

/* Contact form 7 fields for insurance page */

.custom-field-error {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #dc2626;
  line-height: 17px;
  font-family: Ibrand;
  min-height: 20px;
}

.field-invalid {
  border-color: #dc2626 !important;
}

.wpcf7-not-valid {
  border-color: #dc2626 !important;
}

.wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output {
  display: none !important;
}

/* Changes for course page layout */
.stm_lms_courses_categories.style_3{
    justify-content: center !important;
    gap: 10px;
}

.stm_lms_courses_categories.style_3 .stm_lms_courses_category>a{
    border-radius: 4px !important;
    background-color: #B50202 !important;
    padding: 15px !important;
    width: 250px;
}

.stm_lms_courses_categories.style_3 .stm_lms_courses_category>a h4{
    font-family: 'ibrand';
    font-size: 20px;
    line-height: 26px;
    color: #fff !important;
}

/* Insurance page */

.header_2 .header_top .right-unit,
.header_2 .header_top .center-unit{
	display: none !important;
}

.insurance-form .date-picker {
  width: 100% !important;
  height: 56px !important;
  box-sizing: border-box !important;
}

.select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
}

.page-id-54722 span.select2-container--default .select2-selection--single span.select2-selection__arrow b{
	top: 0px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #ffffff !important;
	font-weight: 600 !important;
}

span.select2-container span.select2-selection--single{
	height: 42px !important;
}

.flatpickr-current-month input.cur-year,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-days{
	font-family: Ibrand !important;
}

.flatpickr-calendar {
  z-index: 999999 !important;
  font-family: Ibrand, sans-serif !important;
}

.flatpickr-calendar .flatpickr-months {
  height: 78px !important;
  align-items: center !important;
}

.flatpickr-calendar .flatpickr-month {
  height: 78px !important;
}

.flatpickr-calendar .flatpickr-current-month {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  left: 0 !important;
  height: 78px !important;
  padding: 0 !important;
  top: 0 !important;
}

.flatpickr-calendar .flatpickr-current-month .cur-month {
  display: block !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  color: #222 !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 26px !important;
  text-align: center !important;
}

.flatpickr-calendar .numInputWrapper {
  width: 100px !important;
  height: 28px !important;
}

.flatpickr-calendar .numInputWrapper input.cur-year {
  width: 100% !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #222 !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 28px !important;
  text-align: center !important;
  padding: 0 !important;
}

.flatpickr-calendar .numInputWrapper span {
  display: none !important;
}

.flatpickr-calendar .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-next-month {
  top: 24px !important;
}

@media screen and (max-width: 1280px) {
  .whatsapp-float {
    bottom: 5px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
	
   h2.col-title{
	 font-size: 24px !important;
	 line-height: 28px !important;
   }
	
   .insurance-detail .row{
	  margin: 10px 5px;
   }
	
  .col-title{
	 font-size: 40px !important;
	 line-height: 46px !important;
   }	
	
   .form-box{
	  padding: 10px !important;	
    }
	
	.payment-button .wpcf7-submit{
		margin: 0 auto !important;
		width: 90% !important;
	}
	
  .header_mobile .header_top .stm_header_top_search,
  #header-mobile .header_mobile .header_top .stm_header_top_toggler{
		display: none !important;
  }	
	
  #fileInfo .custom-file-name {
    font-size: 14px;
  }

  #fileInfo .custom-file-size {
    font-size: 13px;
  }

  #fileInfo .custom-file-type-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
}