/* CALENDAR */
#calendar {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 1px;
	width: 100%;
}
.cal-month {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px 30px;
	padding: 10px;
	border-radius: 25px 25px 0 0;
}
.cal-month a {
	text-decoration: none;
	font-weight: bold;
}
.cal-row {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1; 
}
.calDays {
	padding: 5px;
	aspect-ratio: 1/ 1;
	overflow-y: auto;
}
.day-head {
	display: flex;
	justify-content: space-between;
}
#calendar .table-heading {
	text-align: center;
}
.event-cont {
	height: fit-content;
	font-size: 11px;
	overflow: auto;
}
.cancel-overlay {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 50;
	height: 100%;
	width: 100%;
}
.event-box svg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 50;
}
.cut:hover {
	cursor: default !important;
}
.event-box {
	position: relative;
	padding: 5px;
	margin-bottom: 2px;
	overflow: hidden;
}
.event-box:hover {
	cursor: pointer;
}
.cal-info {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.e-rightCol {
	margin-left: 15px;
}
.time-info {
	width: 100%;
	padding: 15px;
	height: fit-content;
}
#local-time {
	font-size: 1.5em;
	font-weight: bold;
	display: inline-block;
	width: 100%;
	text-align: center;
	margin-top: 10px;
}
.leader-buttons {
	margin: 15px 5% 20px 0;
	text-align: center;
}
.leader-buttons div {
	display: flex;
	flex-direction: column;
	width: max-content;
	gap: 10px;
	margin: 0 auto 0 auto;
}
.cal-key {
	padding: 10px;
	margin: 10px 0 0 5%;
}
.cal-key ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-flow: wrap;
}
.cal-key li {
	padding: 10px 10px 0 10px;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.dot {
	height: 25px;
	width: 25px;
	border-radius: 50%;
	display: inline-block;
	margin-right: 5px;
}
.endeavour {
	position: relative;
	width: 20px;
	height: 20px;
}
.endeavour .tri-right {
	position: absolute;
	border-top: 20px solid transparent;
	border-right: 20px solid #BF2929;
}
.endeavour .tri-left {
	position: absolute;
	border-bottom: 20px solid transparent;
    border-left: 20px solid #176FCD;
}
#cal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 999;
}
#event-popup {
	display: none;
	position: fixed;
	width: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 20px;
	border: 1px solid #ccc;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	z-index: 1000;
}
.eventHeader {
	display: flex;
	justify-content: space-between;
}
.signedCheck .fa-circle-check {
	font-size: 40px;
}
.eventDetails {
	width: fit-content;
}
.event-title {
	display: flex;
	justify-content: flex-start;
	font-size: 1.5em;
	font-weight: bold;
	gap: 20px;
	align-items: center;
	margin-bottom: 10px;
}
.day-time {
	font-style: italic;
}
.event-desc {
	width: 90%;
	margin: 10px auto 20px auto;
	padding: 10px;
}
.note {
	width: 45%;
	margin: 10px 0 10px 0;
	font-size: 13px;
}
.monthFooter {
	border-radius: 0 0 25px 25px !important;
}

/* EVENTS PAGE */
.eventTitleHead {
	display: grid;
	grid-template-columns: auto auto;
	gap: 2%;
}
.event-H1 {
	width: fit-content;
	padding: 5px 50px 5px 15px;
	margin-bottom: 0;
}
.event-roster {
	margin-top: 20px;
	padding: 20px;
}
.roster-cont {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 20px;
}
.roster-roles {
	padding: 20px;
}
.roster-roles div {
	width: fit-content;
	margin: 0 auto 10px auto;
	text-align: center;
}
.roster-roles ul, .roster-options ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.roster-roles li, .roster-options li, .add-role-head {
	display: flex;
	align-items: center;
}
.roster-roles li a, .roster-options li a {
	display: flex;
	text-decoration: none;
}
.roster-roles li img, .roster-options li img  {
	width: 25px;
	height: auto;
}
.roster-options {
	margin-top: 15px;
	gap: 30px;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}
.roster-options img {
	width: 40px;
	height: auto;
}
.keyKey {
	display: flex;
	text-align: center;
	margin-bottom: 10px;
}
.idealKey {
	height: 25px;
	width: 25px !important;
	border-radius: 50%;
	margin: 0 0 0 5px !important;
}
.leaderNotes {
	margin: 0 0 15px 0 !important;
}
.event-details {
	font-family: "Inter", sans-serif !important;
	font-size: 1.05rem !important;
	height: fit-content !important;
	border: 0 !important;
}

/* CREATE EVENT */
#cal-show, #recurDate, #recur-show {
	display: none;
}
#create-event .select {
	width: 10em;
	height: 2em;
	line-height: 1.8;
}
.event-form {
	display: flex;
	padding-bottom: 15px;
}
.event-form input {
	margin-right: 10px;
}
label {
	padding-right: 5px;
}
#charSelected, #typeSelected {
	min-width: 160px;
}

/* CUSTOM TIME DROPDOWN */
.timeHours {
	float: left;
	max-height: 175px;
	overflow-y: scroll;
}
.timeMins {
	float: right;
}

/* EVENT SIGNUP */
.event-signup .select {
	width: 10em;
	height: 2em;
	line-height: 1.8;
}
#nc-hide {
	display:block;
}
#selectClass {
	width: 60%;
	text-align: center;
}
#selectClass img:hover, #charRole img:hover {
	filter: drop-shadow(10px 10px 10px rgba(4, 170, 109, 0.7));
}
#r-tank, #r-heals, #r-dps, #cr-tank, #cr-heals, #cr-dps {
	display: block;
}
#add-roles-hide, #charRole {
	display: none;
}
.add-roles {
	display: flex;
	justify-content: flex-start;
	gap: 20px;
}
.event-signup input[type="text"] {
	width: 300px;
}
.nc-form-group {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 15px;
	margin: 15px 0 15px 0;
}

/* EVENT LIST */
.user-event-info {
	gap: 15px;
	align-items: center;
}
.user-event-info .time-info {
	width: 40%;
}
.user-event-info .cal-key {
	width: 100%;
	height: fit-content;
	margin: 0 5% 0 0 !important;
}
.event-table {
	display: grid;
	grid-template-columns: repeat(3, 1fr) repeat(3, auto);
	gap: 1px;
	width: 100%;
}
.event-table-header {
	font-weight: bold;
}
.event-row {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1; 
	align-items: center;
	padding-left: 10px;
}
.event-row div {
	padding: 5px;
}