﻿
/* Some Bootstrap style defaults */
	
	.flex-top-between {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.flex-center-between {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.align-items-center {
		display: flex;
		align-items: center;
	}
	.fw-bold {
		font-weight: bold;
	}
	
	.mb-0 { margin-bottom: 0; }
	.mb-2 { margin-bottom: .5rem; }
	.mb-3 { margin-bottom: 1rem; }
	.mb-4 { margin-bottom: 1.5rem; }
	.mb-5 { margin-bottom: 3rem; }
	.ms-2 { margin-left: .5rem; }
	.me-2 { margin-right: .5rem; }
	
	.mb-md-2 { margin-bottom: 0; }
	
	.pt-3 { padding-top: 1rem; }
	.pr-3 { padding-right: 1rem; }
	.pb-3 { padding-bottom: 1rem; }
	.pl-3 { padding-left: 1rem; }
	
	.pt-md-3 { padding-top: 0; }
	.pr-md-3 { padding-right: 0; }
	
	.d-none {
		display: none;
	}
	
	.ws-row {
		display: flex;
		flex-wrap: wrap;
	}
	.ws-row > * {
		flex-shrink: 0;
		width: 100%;
		max-width: 100%;
	}
	.ws-card {
		position: relative;
		display: flex;
		flex-direction: column;
		min-width: 0;
		word-wrap: break-word;
		background-color: #fff;
		background-clip: border-box;
		border: 1px solid rgba(0,0,0,.125);
		border-radius: .25rem;
	}
	.ws-card-header {
		padding: .5rem 1rem;
		margin-bottom: 0;
		background-color: #fff;
		border-bottom: 1px solid rgba(0,0,0,.125);
		border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
	}
	.ws-card-body {
		flex: 1 1 auto;
		padding: 1rem 1rem;
	}
	.ws-card-border-top {
		border-top: 16px solid;
	}
	.ws-card-border-left {
		border-left: 16px solid;
	}
	
	.ws-form-check-input {
		width: 20px;
		height: 20px;
		line-height: 20px;
	}
	.ws-form-select {
		display: block;
		width: 100%;
		padding: .375rem 2.25rem .375rem .75rem;
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.5;
		color: #212529;
		background-color: #fff;
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
		background-repeat: no-repeat;
		background-position: right .75rem center;
		background-size: 16px 12px;
		border: 1px solid #ced4da;
		border-radius: .25rem;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	
	@media (min-width: 768px) {
		.ws-col-md-8 {
			flex: 0 0 auto;
			width: 66.6666666667%;
		}
		.ws-col-md-4 {
			flex: 0 0 auto;
			width: 33.3333333333%;
		}
		
		.mb-md-0 { margin-bottom: 0; }
		.mb-md-2 { margin-bottom: .5rem; }
		
		.pt-md-3 { padding-top: 1rem; }
		.pr-md-3 { padding-right: 1rem; }
		
		.d-md-block {
			display: block;
		}
		
	}
	
/* Schedule Specifics */
	
	.ws-schedule-month {
		margin-bottom: 4rem;
	}
	.ws-schedule-filter h2, .ws-schedule-month > h2 {
		font-size: 2.6rem;
	}
	.ws-schedule-card {
		margin-bottom: 2rem;
	}
	.ws-schedule-icon {
		font-size: 14px;
		text-align: center;
		padding: 0;
		border-radius: 50% !important;
		width: 25px;
		height: 25px;
		border: none !important;
		outline: none !important;
		background-color: rgb(26 26 26 / 10%);
		color: #1a1a1a;
	}
	.ws-schedule-icon-lg {
		width: 30px;
		height: 30px;
		padding-top: 3px;
	}
	.ws-schedule-card--header-col {
		font-size: .7rem;
	}
	.ws-session-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		background-color: #fff;
		padding: 2rem 1rem;
		border-radius: .25rem;
		font-size: .7rem;
	}
	.ws-session-row.ws-session-row-odd {
		background-color: #f0f0f0;
		padding: 1rem 1rem;
	}
	.ws-session-row > div {
		width: 32%;
	}
	.ws-session-row > div:last-child {
		width: 35%;
		text-align: right;
	}
	
	@media (min-width: 768px) {
		
		.ws-schedule {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
		}
		.ws-schedule-filter {
			width: 25%;
			padding-right: 2rem;
			position: sticky;
			top: 40px;
			left: 0;
		}
		.ws-schedule-content {
			width: 75%;
		}
		.ws-schedule-card--header-col {
			font-size: 1rem;
		}
		.ws-session-row {
			padding: 2rem 2rem;
			font-size: 1rem;
		}
		.ws-session-row.ws-session-row-odd {
			padding: 1rem 2rem;
		}
		
	}
	