/*** DATE ****/




/********** GENERAL **********/

.schedule-widget .bw-widget {
    border-radius: 6px;
}


/********** TITLE SECTION **********/

.schedule-widget .bw-widget__header,
.schedule-widget .bw-widget--medium .bw-widget__header {
    background-color: var(--primary);
    color: var(--white);
    border-radius: 10px;
    padding: 24px 32px;
}

.schedule-widget .bw-widget__header .bw-header__title {
	font-size: 3.8rem;	
	line-height: 1.2;
}


.schedule-widget .bw-widget .bw-header__account-link {
	color: var(--action);
	font-size: 1.8rem;
	transition: .3s ease all;
}

.schedule-widget .bw-widget .bw-header__account-link:hover {
	color: var(--action-ultra-light);	
}


/********** DATE FILTERS **********/

.schedule-widget .bw-calendar-container {
    border-top: none;
}

.schedule-widget .bw-datepicker {
    width: 160px;
}

.schedule-widget .bw-fullcal__field,
.schedule-widget .bw-widget--large .bw-fullcal__field {
    margin-bottom: 0;
    margin-top: 3rem;
}

.schedule-widget .bw-calendar__day.bw-calendar__day--current span {
    background-color: var(--action-light) !important;
    color: var(--black);
}

.schedule-widget .bw-widget th.bw-calendar__heading,
.schedule-widget .bw-widget td.bw-calendar__day{
    font-size: 1.4rem;
	height: 40px;
}

.schedule-widget .bw-widget--medium .bw-fullcal-button {
    font-size: 1.9rem;
    line-height: 30px;
    min-width: 180px;
    margin-top: 30px;
}

.schedule-widget .bw-widget__day {
    margin-top: 40px;
}



/********** FILTERS **********/

.schedule-widget .bw-filters {
    margin-top: -10px;
	padding-top: 10px;
	border-radius: 0 0 10px 10px;
}

.schedule-widget .bw-filters__checkboxes, .schedule-widget .bw-widget--large .bw-filters__checkboxes {
    margin-bottom: 10px;
    margin-top: var(--space-l);
}

.schedule-widget .bw-widget--large .bw-filters-flex-container {
    padding-bottom: var(--space-l);
}

.schedule-widget .bw-select, .schedule-widget .bw-widget--large .bw-select {
    font-size: 1.6rem;
}

.schedule-widget .bw-select, .schedule-widget .bw-widget--large .bw-select {
    font-size: 1.6rem;
    border-radius: 8px;
}

.schedule-widget .bw-header__filter-link {
    color: var(--action-light);
}


/********** DAY/DATE HEADINGS **********/

.schedule-widget .bw-widget__date,
.schedule-widget .bw-widget--medium .bw-widget__date,
.schedule-widget .bw-widget--large .bw-widget__date {
    background: none;
    color: var(--base-ultra-dark);
	border-color: #fff;
	font-size: 2.6rem;
	margin-bottom: 10px;
	line-height: 1.2;
}


/********** SCHEDULE ITEMS **********/

.schedule-widget .bw-session,
.schedule-widget .bw-widget--medium .bw-session,
.schedule-widget  .bw-widget--large.bw-widget--spacious .bw-session {
	position: relative;
    background: var(--fr-bg-light);
	border-radius: 10px;
	margin-bottom: 2rem;
    border: 1px solid rgba(0,0,0,0.05);
    padding: var(--space-l) var(--space-m);
    border-left: 4px solid var(--action-medium);
    transition: transform 0.2s ease-out, border-color 0.2s ease-out;
}
.schedule-widget .bw-session:last-of-type {
	margin-bottom: 0;
}

.schedule-widget .bw-session:hover,
.schedule-widget .bw-widget--medium .bw-session:hover,
.schedule-widget  .bw-widget--large.bw-widget--spacious .bw-session:hover {
    transform: scale(1.015);
    border-top: 1px solid rgba(0,0,0,0.15);	
    border-right: 1px solid rgba(0,0,0,0.15);
	border-bottom: 1px solid rgba(0,0,0,0.15)	
} 

.schedule-widget .bw-session__basics,
.schedule-widget .bw-widget--large .bw-session__basics,
.schedule-widget .bw-session__group2 {
    align-items: center;
}

.schedule-widget .bw-session__info {
    margin-right: var(--space-m);
	
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;	
}

.schedule-widget .bw-session .bw-session__name {
	font-size: 3.3rem;
	line-height: 1.3;
	font-weight: 700;
	color: var(--primary-ultra-dark);
    position: relative;
    top: -6px;	
    word-break: break-all;
    white-space: normal;
    overflow-wrap: break-word;
}

