/* ADD TO CART FUNCTIONALITY */


/* HIDE CAPTCHA  */
.grecaptcha-badge { 
  visibility: hidden !important;
}


/* STYLE FOR EVALUATIONS */

img.evaluation.session {
  width: 100%;
  height: 100px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  display: block;
  margin: 15px auto;
}

/* MAKE BACKGROUND IMAGE FULL */ 
/* REMOVE BOTTOM PADDING */
.error404 .cpetoday-footer,
.parent-pageid-110507 .cpetoday-footer,
body.page-id-110507 .cpetoday-footer,
body.page-id-8845 .cpetoday-footer,
body.page-id-102752 .cpetoday-footer { 
  margin-block-start: 0 !important;
  margin-top: 0px !important;
}

/* HIDE TOOLSET NOTICE */ 
.ui-staging,
.otgs-development-site-front-end {
  display: none;
}

/* 404 PAGE */
main.site-404 {
  background: black;
  background-image: url('https://www.cpetoday.com/wp-content/uploads/joseph-barrientos-oQl0eVYd_n8-unsplash.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.9;
  min-height: 75vh;
}

main.site-404  .default-button {
  display: inline-block;
  padding: 10px 20px;
  background-color: white;
  color: black;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  font-size: 1.5em;
  border: 1px solid #000;
}

main.site-404  .default-button:hover {
  background-color: #e6e6e6;
}

main.site-404  h1 {
  text-align: left;
  font-size: 4em;
  text-transform: uppercase;
  color: #fff;
}

main.site-404  h2 {
  text-align: left;
  font-size: 3em;
  text-transform: uppercase;
  color: #fff;
}

/* EVENTS SESSIONS & INSTRURUCTRS */ 

.event-session-graphic {
  position: relative;
  width: 300px;
  height: 200px;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 15px;
}

.event-session-graphic .elementor-shortcode {
  height: 100%;
}

.event-session-graphic  img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease-in-out;
  border-radius: 15px;
}

.event-session-graphic:hover img {
  transform: scale(1.1);
}

.event-session,
.event-instructor {
background-color: #f5f5f5;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.event-title {
font-size: 1.2rem;
font-weight: bold;
margin-bottom: 10px;
}

.event-details {
font-size: 0.9rem;
color: #555;
}

.event-details div {
margin-bottom: 5px;
}

.event-details i {
color: #007bff;
}

.mr-2 {
margin-right: 0.5rem;
}

.mt-1 {
margin-top: 0.25rem;
}


  .purchase-notice .heading-text {
      font-size: 1rem;
      font-weight: 600;
      color: #333;
      text-align: center;
      }
      
      .purchase-notice .included-section {
      padding: 20px;
      }
      
      .purchase-notice .included-heading {
      font-size: 1.1rem;
      font-weight: 600;
      color: #555;
      margin-bottom: 10px;
      }
      
      .purchase-notice .included-list {
      list-style-type: none;
      padding: 0;
      padding-left: 0px !important;
      }
      
      .purchase-notice .included-list li {
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      }
      
      .purchase-notice .included-icon {
      color: #007bff;
      margin-right: 8px;
      font-size: 1.2rem;
      }

/* SIGN UP ERROR */

.signup-error {
  text-align: center;
}

.signup-error .error-message {
  font-weight: bold;
}

.signup-error .error-image {
  max-height: 200px;
  width: auto;
  margin-bottom: 10px; /* Add some space below the image */
}

.signup-error .button {
  min-width: 150px; /* Ensures all buttons have the same minimum width */
  padding: 10px 20px;
  text-align: center; /* Centers text within buttons */
  box-sizing: border-box; /* Ensures padding doesn't affect the final width */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #fff; /* Button text color */
  background-color: #007bff; /* Button background color */
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin: 5px; /* Ensures some space around buttons */
}

.signup-error .button:hover {
  background-color: #0056b3; /* Darker shade for hover effect */
}

.signup-error .button-group {
  display: flex;
  justify-content: center;
  gap: 15px; /* Controls spacing between buttons */
  flex-wrap: wrap; /* Allows buttons to wrap on smaller screens */
  margin-top: 20px; /* Extra space above the button group */
}

/* Responsive behavior */
@media (max-width: 768px) {
  .signup-error .button {
    flex: 1 1 auto; /* Allows buttons to grow and fill the space on smaller screens */
    margin-bottom: 10px; /* Adds space between wrapped buttons */
  }
}

/*
Theme Name:		 Vault Child
Theme URI:		 https://vault.uicore.co/
Description:	 Child theme for Vault - Multi-Purpose Elementor WordPress Theme
Author:			 UiCore
Author URI:		 https://uicore.co
Template:		 vault
Version:		 1.0.0
Text Domain:	 vault
*/


/*
    Add your custom styles here
	primary: #188ece
*/
.home .breadcrumbs, .page-id-8996 .breadcrumbs {
	display:none;
}


div.link.white a { 
    color: #fff;
}
.section-header{
	font-family:montserrat, sans-serif;
	font-weight:normal;
}
div.list-style-auto ul,
div.list-style-auto ol {
    list-style: auto;
}

div.catalog-search div.form-group label.search-label {
    font-weight: bold;
}

.product-search .product-row{
	margin-top: 24px;
}

/* Course cards */

.missing{
	font-size:16px;
	color:#bb0000;
}
.course.card {
    border: 1px solid #bce2fc;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    box-shadow: 0 0 15px rgb(74 193 255 / 30%);
    transition: transform 0.3s ease-in-out;
}

.course.card:hover {
    transform: scale(1.08); 
}

.course.card .card-image,
.course.card .card-body,
.course.card .instructor-info,
.course.card .fos {
    padding: 15px 15px 0 15px;
}

.course.card .card-img,
.course.card .card-image img {
    border-radius: 5px;
    width: 100%; 
    height: auto;
}

.course.card .instructor {
    font-size: 12px;
    color: #444;
	margin-bottom: 8px;
}

.course.card .card-body {
    padding-top: 2px;
    padding-bottom: 10px;
    flex-direction: column;
    height: 100%;
    display: flex;
    min-height: 325px;
}

.course.card .card-title {
    margin-top: -10px;
}

.course.card .card-title a,
.course.card .fos a,
.course.card .credit,
.course.card .price,
.course.card .price a {
    font-weight: bold;
}

.course.card .card-title a,
.course.card .card-text {
    color: #333;
}

.course.card .card-text {
    line-height: 18px;
    font-size: 13px;
    margin-top: 8px;
}

.course.card .card-meta,
.course.card .meta {
    border-top: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    margin-top: auto;
	font-weight:bold;
}

.course.card .card-meta .details,
.course.card .credit {
    font-size: 12px;
    color: #555;
	padding-top:5px;
}

.course.card .price {
    font-size: 17px;
    color: #5e5e5e;
}

.course.card .price .event {
    font-size: 13px;
    color: #5e5e5e;
}

.course.card .credit {
    background: #0b405c; 
    color: #fff;
    height: 27px;
    margin-top: 7px;
}

.course.card .credit a {
    color: #fff;
}

.product-search .product-col {
    margin-bottom: 24px;
}

/* Course & Event cards alternate*/

.course-card-wrapper {
	box-shadow: 0 0 15px rgb(74 193 255 / 30%);
    transition: transform 0.3s ease-in-out;
	border:1px solid #aaa;
	border-radius:5px;
}
.course-card-wrapper.card:hover {
    transform: scale(1.08);
}
.course-card-wrapper .elementor-image-box-content{
	padding:0 10px;
}

.event-card-wrapper .elementor-image-box-title,
.course-card-wrapper .elementor-image-box-title {
	margin-top:10px;
	font-weight:bold;
	line-height: 1.2;
}
.event-card-wrapper .elementor-image-box-img img,
.course-card-wrapper .elementor-image-box-img img {
	border-radius:5px 5px 0 0 !important;
}
.event-card-wrapper .elementor-image-box-title a,
.course-card-wrapper .elementor-image-box-title a {
	color:#188ece !important;
}
.event-meta {
    line-height: 1.2;
}

/* catalog search */