.schedule-widget .bw-session .bw-widget__cta{
	position: relative;
    padding: 12px 34px;	
	border-radius: 10px;
	font-size: 1.7rem !important;
	background-color: var(--action);
	color: var(--white) !important;
	transition: .3s ease all;
	font-weight: 600;
	letter-spacing: 1px;
	z-index: 6;	
}

.schedule-widget .bw-session .bw-widget__cta:hover {
	text-decoration: none;
	background-color: var(--action-hover);

}

.schedule-widget .bw-session__detail-link,
.schedule-widget .bw-widget--large .bw-session__detail-link {
    color: var(--info) !important;	
	text-transform: capitalize;
	margin-top: 1rem;
    position: static;
	transition: .3s ease all;
}

.schedule-widget .bw-widget--medium .bw-session__detail-link,
.schedule-widget .bw-widget--spacious.bw-widget--medium .bw-session__detail-link{
    margin-top: var(--space-m);
}

.schedule-widget .bw-session__detail-link span,
.schedule-widget .bw-widget--large .bw-session__detail-link span {
	font-size: 1.8rem;		
}

.schedule-widget .bw-session__detail-link:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer !important;
    display: flex;	
    z-index: 3;	
}

.schedule-widget .bw-session__detail-link-text--closed,
.schedule-widget .bw-session__detail-link-text--open {
    margin-left: 0;
    margin-right: 3px;
}

.schedule-widget .bw-session__detail-link svg.bw-i-chevron {
    order: 2;
}

.schedule-widget .bw-session__staff, .schedule-widget .bw-widget--large .bw-session__staff {
    background: var(--warning-light);
	color: var(--neutral);
    width: auto;
    padding: 4px 16px;
    font-size: 15px;
    border-radius: 50vw;
}

.schedule-widget .bw-session__description, .schedule-widget .bw-widget--large .bw-session__description {
    font-size: 1.7rem;
    padding: 0;
	width: 100%;
}

.schedule-widget .bw-session__instructor {
    margin-top: var(--space-s);
    border-top: 1px solid #eaeaea;
    padding-top: var(--space-s);
}

.schedule-widget .bw-session__instructor-name, .schedule-widget .bw-widget--large .bw-session__instructor-name {
    font-weight: 500;
    font-size: 2.3rem;
}

.schedule-widget .bw-session__bio p:first-child {
    margin-bottom: 0;
    margin-top: 10px;
}



/********** MODAL **********/

.semantic-content .modal-inner {
    border-radius: 10px !important;
}

.semantic-content .modal-content {
    width: 100% !important;
}

.hc-pignose-calendar-button-apply {
    background-color: var(--action) !important;
}

.hc-pignose-calendar-unit-active a {
    background-color: var(--action-light) !important;
    color: var(--neutral) !important;
}

.hc-pignose-calendar.hc-pignose-calendar-bw .hc-pignose-calendar-top .hc-pignose-calendar-top-month,
.hc-pignose-calendar.hc-pignose-calendar-bw .hc-pignose-calendar-top .hc-pignose-calendar-top-year {
    color: var(--neutral) !important;
	font-weight: 600 !important;
}

.schedule-widget .bw-widget__footer  {
	border-radius: 0 0 6px 6px;
}

.schedule-widget .bw-datepicker__button,
.schedule-widget .bw-datepicker__input {
    background: #fff;
}

.schedule-widget  .bw-datepicker__button {
	width: 48px;
}

.schedule-widget .bw-datepicker__input {
	border: none;
    border-left: 1px solid rgba(0,0,0,0.1);	
}


.schedule-widget .bw-session span.hc_time {
    color: var(--neutral-dark);
	margin-bottom: 10px;
}




.semantic-content .modal-inner {
    transform: translate3d(0, 0, 0);
    position: relative !important;
}

/* TEMP FIX */
.semantic-content .modal-close:after {
	display: none !important;
}



/********** MEDIA QUERIES **********/


@media screen and (max-width: 767px) {
	.schedule-widget .bw-widget__header .bw-header__title {
		font-size: 2.8rem;
	}

	.schedule-widget .bw-session .bw-session__name {
		font-size: 2.6rem;
		top: auto;
		text-align: center;		
	}	
	
	.schedule-widget .bw-session__basics {
		flex-direction: column;
	}

	.schedule-widget .bw-session__info {
		justify-content: center;
		align-items: center;
		margin-right: 0;
		margin-bottom: var(--space-m);
	}

	.schedule-widget .bw-widget__date, .schedule-widget .bw-widget--medium .bw-widget__date, .schedule-widget .bw-widget--large .bw-widget__date {
		text-align: center;
	}

	.schedule-widget .bw-session__detail-link, .schedule-widget .bw-widget--large .bw-session__detail-link {
		margin: var(--space-s) auto 0 auto;
	}	
}

@media screen and (max-width: 480px) {
	.schedule-widget .bw-session .bw-session__name {
		font-size: 2rem;
	}
}