.catalog-search .form-check-label {
  font-size: 14px;
  margin-left: 5px;
  cursor: pointer;
}
.catalog-search .search-label {
  font-size: 14px;
}
.catalog-search .form-check-input[type=checkbox] {
  width: 20px;
  height: 20px;
}
.catalog-search .form-check-input[type=checkbox]:checked {
  background-color: #188ece;
}

/* product slider */
.product-slider-wrapper .bdt-tabs .bdt-tab-title-icon-wrapper svg {
    width: 1.3em;
    height: 1.3em;
}
.product-slider-wrapper .bdt-switcher-wrapper {
    position: relative;
	z-index:1;
}
.product-slider-wrapper .bdt-switcher-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: -50%;
    width: 200vw;
    height: calc(100% + 80px);
    background-color: #EAF3F7;
    z-index: -1;
    margin: -20px 0;
	border-top:#ccc 1px solid;
}
.product-slider .slider-paginator{
  display: flex;
  justify-content: center;
}
.product-slider .page-link {
	display: inline-flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 200px;
    right: -30px;
	width:55px;
	height:55px;
	border-radius:100%;
	background:#188ECE;
	color:#fff;
}
.product-slider .wpv-filter-previous-link.page-link {
    left: -30px;
}
.product-slider .wpv-filter-next-link.page-link {
    right: -30px;
}

/* Course Page */
.major-topics-list {
    padding-left: 5px;
}
.major-topics-list li {
  padding-left: 1.5em; /* Add padding to make space for the checkmark */
  position: relative; /* Needed to position the pseudo-element */
}

.major-topics-list li:before {
  content: "\2713"; /* Unicode character for checkmark */
  position: absolute;
  left: 0;
  color: green; /* Change color as desired */
  font-size: 1em; /* Adjust size as needed */
}

.learning-objectives-list {
    list-style: decimal !important;
}
.course-nav {
    /*position: -webkit-sticky;
     position: sticky !important; */
    top: 32px;
    z-index: 100;
    background: #fff;
	padding:0 2px 0 2px;
}
.course-nav .btn-course-nav {
	font-weight: bold;
    border-bottom:3px solid #fff;
	border-radius:0;
	color:#188ece;
}
.course-nav .btn-course-nav:hover, 
.course-nav .btn-course-nav:active, 
.course-nav .btn-course-nav:focus, 
.course-nav .btn-course-nav:target {
	border-bottom:3px solid #188ece;
}
/* Event page */
.day-header {
    margin-top: 1em;
    border-bottom: 1px solid #ccc;
    margin-left: 10px;
    padding-bottom: 10px;
}
.day-header h5 {
    font-weight:bold;
    font-size: 1.4em;
}
/* Utilities */
.hide {
	display:none !important;
}
.light{
	color: #f3f3f3!important;
}
.label {
    text-transform: uppercase;
    font-size: 13px;
    color: #333;
    display: block;
    margin: 0;
}
.label.light{
	color: #adadad !important;
}
.excess-padding-fix {
    margin-top: -30px;
}

/* NOTHING FOUND - EVENTS */

.no-events-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
  }
  
  .no-events-content {
    text-align: center;
    padding: 2rem;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    max-width: 400px;
  }
  
  .no-events-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 1rem;
  }
  
  .no-events-title {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 0.5rem;
  }
  
  .no-events-message {
    font-size: 1rem;
    color: #666;
  }

/* NOTHING FOUND - CATALOG */

.catalog.no-results {
    text-align: center;
}

.catalog.no-results img {
    max-width: 100px;
    height: auto;
}

/*
.product-slider a.wpv-filter-previous-link.js-wpv-pagination-previous-link.page-link {
  display: block;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 300px;
  left: -60px;
  border-radius: 100%;
}
.product-slider a.wpv-filter-next-link.js-wpv-pagination-next-link.page-link {
  display: block;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 300px;
  right: -60px;
  border-radius: 100%;
	border: none;
}
*/
/*********************************/
/* FIX FOR THE PAGE WIDTH 
/*********************************/

body.single-event main#main div.uicore.elementor-container,
body.single-course main#main div.uicore.elementor-container {
    width: 100%;
    padding-left: 0px !important;
    padding-right: 0px !important;
    max-width: 100%;
    margin-left: 0px;
    margin-right: 0px;
}
