html {
	overflow-y:hidden;
	overflow-x:hidden;
	height:100%;
}

body {
	overflow-y:hidden;
	overflow-x:hidden;
	height:100%;
}

	.testo {
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: #372525;
		z-index: 1000;
		display: flex;
		align-items: center;
		justify-content: center;
	}

		.parento {
			width: 40%;
			height: 80%;
			display: flex;
			align-items: center;
			justify-content: center;
			background-color: #8f6e32;
			flex-direction: column;
			gap: 1rem;
		}
			.expando {
				flex: 1;
				/* flex: 0; */
				align-items: center;
				justify-content: center;
				display: flex;
				transition: flex 1s ease;
				overflow: hidden;
				flex-direction: row;
				background-color: blue;
			}

body.ccb .lodge.calendar {
	flex-direction:column-reverse;
}

.highlight {
    /* background-color: rgb(185, 217, 255); */
	color: magenta;
    /* color: black; */
  }


/** 
	NOTE ABOUT WIDE SCREEN / LANDSCAPE...
	write some css logic for aspect ratio and screen height,
	if screen height is below a certain number of pixels (and possibly relative to width)
	give horizon h4 some higher flex priority, such as 80

	(!) Why does Register page only collapse the top 3 rows when browser is too short
**/
	

/*a:hover {*/
/*	cursor:pointer;*/
/*}*/

.instant {
  --animate-duration: 0.1s;
}

.hide {
	display:none!important;
}

.fide {
	animation: fide 0.5s 1 ease forwards;
}

.unfide,
.fide.unfide {
	animation: unfide 0.5s 1 ease forwards;
}

a:hover {
	cursor:pointer;
}

span.a {
	-moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
	-webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
	-ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
	border-bottom: dotted 1px rgba(255, 255, 255, 0.5);
	text-decoration: none;
	color: inherit;
}

span.a.bare {
	border:none;
}

	span.a:hover {
		border-bottom-color: transparent;
		cursor:pointer;
	}

@keyframes fide {
	0% {
		opacity:1;
		z-index:3;
	}
	99% {
		opacity:0;
		z-index:3;
	}
	100% {
		opacity:0;
		z-index:-1;
	}
}

@keyframes unfide {
	0% {
		opacity:0;
		z-index:-1;
	}
	1% {
		opacity:0;
		z-index:3;
	}
	100% {
		opacity:1;
		z-index:3;
	}
}

@keyframes backOutUp {
	0% {
	    -webkit-transform: scale(1);
	    transform: scale(1);
	    opacity: 1;
	}
	
	20% {
	    -webkit-transform: translateY(0) scale(.7);
	    transform: translateY(0) scale(.7);
	    opacity: .7;
	}
	100% {
	    -webkit-transform: translateY(-1200px) scale(.7);
	    transform: translateY(-1200px) scale(.7);
	    opacity: .7;
	}
}

.animate__flyIn {
    -webkit-animation-name: flyIn;
    animation-name: flyIn;
}

@keyframes flyIn {
	0% {
	    -webkit-transform: translateY(-100px) scaleX(.4) scaleY(0.1);
	    transform: translateY(-100px) scaleX(.4) scaleY(0.1);
	    opacity: .2;
	}
	100% {
	    -webkit-transform: scale(1);
	    transform: scale(1);
	    opacity: 1;
	}
}

.animate__flyThrough {
	-webkit-animation-name: flyThrough;
	animation-name: flyThrough;
}

@keyframes flyThrough {
	0% {
	    -webkit-transform: translateY(0px) scale(1);
	    transform: translateY(0px) scaleX(1);
	    opacity: 1;
	}
	50% {
		-webkit-transform: translateY(-800px);
		transform: translateY(-800px);
	    opacity: 0.2;
	}
	100% {
	    -webkit-transform: translateY(-1000px);
	    /*scale(20);*/
	    transform: translateY(-1000px);
	    /*scale(20);*/
	    opacity: 0;
	}
}

.animate__flyOut {
	-webkit-animation-name: flyOut;
	animation-name: flyOut;
}

@keyframes flyOut {
	0% {
	    -webkit-transform: scale(1);
	    transform: scale(1);
	    opacity: 1;
	}
	30% {
	    opacity: 0.2;
	}
	100% {
	    -webkit-transform: scale(0);
	    transform: scale(0);
	    opacity: 0;
	}
}
.animate__mobiSpeedInLeft {
    -webkit-animation-name: mobiSpeedInLeft;
    animation-name: mobiSpeedInLeft;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
} @keyframes mobiSpeedInLeft {
	0% {
		-webkit-transform: translate3d(-100%, 0, 0);
		 /* skewX(30deg); */
		transform: translate3d(-100%, 0, 0);
		 /* skewX(30deg); */
		opacity: 0;
	}
	60% {
		/* -webkit-transform: skewX(-20deg);
		transform: skewX(-20deg); */
		opacity: 1;
	}
	/* 80% {
		-webkit-transform: skewX(5deg);
		transform: skewX(5deg);
	} */
	100% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
}

.animate__mobiSpeedInRight {
    -webkit-animation-name: mobiSpeedInRight;
    animation-name: mobiSpeedInRight;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
} @keyframes mobiSpeedInRight {
	0% {
		-webkit-transform: translate3d(100%, 0, 0);
		 /* skewX(-30deg); */
		transform: translate3d(100%, 0, 0);
		 /* skewX(-30deg); */
		opacity: 0;
	}
	60% {
		/* -webkit-transform: skewX(20deg);
		transform: skewX(20deg); */
		opacity: 1;
	}
	/* 80% { */
		/* -webkit-transform: skewX(-5deg);
		transform: skewX(-5deg); */
	/* } */
	100% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
}

.animate__mobiSpeedOutLeft {
    -webkit-animation-name: mobiSpeedOutLeft;
    animation-name: mobiSpeedOutLeft;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
} @keyframes mobiSpeedOutLeft {
	0% {
		opacity: 1;
	}
	100% {
		-webkit-transform: translate3d(-100%, 0, 0);
		 /* skewX(-30deg); */
		transform: translate3d(-100%, 0, 0);
		 /* skewX(-30deg); */
		opacity: 0;
	}
}

.animate__mobiSpeedOutRight {
    -webkit-animation-name: mobiSpeedOutRight;
    animation-name: mobiSpeedOutRight;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
} @keyframes mobiSpeedOutRight {
	0% {
		opacity: 1;
	}
	100% {
		-webkit-transform: translate3d(100%, 0, 0);
		 /* skewX(30deg); */
		transform: translate3d(100%, 0, 0);
		 /* skewX(30deg); */
		opacity: 0;
	}
}

.logwall {
	position: fixed;
	z-index:-1;
	opacity:0;
	width:100%;
	height:100%;
	overflow:hidden;
}

.logwall.animate__animated {
	z-index:20;
}

aside.menu {
	/*position:absolute;*/
	/*left:0px;*/
	/*top:0px;*/
	width:auto;
	max-width:200px;
	border-right:1px solid white;
	height:calc(100% - 50px);
	height:100%;
    display: flex;
    flex-direction: column;
	/* overflow:hidden; */
	transition:max-width 0.4s ease, border-color 0s;
	transition:right 0.4s ease, border-color 0.3s ease 0.3s;
}

aside.menu button {
	border:none;
	box-shadow:none;
	border-bottom:1px solid white;
	border-radius:0px;
	background-color:rgba(255 255 255 / 10%);
	padding: 0.5rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.5rem;
}

aside.menu button svg {
	margin-right:0.5rem;
}

aside.menu button .ph,
aside.menu button .ph-thin {
	font-size:1rem;
	margin-right:0.5rem;
}

	@media screen and (max-width:690px) {
		aside.menu button .ph,
		aside.menu button .ph-thin {
			font-size:1.5rem;
		}
	}

aside.menu button.userto {
	display:flex;
	flex-direction:row;
	justify-content: flex-start;
	transition: padding-left 0.4s ease-in-out, background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	padding:0 0.5rem;
}

.userto.selected {
	padding-left: 1rem;
    background-color: rgb(255 255 255 / 25%);
}

.userto.selected i {
	text-decoration: underline;
}

aside.menu button.userto.flash {
	background-color:rgb(95 145 195);
}

aside.menu .mobideets {
	display:none;
}

.userto div {
	height: 100%;
    display: flex;
    align-items: center;
}

aside.menu button:hover {
	background-color:rgba(255 255 255 / 30%);
}

	@media screen and (max-width:690px) {

		aside.menu {
			position:absolute;
			right:0px;
			right:-200px;
			width:200px;
			border-right:1px solid transparent;
			transition:right 0.2s ease, border-color 0.3s ease 0.3s;
			background-color:rgb(200 200 200 / 0.98);
			background-color:rgb(52 68 84 / 98%);
			background-color:rgb(80 100 120 / 98%);
			z-index:5;
		}

		aside.menu .mobideets {
			display: flex;
			/* position: absolute; */
			/* bottom: 0px; */
			flex-direction: column;
			width: 100%;
			align-items: center;
			text-align: center;
		}

		aside.menu .mobideets div {
			width:100%;
			padding:0.5rem 0;
		}
		
		aside.menu .mobideets button {
			width:100%;
			border-top:1px solid white;
		}

		aside.menu button {
			font-size:1rem;
			height:3.5rem;
		}
		
		aside.menu.open {
			/* width:200px; */
			right: 0px;
			border-left: 1px solid white;
			box-shadow: -5px 3px 5px rgb(0 0 0 / 42%);
			transition:right 0.4s ease 0.1s, border-color 0.3s ease 0.3s;
		}

	}

aside.menu .legend {
	font-size:0.6rem;
	padding:0.5rem;
}

.mini.bar {
    border-radius: 0.5rem;
    height: 0.5rem;
    width: 100%;
	margin-bottom:1rem;
}

.mini.bar.owner {
	/* background-color:rgba(0 0 0 / 95%); */
	box-shadow:0 0 0 1px rgb(255 255 255 / 50%), 0.1rem 0.1rem 4px rgb(0 0 0 / 50%);
}

.mini.bar.operator {
	/* background-color:rgb(125 170 230 / 95%); */
	box-shadow:0 0 0 1px black, 0.1rem 0.1rem 4px rgb(0 0 0 / 50%);
}

.mini.bar.owner.operator {
    /* background-color: white; */
    box-shadow: 0 0 0 1px black, 0.1rem 0.1rem 4px rgb(0 0 0 / 50%);
}


.lodges {
	position:relative;
	width:100%;
	height:100%;
}

.lodge {
	position:absolute;
	/* background-color:rgba(0 0 0 / 10%); */
	width:100%;
	height:100%;
	display:flex;
	flex-direction:column;
	/* display:none; */
	z-index:-1;
	opacity:0;
	animation: byed 0.2s;
}

.lodge.initial {
	animation: byed 0s forwards;
}

.lodge.show {
	z-index:1;
	opacity:1;
	animation: unbyed 0.5s;
}

@keyframes unbyed {
	0% {
		z-index:-1;
		opacity:0;
	}
	1% {
		z-index:3;
	}
	99% {
		opacity:1;
	}
	100% {
		opacity:1;
	}
}

@keyframes byed {
	0% {
		opacity:1;
		z-index:3;
	}
	99% {
		opacity:0;
	}
	100% {
		z-index:-1;
	}
}

.evodal_bunker {
	display:none;
}

.warning {
	position: absolute;
    top: 2%;
    z-index: 100;
    min-width: 400px;
    background-color: #ffffff;
    padding: 1rem;
    border-radius: 1rem;
    box-shadow: 0.5rem 0.5rem 0.8rem #0000009e;
    color: black;
}

.warning .title {
	font-size:1rem;
	text-transform:uppercase;
	letter-spacing:0.2rem;
	color:black;
	line-height:0.8rem;
}

.warning .message {
	font-size:0.8rem;
}

.warning .options button {
	color:#4f4f4f;
	border-radius:0.3rem;
	transition:background-color 0.3s;
}

.warning .options button.save_event_changes {
	color:white;
	background-color: rgb(42 185 42);
	box-shadow:none;
}

.warning .options button.save_event_changes:hover {
	background-color:rgb(18 215 23);
}

.warning .options button.discard_event_changes {
	color:black;
	background-color:rgb(220 220 220);
}

.warning .options button.discard_event_changes:hover {
	background-color:rgb(240 240 240);
}

.warning .cancel {
	position: absolute;
    top: 0.3rem;
    right: 0.3rem;
}

.round {
	width:1.75rem;
	height:1.75rem;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	background-color:transparent;
	transition:background-color 0.25s;
}

.round.dim {
	background-color:rgba(0 0 0 / 5%);
}

.round:hover {
	background-color:rgba(0 0 0 / 25%);
}

.modal_wrap {
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	background-color:rgb(0 0 0 / 50%);
	display:flex;
	align-items: center;
	justify-content: center;
	z-index:-1;
	opacity:0;
	animation: modalhide 0.2s forwards;
}

.modal_wrap.initial {
	animation: modalhide 0s forwards;
}

.modal_wrap.show {
	z-index:6;
	opacity:1;
	animation: modalshow 0.5s forwards;
}

.modal.evodal {
	position:relative;
	width:90%;
	max-width:720px;
	height:90%;
	background-color:rgb(97 137 185 / 95%);
	background-color:rgb(50 84 125 / 95%);
	border-radius:var(--evodal-border-radius);
	/* padding:1.5rem; */
	/* padding:0.5rem 1rem 1rem 1rem; */
	display: flex;
    flex-direction: column;
    justify-content: space-between;
	justify-content: flex-start;
	gap:1rem;
	box-shadow:1rem 1rem 1rem rgb(0 0 0 / 30%);
	/* overflow-y:hidden; */
	padding-top:0.25rem;
}

.modal.evodal .scrodal {
	overflow-y: scroll;
	position: absolute;
	width: 100%;
	height: calc(100% - 20px);
	height:calc(100% - 2.3rem);
	top: 2.3rem;
	padding-top:0.5rem;
	padding-left: 16px;
	--mask-top-height:1rem;
	--mask-bottom-height:2rem;
	--mask-image-content: linear-gradient(
		to bottom,
		transparent,
		black var(--mask-top-height),
		black calc(100% - var(--mask-bottom-height)),
		transparent
	);
	padding-bottom:2rem;
	/* padding-right: 10px; */
}

.modal.evodal span.section-head,
.modal.evodal div.section-head {
	font-size:0.75rem;
	height:1.15rem;
	max-width:fit-content;
	text-transform:uppercase;
	letter-spacing:0.2rem;
	border-bottom:1px dotted white;
	margin-left:-0.25rem;
	margin-bottom:0.4rem;
}

button.crew-add,
.modal button {
/* .modal .leg_container .trash { */
    height: 1.2rem;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    box-shadow: 2px 2px 4px rgb(0 0 0 / 35%), inset 0 0 0 1px rgb(255 255 255 / 25%);
    text-transform: none;
    letter-spacing: normal;
	transition:background-color 0.3s;
}

/* .modal .leg_container .trash {
	height:1.8rem;
	padding-right:0.25rem;
}

.modal .leg_container .trash span {
	margin-left:0.25rem;
	line-height:1rem;
	padding-right:1rem;
} */

button.crew-add {
    position: absolute;
    right: 0;
    width: 2rem;
    margin-top: 0.05rem;
	background-color:rgb(235 245 255 / 20%);
	height:1.2rem
}

button.crew-add:hover {
	background-color:rgb(255 255 255 / 30%);
}

button.crew-add i {
	font-size:1.1rem;
}

.modal.evodal input {
	font-size:0.8rem;
}

.mini_modal {
	position: absolute;
    background-color: rgb(78 96 118);
    padding: 1rem;
    right: 100%;
    bottom: calc(100% + 2rem);
    border-radius: 1rem;
    box-shadow: inset 0.1rem 0.2rem 1rem -0.5rem white, 0.2rem 0.4rem 1.2rem 0.4rem black;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    cursor: default;
	color:white;
	animation-duration:0.2s;
}

.modal.evodal.window { 
    align-items: center;
	border-radius:8.5rem;
    border: 1rem solid linear-gradient(white black);
    box-shadow: inset 0.2rem 0.2rem 1.25rem rgb(0 0 0 / 90%), inset 0.2rem -0.2rem 1.25rem rgb(0 0 0 / 90%), inset -0.2rem -0.2rem 1.25rem rgb(0 0 0 / 90%), inset -0.2rem 0.2rem 1.25rem rgb(0 0 0 / 90%);
	background:linear-gradient(175deg, #4c87ff 0%, #005eff 62%, #92b9ff 85% 100%);
	background:linear-gradient(175deg, #4c87ff 0%, #4399ff 62%, #92b9ff 85% 100%);
	background:
		radial-gradient(at 50% 200%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 15%, rgba(157, 213, 58, 0) 62%, rgba(124, 188, 10, 0) 73%, rgba(124, 188, 10, 0) 100%),
		repeating-radial-gradient(circle at 62% 200%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 1%, rgba(216, 239, 255, 1) 34%, rgba(255, 0, 0, 0) 45%, rgba(63, 111, 255, 0) 100%),
		repeating-linear-gradient(180deg, rgba(0, 29, 255, 1) 0, rgba(71, 184, 255, 1) 100%);
    background-size: 400% 100%;
    animation: gradient 60s linear infinite;
}

.modal.evodal .event.close,
.modal.evodal .event.save {
	aspect-ratio: 1;
    /* width: 3rem;
    height: 3rem;
    border-radius: 50%; */
	width:2.25rem;
	height:2.25rem;
	border-radius:var(--evodal-border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    letter-spacing: normal;
    line-height: 1rem;
    position: absolute;
    top: 0rem;
    right: 0rem;
    z-index: 2;
    font-size: 1.25rem;
    cursor: pointer;
    box-shadow: none;
}

.modal.evodal .event.save {
	border-bottom-right-radius: 0;
    border-top-left-radius: 0;
}

.modal.evodal .event.close {
    right: unset;
    left: 0rem;
	border-bottom-left-radius: 0;
    border-top-right-radius: 0;
}

.modal.evodal .event.close:hover {
	background-color:rgb(164 164 164 / 95%);
}

.modal.evodal .event.save:hover {
	background-color:rgba(76, 198, 76, 0.95);
}

.modal.evodal .event.trash {
	background: linear-gradient(180deg, rgb(30 30 30 / 50%) 27%, rgb(0 0 0 / 60%) 140%);
	background: rgb(30 30 30 / 50%);
    box-shadow: inset 0 0 0.3rem black;
    padding: 0.5rem 0.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    background-position: 50% 50%;
    transition: background-color 0.25s ease;
	width:100%;
}

.modal.evodal .event.trash:hover,
.leg.tray .trash:hover {
	background: linear-gradient(180deg, rgba(64, 20, 20, 0.5) 27%, rgba(255, 60, 60, 0.8) 100%);
	background: rgb(255 50 50 / 40%);
}

.modal.evodal .trash label {
	margin:0;
	padding:0;
}

.modal.evodal label.switch {
	display:flex;
	flex-direction:column;
	letter-spacing:unset;
	text-transform:none;
}

.modal.evodal label.switch > .switch-btn {
	width:36px;
	height:22px;
	background: #acacac;
	box-shadow: inset 2px 4px 8px rgb(0 0 0 / 50%);
	transition: background-color 0.2s ease;
}

.modal.evodal label.switch > div.switch-btn::before {
	height:18px;
	width:18px;
}

.modal.evodal label.switch > input[type=checkbox]:checked + div.switch-btn {
	/* background: #56a6ff; */
	background: rgb(255 100 255);
	transition: background-color 0.3s ease;
}

.modal.evodal label.switch > input[type=checkbox]:checked + div.switch-btn:before {
	left:16px;
}

/* .modal.evodal {
	clip-path: inset(100% 0% 0% 0%);
	transition: clip-path 0.6s ease;
}

.modal.evodal.expose {
	clip-path: inset(0% 0% 0% 0%);
} */



@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	/* 50% {
		background-position: 100% 50%;
	} */
	100% {
		background-position: 200% 50%;
	}
}

@keyframes modalshow {
	0% {
		z-index:-1;
		opacity:0;
	}
	1% {
		z-index:6;
	}
	99% {
		opacity:1;
	}
	100% {
		opacity:1;
	}
}

@keyframes modalhide {
	0% {
		opacity:1;
		z-index:6;
	}
	99% {
		opacity:0;
	}
	100% {
		z-index:-1;
	}
}


.evodal .flow,
.evodal .flum {
	margin:0.5rem;
}

.evodal .flum:first-of-type {
	margin-left:0;
}

.evodal .flum:last-of-type {
	margin-right: 0;
}

.evodal .legs {
	border-radius:1rem;
	/* padding:0.5rem;
	box-shadow:inset 0 0 1rem rgb(0 0 0 / 20%); */
}

.evodal .add_leg {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-radius: 0.6rem;
    box-shadow: 0 0rem 0.4rem black;
    text-transform: none;
    letter-spacing: unset;
    font-size: 1rem;
    font-weight: normal;
    font-family: "Source Sans Pro", sans-serif;
    height: 1.8rem;
    line-height: 1.8rem;
	width: 90%;
    padding: 0;
    margin-top: 0.5rem;
    margin-left: 5%;
}

.evodal .leg.tray {
	padding:0 0 0.25rem 0;
	border-bottom:0.25rem dotted rgb(255 255 255 / 20%);
	border-bottom:1px solid rgb(255 255 255 / 20%);
}

.evodal .leg.tray:first-of-type {
	padding-top:0rem;
}

.leg_modified_by {
	opacity:0.6;
	min-height:1rem;
}

/* .evodal .leg.tray:last-of-type {
	border:none;
	padding-bottom:0.25rem;
} */

.legsizer > div:first-child {
    padding-top: 0.25rem;
}

.modal.evodal .leg_container {
	border-radius:0.5rem;
}

.leg_num {
	font-weight:bold;
	/* text-decoration:underline; */
	position:relative;
	padding:0 1rem 0 0;
}

.leg_more {
	padding:0 1rem;
	position:relative;
}

.leg.tray:nth-child(1) .leg_num,
.leg.tray:nth-child(1) .leg_more {
	color: var(--leg1);
}
.leg.tray:nth-child(2) .leg_num,
.leg.tray:nth-child(2) .leg_more {
	color: var(--leg2);
}
.leg.tray:nth-child(3) .leg_num,
.leg.tray:nth-child(3) .leg_more {
	color: var(--leg3);
}
.leg.tray:nth-child(4) .leg_num,
.leg.tray:nth-child(4) .leg_more {
	color: var(--leg4);
}
.leg.tray:nth-child(5) .leg_num,
.leg.tray:nth-child(5) .leg_more {
	color: var(--leg5);
}
.leg.tray:nth-child(6) .leg_num,
.leg.tray:nth-child(6) .leg_more {
	color: var(--leg6);
}
.leg.tray:nth-child(7) .leg_num,
.leg.tray:nth-child(7) .leg_more {
	color: var(--leg7);
}

/* .leg_num_title {
	text-decoration:underline;
} */

.leg.tray .leg_num i,
.leg.tray .leg_more i {
	bottom: 0.4rem;
    position: absolute;
    right: -0.2rem;
	transition:transform 0.4s;
	font-size:0.9rem;
}

.leg.tray:has(.extras.open) .leg_num i,
.leg.tray:has(.extras.open) .leg_more i {
	transform:rotateX(180deg);
}

/* .evodal .leg.tray div {
	flex-grow:1;
} */

/* .cliffnotes {
	font-size:0.7rem;
	display:none;
}

	@media screen and (max-width:690px) {
		.cliffnotes {
			font-size:0.6rem;
		}
	} */

.evodal .extras {
	height:0;
	overflow:hidden;
	transition:height 0.4s ease-in-out;
}

.leg.trash {
    background: linear-gradient(180deg, rgb(30 30 30 / 50%) 27%, rgb(0 0 0 / 60%) 140%);
    background: rgb(30 30 30 / 50%);
	background: rgb(100 30 30 / 40%);
    box-shadow: inset 0 0 0.3rem black;
    padding: 0.5rem 0.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    background-position: 50% 50%;
    transition: background-color 0.25s ease;
    /* width: 100%; */
}

.inputarea {
	border:1px solid white;
	border-radius:4px;
	cursor:text;
	width:100%;
	min-height:4rem;
	font-size:0.8rem;
	line-height:1rem;
	padding:0.25rem;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:0.25rem;
}

.inputarea input {
	border:none;
	outline:none;
	width:auto;
	transition:border 0.5s, background-color 0.5s, box-shadow 0.5s;
}

.inputarea .paxinput {
	width:6rem;
}

.inputarea .paxinput {
	background-color:transparent;
}

.inputarea .paxpop:not(.bubble) .paxinput:focus {
	background-color:rgb(255 255 255 / 4%);
}

.inputarea .paxpop.bubble .paxinput:focus {
	background-color:transparent;
}

.inputarea .paxpop:first-child .paxinput {
	min-width:4.2rem;
}

.inputarea .paxpop .paxinput::placeholder {
	color:transparent;
}

.inputarea .paxpop:first-child .paxinput::placeholder {	
	color:rgb(255 255 255 / 50%);
}

.inputarea input:focus {
	outline:none;
	border:none;
	box-shadow:none;
}

::-webkit-scrollbar-corner {
  background: rgba(0,0,0,0);
}

.inputarea .paxpop.bubble {
	border:none;
    background-color: rgb(145 145 145 / 40%);
    box-shadow:
		inset 0px 0px 0 1px rgb(7 7 49 / 80%),
		inset 2px 2px 5px rgb(255 255 255 / 40%),
		inset -2px -2px 3px 0 rgb(0 0 0 / 40%),
		3px 3px 6px rgb(0 0 0 / 20%);
	border-radius:0.25rem;
}

.inputarea .paxpop.bubble.found {
	border:none;
    background-color: rgb(50 155 255 / 30%);
    box-shadow:
		inset 0px 0px 0 1px rgb(7 7 49 / 80%),
		inset 2px 2px 5px rgb(255 255 255 / 40%),
		inset -2px -2px 3px 0 rgb(0 0 0 / 40%),
		3px 3px 6px rgb(0 0 0 / 20%);
}

.paxpop {
	position:relative;
	height:1.5rem;
	/* background-color:rgb(255 255 255 / 2%); */
}

.paxpop i {
	display:none;
}

.leg.tray .paxpop.bubble i {
	display:block;
	cursor:pointer;
	transition:color 0.3s, background-color 0.3s;
	border-radius:0.25rem;
	margin-top: 0.05rem;
    /* margin-left: -0.5rem; */
	font-size: 0.8rem;
    padding: 0.2rem;
    margin-right: 0.1rem;
	z-index:2;
}

.paxpop.bubble i:hover {
	color:rgba(255, 255, 255, 0.8);
	background-color:rgb(255 255 255 / 10%);
}

.pax_suggestions {
	position:absolute;
	top:100%;
	left:3px;
	background-color:rgb(90 140 255);
	border-radius:0.2rem;
	box-shadow:0.3rem 0.3rem 0.4rem rgb(0 0 0 / 40%), inset 0 0 0 1px black;
	animation-duration:0.1s;
}

.pax_suggestions .suggestion {
	padding:0.2rem 0.4rem;
	transition:background-color 0.3s;
	white-space:nowrap;
	cursor:pointer;
	border-radius:inherit;
}

.pax_suggestions .suggestion:hover {
	background-color:rgb(155 210 255 / 30%);
}

.textsizer {
	position:absolute;
	top:-500px;
	left:-500px;
	white-space:nowrap;
	z-index:-1;
}

textarea.remarks {
	resize:vertical;
	min-height:3.5rem;
}
/* .evodal .leg.tray .extras.open {
	height:14rem;
} */

.leg_container .extras {
	padding-left:1rem;
	padding-right:0.25rem;
}

.extras textarea {
	padding:0 0.4rem;
}

.leg_container .extras [class*="ph-thin ph-airplane"] {
    position: absolute;
    margin-left: 0.5rem;
}

.extras.measuring {
	position:absolute;
	top:-1000px;
	height:auto;
}
/* .leg_container .extras input[type=tel] {
	padding:0 0.25rem;
} */

.leg_container .extras [class*="ph-thin ph-airplane"] ~ input[type=tel] {
	padding-left:2rem;
}

.leg.tray input {
	position:relative;
}

.input-container {
  position: relative; /* Makes the container the positioning context for the icon */
  /* Add other styles for the container as needed */
}

.input-container i {
	right: 1rem; /* Adjust as needed for icon placement */
	top: 50%; /* Vertically center the icon */
	transform: translateY(-50%); /* Correctly center the icon vertically */
	position: absolute;
}

.who.what .input-container i {
	right:unset;
	left:0.5rem;
}

.modal.evodal .who.what input[type=text] {
	padding-left:2rem;
}

.leg.tray i {
	font-size:1.2rem;
	color:rgba(255, 255, 255, 0.5);
}

	@media screen and (max-width:690px) {
		.leg.tray i {
			font-size:1rem;
		}
	}

.leg.tray .row:has(.leg.time) i:not(.ph-watch) {
	font-size:1rem;
}

.leg.tray .trash i {
	font-size:1rem;
}

.leg.tray .trash label {
	cursor:pointer;
}

.leg.tray .distance_contain {
	position:relative;
	flex-grow:1;
}

.leg.tray .distance,
.leg.tray .time.enroute,
.leg.tray .flight_duration {
	font-size:0.6rem;
	opacitY:0.8;
}

/* .leg.tray .crew_abbr,
.leg.tray .pax_abbr {
	font-size:0.6rem;
} */

/* .leg.tray .pax_abbr {
	flex-shrink:0;
} */

/* .pax_side_scroll {
	max-width: 100%;
}

	@media screen and (max-width:690px) {
		.pax_side_scroll {
			padding-bottom:0.5rem;
		}
	} */

.pax_contain {
	width: auto;
}

.timencrew i.ph-thin.ph-airplane-in-flight {
    margin-top: -0.7rem;
}

/* .timencrew .distance {
	font-size:0.6rem;
} */

.timencrew .bottom_details {
	padding-left:0.5rem;
}

.timencrew .bottom_details div {
	font-size:0.7rem;
	opacity:0.5;
	align-items:center;
}

.timencrew .bottom_details .leg_more,
.timencrew .bottom_details .leg_num {
	opacity:1;
	font-size:1rem;
	font-weight:bold;
}

/* .timencrew i.ph-thin.ph-trash {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    background-color: #ffffff1c;
    border-radius: 50%;
    font-size: 1.5rem;
    padding: 0.5rem;
    color: white;
    cursor: pointer;
    transition: background-color 0.4s, box-shadow 0.3s;
} */

.timencrew i.ph-thin.ph-trash {
    /* display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff1c;
    border-radius: 0.25rem;
    padding: 0.2rem 1rem;
    color: white;
    cursor: pointer;
    transition: background-color 0.4s, box-shadow 0.3s; */

	display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff1c;
    border-radius: 0.25rem;
    padding: 0.2rem 1rem;
    color: white;
    cursor: pointer;
    transition: background-color 0.25s, box-shadow 0.3s;
    background: rgb(30 30 30 / 20%);
    box-shadow: inset 0 0 0.3rem black;
    border-radius: 0.5rem;
    cursor: pointer;
    background-position: 50% 50%;
    /* transition: background-color 0.25s ease; */
}

.timencrew i.ph-thin.ph-trash:hover {
    /* background-color: #ff3e3e47; */
    /* box-shadow: inset -2px -2px 2px 0px rgb(0 0 0 / 40%), inset 2px 2px 6px 0px rgb(255 255 255 / 39%); */
	background: rgb(255 50 50 / 40%);
}

/* .leg.tray .distance_contain i {
	margin-top:-0.5rem;
} */

/* .leg.tray .distance_contain .distance {
	margin-bottom:2rem;
} */

.modal.evodal input,
.modal.evodal select,
.modal.evodal textarea {
    color: #ffffff;
    /* font-family: "Source Sans Pro", sans-serif; */
    /* font-weight: 300; */
	/* height:2rem;
    font-size: 0.8rem;
    line-height: 1.25; */
}

.modal button {
	font-family: "Source Sans Pro", sans-serif;
}


.modal.evodal input[type=text],
.modal.evodal input[type=tel] {
	font-size:0.8rem;
	height:1.8rem;
	padding:0 0 0 0.4rem;
}

.modal.evodal textarea {
	font-size:0.8rem;
}

.modal.evodal .event.title {
	border: none;
    border-bottom: 1px solid white;
	margin:0 3rem;
	width:auto;
	text-align:center;
	font-weight:bold;
	letter-spacing:0.1rem;
	font-size:1rem;
	border-radius:0;
}

.modal.evodal .event.title:focus {
	border-radius:0.25rem;
	box-shadow:unset;
	border:1px solid white;
	margin: 0 2.75rem;
}

/* .modal.evodal .event.title:focus {
	box-shadow:unset;
	border:1px solid white;
} */

/* .leg.tray .end i {
	right:unset;
	left:0.5rem;
}

.leg.tray input.destination {
	padding-left: 2.2rem;
} */

.evodal input[type=datetime-local],
.evodal input[type=date],
.evodal input[type=time] {
	color: #b6bfcd;
    padding: 0.2rem;
    /* padding-left: 0.5rem; */
    font-size: 0.8rem;
    font-weight: bold;
    border-radius: 0.5rem;
    appearance: none;
    outline: none;
    border: none;
    /* width: 100%; */
	width:auto;
    /* margin: 0 0.25rem; */
    background: rgb(235 245 255 / 20%);
    box-shadow: 2px 2px 4px rgb(0 0 0 / 35%);
}


	@media screen and (max-width:690px) {
		.modal.evodal {
			height:90%;
			width:100%;
			/* padding:0.25rem; */
			position:absolute;
			bottom:0px;
			border-bottom-left-radius:0px;
			border-bottom-right-radius:0px;
		}

		.modal.evodal .scrodal {
			padding-top:1rem;
			padding-left:0.75rem;
			padding-right:0.75rem;
		}
	}

	@media screen and (max-width:690px) {
		.evodal input[type=datetime-local],
		.evodal input[type=date],
		.evodal input[type=time] {
			padding:0 0.5rem;
			/* font-size:0.7rem; */
		}
	}

.airport_results {
	position: absolute;
    left: 0px;
    top: 100%;
    height: auto;
    width: 100%;
    background-color: #dbe0ea;
    min-height: 50px;
    z-index: 1;
    border-radius: 0.5rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-top: -0.4rem;
    color: rgb(30 100 175);
    font-weight: bold;
	box-shadow: 0.2rem 0.2rem 0.5rem rgb(0 0 0 / 30%);
	animation-duration:0.2s;
	text-align:left;
}

input.event.date,
input.leg.when {
	height:1.8rem;
}

.airport_results .ap_search_result {
    padding: 0 0.25rem;
	cursor:pointer;
}

.airport_results .ap_search_result:last-of-type {
	border-radius:inherit;
}

.airport_results .ap_search_result:hover {
	background-color:rgb(205 215 240);
}

.airport_results .ap_search_result.highlight {
	background-color:rgb(190, 204, 238);
}

.icao_name {
	font-size: 0.6rem;
    padding: 0 0.5rem;
    line-height: 1rem;
    padding: 0.2rem 0 0 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.locale_details {
	font-size:0.6rem;
	border-bottom:1px solid rgb(0 0 0 / 50%);
	white-space:nowrap;
	text-overflow:ellipsis;
	overflow:hidden;
}

/* .fp50 input[type=date],
.fp50 input[type=time] {
    display: flex;
	flex-direction:row;
	justify-content: space-between;
} */



.darkener {
	position:absolute;
	top:0px;
	left:0px;
	height:100%;
	width:100%;
	background-color:rgb(20 30 40 / 60%);
	z-index:-1;
	opacity:0;
	display:block;
	/* display:none; */
	animation: undarken 0.2s forwards;
}

.darkener.show {
	/* opacity: 1; */
	/* display: block; */
	/* z-index: 3; */
	animation: darken 0.4s forwards;
}

@keyframes darken {
	0% {
		z-index:-1;
		/* display:none; */
		opacity:0;
	}
	1% {
		opacity:0;
		z-index:4;
		/* display:block; */
	}
	/* 99% {
		opacity:1;
	} */
	100% {
		z-index:4;
		opacity:1;
	}
}

@keyframes undarken {
	0% {
		opacity:1;
		z-index:4;
		/* display:block; */
	}
	99% {
		opacity:0;
		z-index:4;
	}
	100% {
		z-index:-1;
		/* display:none; */
	}
}

.logwall .top {
	position:absolute;
	width:100%;
	top:0px;
	height:50px;
	border-bottom:1px solid white;
	padding: 0 0 0 0.5rem;
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
}

.logwall .rest {
	position:absolute;
	width:100%;
	top:50px;
	bottom:0px;
	display:flex;
	flex-direction:row;
}

.top .title {
	position:relative;
	height:100%;
	display:flex;
	align-items:center;
	white-space:nowrap;
}

.top .title h2 {
	margin: 0;
    text-transform: none;
    letter-spacing: normal;
}

.top .title img {
	height:100%;
	margin-right:0.5rem;
}

	@media screen and (max-width: 690px) {
		.top .title h2 {
			font-size:1.2rem;
		}

		.top .title img {
			height:80%;
		}
	}

.logwall .outer {
	position:absolute;
	width:calc(100% + 2px);
	height:calc(100% + 2px);
	width:100%;
	height:100%;
	left:0px;
	top:0px;
	border:1px solid white;
	z-index:-1;
	background-color:rgba(255 255 255 / 40%);
	transition: border 1s ease 0.5s, background-color 1s ease 0.5s;
}

.logwall.animate__flyIn .outer {
	border:1px solid transparent;
	background-color:transparent;
}

.logwall .top .r {
	height:100%;
	display:flex;
	flex-direction:row;
	align-items: center;
}

.hamburger {
	display:none;
	width:50px;
	height:50px;
	margin-right:0.25rem;
}

	.hamburger .helper {
		width:100%;
		height:100%;
		/* display:none; */
	}

	.hamburger .helper:hover {
		cursor:pointer;
	}

	.hamline {
		fill: none;
		stroke: rgb(230, 230, 230);
		stroke-width: 6;
		stroke-linecap: round;
		transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
		stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1),
		stroke 400ms ease;
	}

	.hamburger .helper:hover .hamline {
		stroke:#ffffff;
	}

	.hamline1 {
		stroke-dasharray: 60 207;
		stroke-width: 6;
	}
	.hamline2 {
		stroke-dasharray: 60 60;
		stroke-width: 6;
	}
	.hamline3 {
		stroke-dasharray: 60 207;
		stroke-width: 6;
	}
	.opened .hamline1 {
		stroke-dasharray: 90 207;
		stroke-dashoffset: -134;
		stroke-width: 6;
	}
	.opened .hamline2 {
		stroke-dasharray: 1 60;
		stroke-dashoffset: -30;
		stroke-width: 6;
	}
	.opened .hamline3 {
		stroke-dasharray: 90 207;
		stroke-dashoffset: -134;
		stroke-width: 6;
	}

	
	#nav-icon1 {
		width: 40px;
		height: 50px;
		margin-right:4px;
		position: relative;
		/* margin: 50px auto; */
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		-o-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		cursor: pointer;
		display:none;
	}

	#nav-icon1 span, #nav-icon3 span, #nav-icon4 span {
		display: block;
		position: absolute;
		height: 4px;
		width: 100%;
		background: #ffffff;
		border-radius: 3px;
		opacity: 1;
		left: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: 0.33s ease-in-out;
	}

	#nav-icon1 span:nth-child(1) {
		top: 12px;
	}

	#nav-icon1 span:nth-child(2) {
		top: 22px;
	}

	#nav-icon1 span:nth-child(3) {
		top: 32px;
	}

	#nav-icon1.open span:nth-child(1) {
		top: 22px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		-o-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	#nav-icon1.open span:nth-child(2) {
		opacity: 0;
		left: -60px;
	}

	#nav-icon1.open span:nth-child(3) {
		top: 22px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-o-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}


	@media screen and (max-width:690px) {
		.logwall .top .r {
			display:none;
		}
		.logwall .top .hamburger {
			display:flex;
		}
	}

.logwall .top .whoami {
	display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    /* font-size: 0.7rem; */
    font-family: Calibri;
	margin-right:0.5rem;
}

.logwall .top button {
	box-shadow:none;
	letter-spacing:unset;
	height:100%;
	display:flex;
	align-items:center;
}

.calendar {
	background-color:rgba(0 0 0 / 10%);
}
.calendar.controls_bottom {
	flex-direction:column-reverse;
	padding-top:0.5rem;
}

.calendar .jcal {
	position:relative;
	width:100%;
	height:100%;
	width:calc(100% - 1rem);
	/* height:calc(100% - 3.5rem); */
	margin-left:0.5rem;
	/*margin-top:0.5rem;*/
	border:1px solid white;
	/*display:flex;*/
	/*flex-direction:row;*/
	/*justify-content:space-between;*/
	overflow:hidden;
	/* display:none; */
	border-top:none;
}

	@media screen and (max-width:690px) {
		.calendar .jcal {
			width:100%;
			margin-left:0;
		}
	}

body.ccb .calendar .jcal {
/* .calendar .jcal:first-child { */
    border-top: none;
}

.calendar .coil {
	position:absolute;
	width:100%;
	height:100%;
	left:0px;
	top:0px;
	perspective:400px;
	display:none;
}

.ribbon {
	position: absolute;
    width: 600px;
    width: 480px;
    height: 200%;
    background-color: rgb(0 0 0 / 10%);
    /* transform: rotate3d(1, 0, 0, 80deg) translateY(-300px); */
    transform: rotateX(50deg) translateY(-110px);
    transform-origin: 100% 75%;
    left: 50%;
    margin-left: -240px;
    bottom: 5%;
    margin-top: 0;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: flex-start;
    transition: transform 0.5s ease-in-out;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 2%, rgba(0, 0, 0, .3) 15%, rgba(0, 0, 0, 1) 100%);
}

.ribbon .line {
    position: absolute;
	width: 4px;
    height: 100%;
    background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 2%,
		rgba(255, 255, 255, 0.3) 15%,
		rgb(255, 255, 255) 100%
	);
}

.ribbon .line.left {
    left: 0px;
}

.ribbon .line.center {
	display:none;
}

.ribbon .line.right {
	right: 0px;
}

.ribbon .scroller {
	width: calc(100% + 130px);
    height: 100%;
    overflow-y: scroll;
    overflow-x: visible;
    padding: 0px 20px 0 60px;
    margin-left: -60px;
    padding-top: 200%;
}

.ribbon .scroller .mover {
	width: 100%;
    height: 8760px;
    display: flex;
    flex-direction: column-reverse;
    position: relative;
}

.ribbon .scroller .mover .coilenday {
	width:100%;
	height:24px;
}

.ribbon .scroller .mover .coilenday:nth-child(odd) {
	background-color:rgb(50 50 50 / 20%);
}

.ribbon .scroller .mover .coilenday:nth-child(even) {
	background-color:rgb(255 255 255 / 10%);
}

.coilenday {
	width: 100%;
    height: 24px;
    padding-left: 8px;
    font-size: 16px;
    line-height: 24px;
}

.coilenmonth {
	width:30px;
	/* background-color:orange; */
	position:absolute;
	left:-30px;
}

.coilenmonth .rot {
	transform: rotateZ(180deg);
    transform-origin: center;
    overflow: visible;
    width: 50px;
    writing-mode: vertical-lr;
}

.daycard {
	width:100%;
	min-height:200px;
	text-align:left;
	padding-left:1rem;
	background-color:rgba(0 0 0 / 20%);
	font-size:5rem;
}

.daycard:nth-child(odd) {
	background-color:rgba(44 44 44 / 20%);
}

.logwall .cal_control {
	width:100%;
	height:3rem;
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
	align-items:center;
	padding-left:1rem;
}

	@media screen and (max-width:690px) {
		.logwall .cal_control {
			padding-left:0.4rem;
		}
	}

.logwall .cal_control > div {
	padding: 0 0.5rem;
	display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.cal_control .prev {
	margin-right:0.5rem;
	/* padding-right:0.25rem; */
}

.cal_control .next {
	margin-left:0.5rem;
	/* padding-left:0.25rem; */
	/* padding-right:0.25rem; */
}
/* .cal_control .change.one.prev {
	transform:rotate(90deg);
} */

/* .cal_control .change.one.next {
	transform:rotate(-90deg);
} */

/* .cal_control .change.twelve.next {
	transform:rotate(180deg);
} */

/* .cal_control .prev,
.cal_control .next {
	width:1.75rem;
	height:1.75rem;
	border-radius:50%;
	background-color:rgba(0 0 0 / 5%);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
} */

.cal_control .prev .arrow,
.cal_control .next .arrow {
	width:0.75rem;
	height:1rem;
	background-color:rgba(255 255 255 / 40%);
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    transition:background-color 0.2s;
}

.cal_control .prev:hover,
.cal_control .next:hover {
	background-color:rgba(0 0 0 / 25%);
}

.cal_control .create_event {
	width:1.75rem;
	height:1.75rem;
	border-radius:50%;
	background-color:rgba(0 0 0 / 0%);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}

.cal_control .create_event:hover {
	background-color:rgba(0 0 0 / 25%);
}

	@media screen and (max-width: 690px) {
		.cal_control .create_event {
			font-size:1.2rem;
		}
	}

/* .cal_control .prev .arrow { */
	/* clip-path:polygon(0% 50%, 100% 0%, 100% 100%); */
/* } */

/* .cal_control .next .arrow { */
	/* clip-path:polygon(0% 0%, 100% 50%, 0% 100%); */
/* } */

.cal_control .change .arrow {
	clip-path:polygon(0% 50%, 100% 0%, 100% 100%);
}

/* .cal_control .change.twelve .arrow { */
	/* width:1rem; */
	/* clip-path:polygon(0% 50%, 50% 0%, 50% 40%, 100% 0%, 100% 100%, 50% 60%, 50% 100%); */
/* } */

/* .cal_control .prev .arrow { */
	/* transform:rotate(90deg); */
/* } */

.cal_control .tit {
	user-select:none;
}

.cal_control .tit.mo {
	min-width:5rem;
	text-align:center;
}

.cal_control .tit.yr {
	min-width:3rem;
	text-align:center;
}

.cal_control.sm .tit.mo,
.cal_control.sm .tit.yr {
	min-width:3.8rem;
}

.jcal .deads {
	width:100%;
	height:1.4rem;
	display:grid;
	grid-template-columns: repeat(7, 1fr);
	grid-template-rows: repeat(1, 1fr);
}

.jcal .spills {
	position:absolute;
	left:0px;
	top:40px;
	width:0px;
	height:calc(100% - 40px);
	background-color:red;
	margin-right:2px;
	overflow:visible;
}

	.spills .w {
		height:calc(100% / 6);
		padding-top:1.5rem;
	}

.jcal .drap {
	width:100%;
	height:calc(100% - 1.4rem);
	overflow:hidden;
	position:relative;
}

.jcal .days {
	width:100%;
	display:grid;
	grid-template-columns: repeat(7, 1fr);
	grid-template-rows: repeat(6, 1fr);

	/* position:relative; */
	height:100%;

	position:absolute;
	top:0px;
	/* height:calc(100% - 40px); */
	transition:top 0.4s ease-in-out, opacity 0.4s ease;
	z-index:1;
}

	.jcal .days.slup {
		top:-83.33333%;
		opacity:0;
		z-index:-1;
	}

	.jcal .days.slown {
		top:83.333333%;
		opacity:0;
		z-index:-1;
	}

.jcal .dead {
	border-right:1px solid white;
	border-bottom:1px solid white;
	height:1.4rem;
	line-height:1rem;
	display:flex;
	align-items:center;
	justify-content:center;
}

.jcal .day {
	position:relative;
	/*width:14%;*/
	border-right:1px solid white;
	border-bottom:1px solid white;
	/*height:100%;*/
	/*height:16%;*/
	background-color:rgba(0 0 0 / 10%);
	transition: background-color 0.2s;
	color:#8d8d8d;
	/* overflow:hidden; */
}

.jcal .day .date_wrap {
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.jcal .day.curmo {
	background-color:rgba(255 255 255 / 8%);
	color:white;
}

/* .jcal .day:hover {
	background-color:rgba(255 255 255 / 8%);
} */

/* .jcal .day.curmo:hover {
	background-color:rgba(255 255 255 / 24%);
} */

/* .day:hover:not(:has(.event:hover)) {
	background-color:rgba(255 255 255 / 2%);
}

.day.curmo:hover:not(:has(.event:hover)) {
	background-color:rgba(255 255 255 / 12%);
} */

.day .date {
	text-align: center;
    height: 1.2rem;
    width: 3rem;
    font-size: 0.8rem;
    line-height: 1.5rem;
    margin-bottom: 0.1rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}


.day.today .date {
	/* background-color: #ffffff; */
	/* border-radius: 100%; */
	color: #4a72c1;
	position: relative;
	font-weight: bold;
}

svg.cloudia {
	position: absolute;
    width: 200%;
    height: 180%;
    /* margin-top: -0.9rem; */
    z-index: -1;
    /* margin-left: 0.2rem; */
}

.cloudia path {
	fill: #3498DB;
	fill:white;
	/* stroke: #3498DB; */
	stroke-width: 2;
	stroke-linejoin: round;
}
.cloudia path:hover {
	fill: aliceblue;
	fill: lightskyblue;
	stroke: lightskyblue;
}

.day .date .minth {
	text-transform:uppercase;
	font-size:0.7rem;
}

.day.today:not(.curmo) .minth {
    font-size: 0.55rem;
}

	@media screen and (max-width:420px) {
		.day.today:not(.curmo) .minth {
			/* font-size: 0.6rem; */
			margin-top:0.125rem;
		}
	}

.jcal .day:nth-child(7n) {
	border-right:none;
}

.jcal .day:nth-child(n+36) {
	border-bottom:none;
}

.jcal .dead:last-child {
	border-right:none;
}

.day .event {
	position:absolute;
	width: calc(100% - 0.5rem);
    margin-left: 0.25rem;
	width: calc(100% - 2px);
    margin-left: 2px;
    height: 0.9rem;
	line-height: 0.9rem;
    /* background-color: rgba(80, 120, 160, 0.95); */
	/* background-color: rgb(140 200 255 / 95%); */
	/* background-color: rgb(125 170 230 / 95%); */
	color:white;
	/* color:black; */
	/* border:1px solid white; */
    border-radius: 0.5rem;
    font-size: 0.65rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 0.5rem;
    font-family: Calibri;
	font-family:system-ui;
	z-index:10;
	white-space: nowrap;
    overflow: hidden;
	cursor:pointer;
}

.bar {
	background-color:var(--bar);
	box-shadow:0 0 0 1px black, 0.1rem 0.1rem 4px rgb(0 0 0 / 50%);
	overflow:visible;
	overflow:hidden;
	transition:opacity 0.4s ease;
}

.bar.owner {
	background-color:var(--owner);
	box-shadow:0 0 0 1px rgb(255 255 255 / 50%), 0.1rem 0.1rem 4px rgb(0 0 0 / 50%);
	color:white;
}

.bar.owner.operator {
	background-color:var(--owner-operator);
	box-shadow:0 0 0 1px black, 0.1rem 0.1rem 4px rgb(0 0 0 / 50%);
	color:black;
}

/* .day .event.owner {
    background-color: rgba(0 0 0 / 95%);
	color:white;
} */

/* .day .event.owner.operator {
	color:black;
} */

.day .event.bar .leg.flag {
    position: absolute;
    background-color: rgb(70 160 255 / 80%);
    background-color: rgb(160 255 0);
    min-width: 0.2rem;
    height: 0.15rem;
    /* margin-top: 1rem; */
    top: calc(100% + 0px);
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
	transition: filter 0.5s, opacity 0.4s ease;
}

.day .event.bar.condensed .leg.flag {
	top: calc(0% + 0px);
}

.leg.flag .info {
	opacity:0.35;
	/* transition:opacity 10.4s; */
}

.owner.operator .flag .info {
	opacity:0.25;
}

.day .event.bar .leg.flag:nth-child(2) {
	background-color: var(--leg1);
}
.day .event.bar .leg.flag:nth-child(2) .info {
	color:var(--leg1);
}
.day .event.bar .leg.flag:nth-child(3) {
	background-color: var(--leg2);
}
.day .event.bar .leg.flag:nth-child(3) .info {
	color:var(--leg2);
}
.day .event.bar .leg.flag:nth-child(4) {
	background-color: var(--leg3);
}
.day .event.bar .leg.flag:nth-child(4) .info {
	color:var(--leg3);
}
.day .event.bar .leg.flag:nth-child(5) {
	background-color: var(--leg4);
}
.day .event.bar .leg.flag:nth-child(5) .info {
	color:var(--leg4);
}
.day .event.bar .leg.flag:nth-child(6) {
	background-color: var(--leg5);
}
.day .event.bar .leg.flag:nth-child(6) .info {
	color:var(--leg5);
}
.day .event.bar .leg.flag:nth-child(7) {
	background-color: var(--leg6);
}
.day .event.bar .leg.flag:nth-child(7) .info {
	color:var(--leg6);
}
.day .event.bar .leg.flag:nth-child(8) {
	background-color: var(--leg7);
}
.day .event.bar .leg.flag:nth-child(8) .info {
	color:var(--leg7);
}

.day .leg.flag .pole {
	position:absolute;
	width:1px;
	background-color:rgba(255 255 255 / 25%);
	color:rgba(255 255 255 / 25%);
	transition: background-color 0.4s ease, opacity 0.4s ease;
	display:flex;
}

.day .event.owner.operator .leg.flag .pole {
	background-color:rgba(0 0 0 / 25%);
	color:rgb(0 0 0 / 20%);
}

.day .leg.flag .start.pole {
	left:0px;
	flex-direction:row-reverse;
	padding-top:0;
}


.day .leg.flag .end.pole {
	right:0px;
	flex-direction:row;
	padding-top:0;
}

.day .leg.flag .pole .info {
	padding-left:0.2rem;
	transition:color 0.4s ease, opacity 0.4s;
	margin-right:0.2rem;
	font-size:0.4rem;
}
.day .leg.flag:nth-child(odd) .start.pole,
.day .leg.flag:nth-child(odd) .end.pole {
	height:0.9rem;
}

.day .leg.flag:nth-child(even) .start.pole,
.day .leg.flag:nth-child(even) .end.pole {
	height:0.5rem;
}

.day .leg.flag:nth-child(odd) .start.pole .info,
.day .leg.flag:nth-child(odd) .end.pole .info {
	margin-top:0.2rem;
}

.day .leg.flag:nth-child(even) .start.pole .info,
.day .leg.flag:nth-child(even) .end.pole .info {
	margin-top: -0.1rem;
}


.day .event.md2 {
	width:calc(200% - 0.5rem + 1px);
	width:calc(200% - 3px);
}
.day .event.md3 {
	width:calc(300% - 0.5rem + 2px);
	width:calc(300% - 2px);
}
.day .event.md4 {
	width:calc(400% - 0.5rem + 3px);
	width:calc(400% - 1px);
}
.day .event.md5 {
	width:calc(500% - 0.5rem + 4px);
	width:calc(500% - 0px);
}
.day .event.md6 {
	width:calc(600% - 0.5rem + 5px);
	width:calc(600% + 1px);
}
.day .event.md7 {
	width:calc(700% - 0.5rem + 6px);
	width:calc(700% + 2px);
}

.day .event.spillage {
	left:0px;
	border-top-left-radius:0px;
	border-bottom-left-radius:0px;
	margin-left:0;
	border-left:none;
}

.day .event.spillage.md2 {
	width:calc(200% - 0.5rem + 6px);
	width:calc(200% - 1px);
}

.day .event.spillage.md3 {
	width:calc(300% - 0.5rem + 7px);
	width:calc(300% + 0px);
}

.day .event.spillage.md4 {
	width:calc(400% - 0.5rem + 8px);
	width:calc(400% + 1px);
}

.day .event.spillage.md5 {
	width:calc(500% - 0.5rem + 9px);
	width:calc(500% + 2px);
}

.day .event.spillage.md6 {
	width:calc(600% - 0.5rem + 10px);
	width:calc(600% + 3px);
}

.day .event.spillage.md7 {
	width:calc(700% - 0.5rem + 11px);
	width:calc(700% + 4px);
	/* width: 800%; */
}

.day .event.spillage.multiday.spill.md7 { /* javascript needs to spit this out */
	width: calc(700% + 7px);
	width: calc(700% + 7px);
	border-top-right-radius:0px;
	border-bottom-right-radius:0px;
	border-right:none;
	/* width: 800%; */
	/* overflow:hidden; on .jcal squares it off, no need for pixel perfect cutting */
	/* for that matter, we can probably have the .spill class just make every event 800% width */
	/* NO! not anymore, now that we're doing leg flags */
}


.event_bar_title {
	transition:opacity 0.3s;
	font-size:0.6rem;
	text-shadow:0px 0px 1px rgb(0 0 0 / 40%);
}

.event:hover .event_bar_title {
	opacity:0.1;
}

.event:hover .leg.flag .pole {
	background-color:rgba(255, 255, 255, 0.6);
	transition: filter 0.5s;
}

.event:hover .leg.flag .info,
.event.hovering .leg.flag .info {
	/* color:rgba(255, 255, 255, 0.9); */
	opacity:0.9;
}

.event.owner.operator:hover .leg.flag .info,
.event.owner.operator.hovering .leg.flag .info {
	/* color:rgb(0 0 0 / 95%); */
	opacity:0.95;
}

.event.hovering .event_bar_title {
	opacity:0.1;
}


/* body:has(.leg.flag:hover) .leg.flag:not(:hover) .pole { */
.day .event.bar:has(.leg.flag:hover) .leg.flag:not(:hover) {
	filter:blur(3px);
}

.day .event.bar:not(:has(.leg.flag:hover)):hover {
	opacity:0.8;
}


/* body:has(.event.bar:hover) .event.bar:not(.hovering):not(:hover) {
	opacity:0.2;
} */


.lodge.settings {
	background-color:rgb(25 40 50 / 15%);
	display:flex;
	flex-direction:column;
	justify-content: flex-start;
	align-items:center;
	padding-top:1.5rem;
	overflow-y:auto;
}

.lodge.settings .setpad {
	width:100%;
	padding:0 1rem;
	max-width:720px;
}

.settings label.sect.head {
	width:100%;
	max-width:720px; /* should be a variable */
	padding-left:0.5rem;
	text-align: left;
	margin-bottom:0;
}

.settings .section {
	display:flex;
	flex-direction:column;
	width:100%;
	padding: 1rem 0.75rem 0.75rem 0.75rem;
	/* max-width: 720px; */
    border: 1px solid #ffffff2e;
    margin: 0 0 1rem 0;
    border-radius: 1.2rem;
    background-color: rgb(0 0 0 / 10%);
}

.settings .section .setting {
	display:flex;
	flex-direction:column;
	width: 100%;
    padding: 0rem 0rem 1rem 0rem;
}

.settings .section .setting:last-child {
	padding:0;
}

.settings .setting .describe {
	display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    padding: 0.5rem 0.5rem;
    background-color: #ffffff;
    border-radius: 0.8rem;
    color: black;
    align-items: center;
}

.settings .setting .describe .title {
	font-size:0.8rem;
}

.settings .setting .subtext {
	font-size:0.7rem;
	padding-left:0.5rem;
}

	@media screen and (max-width:690px) {
		.settings .setting .describe {
			padding: 0.5rem 1rem;
		}
		.settings .setting .describe .title {
			font-size:1.2rem;
		}
		.settings .setting .subtext {
			font-size:1rem;
			padding-left:1rem;
		}
	}

label.switch {
	margin:0;
	display:flex;
	align-items: center;
	justify-content: center;
}

label.switch > input[type=checkbox] {
	opacity: 0;
	display: none;
}

label.switch > div.switch-btn {
	position: relative;
	width: 51px;
	height: 31px;
	background: #e5e5e5;
	border-radius: 25.5px;
	box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

label.switch > div.switch-btn:before {
	content: "";
	position: absolute;
	height: 28px;
	width: 28px;
	background: linear-gradient(white, #f2f2f2);
	left: 2px;
	top: 50%;
	cursor: pointer;
	border-radius: 50%;
	box-shadow: 0 8px 6px -4px rgba(0, 0, 0, 0.1);
	transform: translateY(-50%);
	transition: all 200ms ease-out;
}

label.switch > input[type=checkbox]:checked + div.switch-btn {
	/* background: #47CB8F; */
	background: #56a6ff; 
	transition: background-color 0.3s ease;
}

label.switch > input[type=checkbox]:checked + div.switch-btn:before {
	left: 22px;
}

.wrapper {
	position:absolute;
	z-index:20;
	top:0px;
	width:100%;
	height:100%;
	overflow:hidden;
	/*background-color:rgba(255 0 0 / 10%);*/
	display:flex;
	flex-direction:column;
}

.wrapper > .horizon {
	position:relative;
	width:100%;	
	/* ease out cubic */
	/* transition: flex 0.5s cubic-bezier(0.25, 1, 0.5, 1), padding 1s cubic-bezier(0.16, 1, 0.3, 1); */
	/* ease in out (custom) */
	transition: flex 0.7s cubic-bezier(0.4, 0, 0.3, 1), padding 0.7s cubic-bezier(0.4, 0, 0.3, 1);
	/* transition: flex 3.7s cubic-bezier(0.4, 0, 0.3, 1), padding 3.7s cubic-bezier(0.4, 0, 0.3, 1); */
}

.horizon.h7 { /* top margin */
	flex:15;
	/*background-color:rgba(0 0 0 / 70%);*/
}

	.wrapper.content64 .horizon.h7 {
		flex:3;
	}
	
	.wrapper.content72 .horizon.h7 {
		flex:2;
	}

.horizon.h6 { /* logo */
	flex:24;
}

	.wrapper.content64 .horizon.h6 {
		flex:14;
	}
	
	.wrapper.content72 .horizon.h6 {
		flex:8;
	}

	.horizon.h6 .logo {
		position:absolute;
		width:100%;
		height:calc(100% - 2rem);
		height:100%;
		display:flex;
		align-items:center;
		justify-content:center;
		flex:8;
	}

	.navi {
		transition: box-shadow 0.3s ease, background-color 0.3s ease;
	}

	/*.navi.at {
		box-shadow: inset 0 0 13px rgb(255 255 255 / 50%);
	} */

	.navi:hover {
		box-shadow: inset 0 0 13px rgb(255 255 255 / 30%);
	}

	.horizon.h6 .logo .navi {
		/* transition: background-color 0.3s ease; */
		border:1px solid white;
		height:100%;
		aspect-ratio:1;
		display:flex;
		align-items:center;
		justify-content:center;
		border-radius:50%;
	}
	
	.horizon.h6 .logo .navi:hover {
		background-color:rgba(255 255 255 / 6%);
		cursor:pointer;
	}

	.horizon.h6 .logo .navi img {
		height:70%;
		aspect-ratio:1;
	}

.horizon.h5 { /* top vertical divider */
	flex:8;
	/*background-color:rgba(0 0 0 / 50%);*/
}

	.wrapper.content72 .horizon.h5,
	.wrapper.content64 .horizon.h5 {
		flex:4;
	}
	
	.vider {
		display: block;
		position: absolute;
		top: 0;
		left: calc(50% - 1px);
		width: 1px;
		height: 100%;
		background: #ffffff;
		bottom:calc(0px - 2rem);
	}

.horizon.h4 { /* content */
	flex:24;
	flex:30;
	flex:40;
	flex:50;
	/*background-color:rgba(0 0 0 / 40%);*/
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:1px; /* why only 1px? */
	/* min-height:280px; */
	padding:0;
}

	@media screen and (max-width:690px) {
		.horizon.h4 {
			/* flex:30; */
		}
	}

	.topshad {
		position: absolute;
		width: calc(100% - 16px);
		height: 6px;
		top: -6px;
		box-shadow: 0 5px 20px #000000;
	}

	.wrapper.content64 .horizon.h4 {
		flex:64; /* this makes total = 100 */
	}
	
	.wrapper.content72 .horizon.h4 {
		flex:72; /* this makes total = 100 */
	}
	
	.horizon.h4.zilch {
		flex:0;
		max-height:0;
		min-height:1px;
		/*padding:0 20rem;*/
	}
	
	.horizon.h4.hido {
		overflow:hidden;
	}
	
	.conwrap {
		width:50%;
		height:100%;
		border-top:1px solid white;
		border-bottom:1px solid white;
		display:flex;
		justify-content:center;
		overflow-x:visible;
	}
	
	
		/*@media screen and (max-width: 480px) {*/
		@media screen and (max-width: 690px) {
			
			.horizon.h4.zilch {
				padding:0 5rem;
			}
			
			.conwrap {
				width: 85%;
			}
		}
		

		/* @media screen and (max-height:550px) {
			.wrapper .horizon.contentz.h4 {
				flex:140;
			}
		}

		@media screen and (max-height: 600px) {
			.wrapper .horizon.contentz.h4 {
				flex:80;
			}
		} */

		@media screen and (max-height: 700px) {
			.wrapper .horizon.contentz.h4 {
				/* flex:50; */
			}
		}
	
		.conwrap .inna {
			-moz-transition: min-height 0.75s ease, max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
			-webkit-transition: min-height 0.75s ease, max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
			-ms-transition: min-height 0.75s ease, max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
			transition: min-height 0.75s ease, max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
			-moz-transition-delay: 0.25s;
			-webkit-transition-delay: 0.25s;
			-ms-transition-delay: 0.25s;
			transition-delay: 0.25s;
			/*padding: 3rem 2rem;*/
			/*max-height: 40rem;*/
			overflow: hidden;
			text-align:center;
			display:flex;
			flex-direction:column;
			align-items:center;
			justify-content:center;
			opacity:0;
			overflow: hidden;
		}
		
		.conwrap p {
			text-transform: uppercase;
			letter-spacing: 0.2rem;
			font-size: 0.8rem;
			line-height: 2;
			margin:0;
			position:relative;
		}
		
		.horizon.h4 .conwrap .inna {
			animation:init 1s 1 ease-out forwards 0.5s;
			/*overflow-x:visible;*/
			position:absolute;
			height:calc(100% - 4px);
			margin-top:2px;
			width:100%;
		}
		
		.inna > div {
			position:absolute;
			/*overflow-y:auto;*/
			width:100%;
			/*height:100%;*/
		}
		
		.login.page {
			/*width: 38%;*/
			width:100%;
			height: 100%;
			overflow-y: auto;
			/*padding-top:10px;*/
			/*padding-left:16px;*/
			display: flex;
			justify-content: center;
			overflow:visible;
			overflow-y:auto;
		}
		
			.login.page .splash {
				width:38%;
				width:calc(38% + 6rem);
				/* padding:0 4rem; */
				display:flex;
				flex-direction:column;
				height:98%; /* fixes the scrollbar flash (due to parent overflow-y:auto) when resizing from register to login */
				margin:0;
			}

			/* .login.page .splash {
				display:flex;
				flex-direction:column;
				justify-content:space-between;
			} */

			.login.page .splash .level {
				overflow:hidden;
				flex-grow:1;
				display:flex;
				flex-direction:column;
				justify-content:center;
				padding:0 3rem;
			}

			.login.page .splash .reggie {
				flex:0;
				opacity:0;
				overflow:hidden;
				display:flex;
				flex-direction:column;
				justify-content:space-evenly;
				transition:flex 0.9s ease, opacity 0.2s ease 0.1s;
			}
			
			label.switch,
			button.close,
			button.save {
				-webkit-tap-highlight-color: transparent;
			}

			.login.page .splash .keeper {
				flex:1;
				opacity:1;
				margin-bottom:0.25rem;
				display: flex;
				flex-direction: row;
				align-items: center;
				justify-content: center;
				overflow:hidden;
				min-height:2rem;
				transition: flex 0.4s ease 0.2s,  min-height 0.4s ease 0.2s, opacity 0.6s ease 0.4s;
			}
				.keeper .keepme {
					margin:0 0.5rem;
				}
				
				.keeper .keepme:first-of-type {
					margin-left:1.5rem;
				}

				.keeper .keepme:last-of-type {
					margin-left:0.7rem;
				}

				.keeper label.switch > .switch-btn {
					width:36px;
					height:22px;
					transition: background-color 0.2s ease;
				}

				.keeper label.switch > div.switch-btn::before {
					height:18px;
					width:18px;
				}
				
				.keeper label.switch > input[type=checkbox]:checked + div.switch-btn {
					background: #56a6ff; 
					transition: background-color 0.3s ease;
				}

				.keeper label.switch > input[type=checkbox]:checked + div.switch-btn:before {
					left:16px;
				}

			.login.page .splash .keepie .lv5 {
				flex:1;
				opacity:1;
				overflow:hidden;
				transition: flex 0.9s ease, opacity 0.2s ease 0.1s;
			}
			
			.login.page .splash .su.email {
				min-height:2.75rem;
				margin-bottom:0.2rem;
			}

			.login.page.reg .splash .reggie {
				flex:2;
				opacity:1;
				transition:flex 0.8s ease, opacity 0.7s ease 0.4s;
			}

			.login.page.reg .splash .keeper {
				flex:0;
				opacity:0;
				overflow:hidden;
				min-height:0;
				transition:flex 0.4s ease, min-height 0.3s ease 0.1s, opacity 0.3s ease;
			}
			
			.level {
				width:100%;
				position:relative;
				display:flex;
				flex-direction:column;
				justify-content:center;
			}

			.login.page .splash .level.lv4,
			.login.page .splash .level.lv1 {
				flex:4;
				/* overflow-x:visible; */
				transition: flex 0.8s ease, opacity 0.7s ease 0.2s;
			}
			

			.login.page.reg .splash .level.lv4,
			.login.page.reg .splash .level.lv1 {
				flex:1;
				/* overflow-x:visible; */
			}

			.double_reg {
				display: flex;
				flex-direction: row;
			}
			
			.login.page .splash .level.lv1 .multifun {
				text-align:right;
			}
			
			.login.page .splash .level.lv1 .iremembered {
				text-align:left;
			}

			/* .multifun.half,
			.iremembered.half {
				width:50%;
			} */

			.login.page .splash .level.lv4 {
				padding-top:1.5rem;
			}

			.login.page .splash .level.lv1 {
				padding-bottom:1rem;
			}

			.login.page .splash .code_wrap {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				height: 100%;
				position: absolute;
				width: calc(100% - 0rem);
				top: 0px;
				left: 0px;
				/* padding-bottom: 2rem; */
				padding:0 3rem 1rem 3rem;
			}

			.login.page .splash .pass_wrap {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				height: 100%;
				position: absolute;
				width: calc(100% - 0rem);
				top: 0px;
				left: 0px;
				padding:0 3rem 1rem 3rem;
			}
			
			.login.page .splash .code_wrapped {
				position:absolute;
				display:flex;
				flex-direction:row;
				left:0px;
				width:100%;
				gap:1rem;
				margin: 0.5rem 0;
				padding:0 3rem 1rem 3rem;
			}
			
			.login.page .splash .pass_wrapped {
				position:absolute;
				display:flex;
				flex-direction:row;
				left:0px;
				width:100%;
				/* gap:1rem; */
				margin: 0.5rem 0;
				padding:0 3rem 1rem 3rem;
			}

			.login.page .splash .iremembered {
				/* bottom:calc(0% - 1.5rem); */
				position: absolute;
				top: 3.5rem;
				left: 3rem;
				text-transform:unset;
			}

			.login.page .splash .multifun {
				position: absolute;
				top: 3.5rem;
				left:3rem;
				/* right: 3rem; */
			}
			
			.login.page .splash .try_forgot_pw_code,
			.login.page .splash .submit_reg,
			.login.page .splash .enter {
				right:3rem;
				left:unset;
			}

			.login.page .splash .enter {
				right:2.2rem;
				right:2.8rem;
			}

			.airplane.unicode {
				height: 50%;
				display: inline-block;
				aspect-ratio: 1;
				position: absolute;
				top: 20%;
				background-image: url(../images/unicode_airplane_arrow.png);
				background-size: contain;
				opacity:0.75;
				margin-left:0.25rem;
			}

				.pass_wrap {
					position:relative;
				}

				div.expose_password {
					position: absolute;
					left: 0.5rem;
					top: calc(50% - 1rem);
					top: 0.875rem;
					height: 2rem;
					width: 2rem;
					opacity:0.8;
					display: flex;
					align-items:center;
					justify-content:center;
					background-color:rgba(255 255 255 / 10%);
					transition:background-color 0.2s;
					border-radius:1rem;
				}

				div.expose_password:hover {
					background-color:rgba(255 255 255 / 20%);
					cursor:pointer;
				}
				
				.level .go_in {
					content:"";
					position:absolute;
					top: 0.875rem;
					right: -2.75rem;
					right: 0.5rem;
					width: 2rem;
					aspect-ratio: 1;
					opacity:0;
					transition:opacity 0.2s;
				}
				
				.level .go_in.enabled {
					opacity:0.7;
				}

				.level .go_in.dis.enabled {
					opacity:0;
				}
				
				.level .go_in.enabled:hover {
					opacity:1;
					cursor:pointer;
				}
				
				.level .go_in .pathicon {
					position:absolute;
					width:100%;
					height:100%;
					background-color: white;
					clip-path: polygon(3% 1%, 24% 50%, 28% 50%, 7% 4%, 91% 50%, 7% 96%, 28% 50%, 24% 50%, 3% 99%, 4% 50%);
					background: linear-gradient(0deg, rgba(136, 136, 136, 1) 0%, rgba(204, 204, 204, 1) 49%, rgba(228, 228, 228, 1) 50%, rgba(255, 255, 255, 1) 100%);
					transition: opacity 0.5s;
					left:0;
					padding:0;
				}
			
			.login.page label {
				text-align:left;
				margin:0;
			}
			
			.login.page label.multifun {
				text-align:right;
			}

			.login.page label.multifun:hover {
				cursor:pointer;
			}
			
			.login.page label.multifun.disabled a {
				border-bottom:none;
				opacity:0.5;
			}
			
			.login.page label.multifun.disabled,
			.login.page label.multifun.disabled a:hover {
				cursor:default;
			}
			
			.login.page .password {
				position:relative;
			}
			
				.code_wrapped .get_code {
					flex:1;
					margin: 0.5rem 0;
				}
			
				.code_wrapped .forgot_pw_code {
					flex:1;
					text-align:center;
					padding:0;
					letter-spacing: 0.4rem;
					font-size:1.2rem;
					margin: 0.5rem 0;
				}
				
				.code_wrapped .en_code {
					flex:1;
				}

			.login.page label.register {
				position:relative;
				text-align:right;
			}

			.register .hit {
				position: absolute;
				width: calc(1rem + 100%);
				height: 100%;
				background-color: rgba(255 255 255 / 10%);
				top: 0px;
				left: -1rem;
			}

			.register .x {
				position:absolute;
				top:0px;
				height:100%;
				width:1rem;
				/* left:-1rem; */
				right:-1rem;
				opacity:0;
				display:flex;
				align-items:center;
				justify-content:center;
			}
			
			/* select parent based on children */
			.register:has(span.a.cancel) .x {
				opacity:1;
				transition:opacity 0.75s;
				transition-delay:0.25s;
			}
			
			.roles.row {
				display: flex;
				flex-direction: row;
				gap: 1rem;
				justify-content: space-evenly;
				position:relative;
				/*padding:0.5rem 0 3.5rem 0;*/
				padding-bottom: 1rem;
			}
			
			.roles .su.role {
				text-align: center;
			    position: relative;
			    border: 1px solid white;
			    height: 2.75rem;
			    display: flex;
			    align-items: center;
			    justify-content: center;
			    padding: 0 1rem;
			    border-radius: 4px;
			    flex-grow: 1;
			    transition: background-color 0.2s ease;
			}

			.roles .su.role.error {
				border-color:#faabad;
			}
			
			.roles .su.role.selected {
				background-color:rgba(255 255 255 / 40%);
			}
			
			.roles .su.role:hover {
				cursor:pointer;
				background-color:rgba(255 255 255 / 10%);
			}
			
			.roles .su.role.selected:hover {
				background-color:rgba(255 255 255 / 25%);
			}
			
			.login.page .splash .reg_note {
				/*margin-top: -0.5rem;*/
				font-size: 0.7rem;
				text-align: center;
				/* position: absolute; */
				/* top: 100%; */
				/* top: calc(100% - 1rem); */
				width: 100%;
				color:white;
			}

			.login.page .splash .reg_note.error,
			.login.page .splash .reg_note .error {
				color:#faabad;
			}

			.login.page .su.email.loginput + .reg_note {
				opacity:0;
				transition:opacity 0.5s;
				min-height:1rem;
			}

			.login.page.reg .su.email.loginput.error + .reg_note {
				color:#faabad;
				opacity:1;
			}

			.login.page .splash .reg_note.pass {
				text-transform: unset;
				position: absolute;
				top: 3.5rem;
				left: 3rem;
				/* right:3rem; */
				text-align: left;
				width: auto;
				opacity:0;
				transition:opacity 0.3s ease;
			}

			.login.page.reg .splash .reg_note.pass {
				opacity:1;
			}

			.su.error,
			.su.error:focus {
				border: 1px solid #faabad;
    			background-color: #faabad21;
			}
			
			
			@media screen and (max-width: 690px) {
			
				.login.page .splash .reg_note {
					/*margin-top: -2rem;*/
					font-size:0.7rem;
				}
				
			}
			
			
			
			/*.roles .role:before {*/
			/*	content:"";*/
			/*	position:absolute;*/
			/*	bottom: calc(0% - 3rem);*/
			/*	width: 3rem;*/
			/*    height: 3rem;*/
			/*    border-radius: 50%;*/
			/*    background-color: rgba(255 255 255 / 10%);*/
			/*    border: 1px solid white;*/
			/*    left:calc(50% - 1.5rem);*/
			/*    padding-bottom:3rem;*/
			/*}*/
			
			.cfields.row {
				display:flex;
				flex-direction:row;
				gap:1em;
				/*padding-bottom: 1rem;*/
			}
			
			.cfields.row .cfield {
				flex-grow:1;
			}
			
			.cfields.row.roles {
				padding-bottom:0.2rem;
			}
			
			.cfield {
				margin-bottom:1rem;
			}

			.cfields > .cfield.f1 {
				flex:1;
			}
			.cfields > .cfield.f2 {
				flex:2;
			}
			.cfields > .cfield.f3 {
				flex:3;
			}
			.cfields > .cfield.f4 {
				flex:4
			}
		
		.verify.page {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: space-evenly;
		}

			.verify.page h2 {
				margin-bottom:0.25rem;
			}

			.verify.page p {
				font-size:1rem;
			}

			.vericode {
				height: auto;
				display: flex;
				flex-direction: row;
				align-items: center;
				justify-content: space-evenly;
				width: auto;
			}

			/* .codeput {
				height: 3rem;
				width: 2.5rem;
				border-radius: 0.75rem;
				background-color: rgb(255 255 255 / 20%);
				margin: 1rem 0.25rem;
			} */

			.vericode .codeput {
				border:none;
				outline:none;
				height:3rem;
				width:2.5rem;
				background-color: rgb(255 255 255 / 20%);
				border-radius:0.75rem;
				text-align:center;
				font-size:1.5rem;
				margin: 1rem 0.25rem;
				padding:0;
			}

			.codeput.error {
				background-color:rgb(255 90 90 / 30%);
			}

			input[type="tel"].codeput.error:focus {
				/* background: rgba(255, 255, 255, 0.075); */
				background-color:rgb(255 90 90 / 35%);
				border-color: rgb(200, 80, 80);
				box-shadow: 0 0 0 1px rgb(200, 80, 80);
			}

			.codeput::after {
				content:"";
				position:absolute;
				width:100%;
				height:100%;
				border-radius:inherit;
				background-color:red;
			}

			span.a.newcode {
				line-height:1.4rem;
				letter-spacing:0.05rem;
			}

			input::-webkit-outer-spin-button,
			input::-webkit-inner-spin-button {
				/* display: none; <- Crashes Chrome on hover */
				appearance:none;
				-webkit-appearance: none;
				margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
			}

			input[type=number] {
				appearance:none;
				-moz-appearance:textfield; /* Firefox */
			}
		
		.about.page {
			width: 58%;
			height: 100%;
			overflow-y: auto;
			/*padding-top:10px;*/
			padding-left:16px;
		}
		
		.contact.page {
			width: 58%;
			height: 100%;
			overflow-y: auto;
			/*padding-top:10px;*/
			/*padding-left:16px;*/
			display: flex;
			flex-direction: column;
			 align-items: center; 
			justify-content: center;
		}

		.contact.page.animate__animated.animate__zoomOutRight,
		.contact.page.animate__animated.animate__bounceOutRight,
		.contact.page.animate__animated.animate__slideOutRight,
		.contact.page.animate__animated.animate__lightSpeedOutRight {
			overflow-y:visible;
		}
		
		.contact.page label {
			display:inline;
		}
		
		.contact.page form {
			margin:0;
		}
		
		.get_code {
			position:relative;
		}
		
		/*@media screen and (max-width: 480px) {*/
		@media screen and (max-width: 690px) {
			.about.page {
				width:96%;
				padding-right:0.5rem;
				padding-left:1rem;
			}
			
			.contact.page {
				width:90%;
				/*padding-right:0.5rem;*/
				/*padding-left:1rem;*/
			}
			
			.login.page {
				width:100%;
				padding-right:0.5rem;
				padding-left:1rem;
			}
		
			.login.page .splash {
				width:100%;
			}
			
			.code_wrapped .forgot_pw_code {
				letter-spacing: 0.25rem;
				font-size:1.4rem;
			}
			
			
			form > .cfields {
				width: 100%;
				margin: 0;
			}
			
			form > .cfields > .cfield.half {
				width: calc(50% - 0.75rem);
			}
			
			ul.actions:not(.fixed) {
				-moz-flex-direction: row;
				-webkit-flex-direction: row;
				-ms-flex-direction: row;
				flex-direction: row;
				margin-left: 0;
				width: 100%!important;
			}
			
			ul.actions:not(.fixed) li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				padding: 1rem 0 0 0;
				text-align: center;
				width: calc(50% - 0.75rem);
				margin: 0.75rem;
			}
			
			ul.actions:not(.fixed) li:first-child {
				padding-top: 1rem;
			}
		}
		
		.about.page .splash {
			margin-top:1rem;
			padding-bottom:1rem;
		}
		
		.contact.page .splash {
			width:80%;
		}
		
		
		@media screen and (max-width: 690px) {
			.contact.page .splash {
				width:100%;
			}	
		}
		
		@keyframes init {
			0% {
				opacity:0;
			}
			1% {
				opacity:0;
			}
			100% {
				opacity:1;
			}
		}

.horizon.h3 { /* bottom vertical divider */
	flex:8;
	/*background-color:rgba(0 0 0 / 30%);*/
}

	.wrapper.content64 .horizon.h3,
	.wrapper.content72 .horizon.h3 {
		flex:4;
	}

.horizon.h2 { /* nav */
	flex:6;
	height:6%;
	/*background-color:rgba(0 0 0 / 20%);*/
	display:flex;
	justify-content:center;
}

	.horizon.h2 nav {
		height:100%;
	}

	.horizon.h2 nav ul {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		margin-bottom: 0;
		list-style: none;
		padding-left: 0;
		border: solid 1px #ffffff;
		border-radius: 4px;
		align-items: center;
		justify-content: center;
		text-align: center;
		height:100%;
	}

		.horizon.h2 nav ul li {
			padding-left: 0;
			border-left: solid 1px #ffffff;
			height:100%;
		}

			.horizon.h2 nav ul li:first-child {
				border-left: 0;
			}

			.horizon.h2 nav ul li a {
				display: block;
				min-width: 7.5rem;
				height: 2.75rem;
				line-height: 2.75rem;
				padding: 0 1.25rem 0 1.45rem;
				text-transform: uppercase;
				letter-spacing: 0.2rem;
				font-size: 0.8rem;
				border-bottom: 0;
				height:100%;
				display: flex;
				align-items: center;
				justify-content: center;
			}

				/* .horizon.h2 nav ul li a:hover {
					background-color: rgba(255, 255, 255, 0.075);
				}

				.horizon.h2 nav ul li a:active {
					background-color: rgba(255, 255, 255, 0.175);
				} */

.horizon.h1 { /* bottom margin */
	flex:15;
	/*background-color:rgba(0 0 0 / 10%);*/
}

	.wrapper.content64 .horizon.h1 {
		flex:5;
	}
	
	.wrapper.content72 .horizon.h1 {
		flex:4;
	}


.size {
	position:absolute;
	top:2px;
	left:8px;
	font-size:0.75rem;
}

.spacer {
	height:50px;
}

/* .right {
	display: flex;
} */

	.loginput {
		width:300px;
		height:40px;
		padding:4px;
		background-color:rgba(255 255 255 / 40%);
		border-radius:4px;
		outline:none;
		border:none;
		margin:0.5rem 0;
		color:#e5f0ff;
		letter-spacing:0.15rem;
		/* text-align:center; */
	}

/*@media screen and (max-width: 480px) {*/
@media screen and (max-width: 690px) {
	#header nav ul li span {
		height: 3rem;
		line-height: 3rem;
		min-width: 0;
		width: 100%;
	}
}

nav {
	margin-bottom:1rem;
}

#header nav ul li span {
	display: block;
	min-width: 7.5rem;
	height: 2.75rem;
	line-height: 2.75rem;
	padding: 0 1.25rem 0 1.45rem;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
	font-size: 0.8rem;
	border-bottom: 0;
}

#header nav ul li span:hover {
	cursor:pointer;
}

@media screen and (min-width: 1680px) {

	.bg:after {
		/* @assets/css/main.css line 1156 */
		transform: scale(1.125);
		/* override - only needed on landscape screens */
		/* transform: scale(1.250); */
	}
	
	
	.reg_note {
		/*margin-top: -0.5rem;*/
		font-size:0.7rem;
	}
}

/*@media screen and (max-width: 480px) {*/
@media screen and (max-width: 690px) {
	#header nav ul {
		-moz-flex-direction: row;
		-webkit-flex-direction: row; 
		-ms-flex-direction: row;
		flex-direction: row; 
		/*min-width: 10rem;*/
		/*max-width: 100%;*/
	}
	#header nav ul li {
		border-left: 1px solid #ffffff; 
		border-top: solid 0px #ffffff; 
	}
}

.innerhide {
	animation: innerhide 1s 1 ease-in-out forwards;
}

@keyframes innerhide {
	0% {
		opacity:1;
	}
	99% {
		opacity:0;
	}
	100% {
		
	}
}

a.move:hover {
	cursor:pointer;
}

body.pos0 .bg:after {
	margin-left:0%;
}
body.pos-1 .bg:after {
	margin-left:-1%;
}
body.pos1 .bg:after {
	margin-left:1%;
}

@media screen and (max-width: 690px) {
			
	body.pos0 .bg:after {
		margin-left:0%;
	}
	body.pos-1 .bg:after {
		margin-left:-3%;
	}
	body.pos1 .bg:after {
		margin-left:3%;
	}
	.bg:after {
		transition: margin-left 0.6s ease-in-out 0.4s;
	}
}

.bg:before {
	-moz-transition: background-color 1.5s ease-in-out;
	-webkit-transition: background-color 1.5s ease-in-out;
	-ms-transition: background-color 1.5s ease-in-out;
	transition: background-color 2s ease-in-out;
	-moz-transition-delay: 0.2s;
	-webkit-transition-delay: 0.2s;
	-ms-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.bg:after {
	transition: margin-left 1.4s ease-in-out 0.2s;
}

.WRONG_right {
	position:absolute;
	display:none;
	align-items:center;
	flex-direction:column;
	left:100%;
	padding-left:16px; /* accounts for likely scroll bar */
}

/* .left {
	position:absolute;
	display:none;
	align-items:center;
	flex-direction:column;
	left:-100%;
} */

.movable {
	position:absolute;
	width:100%;
	height:100%;
	overflow-y:auto;
	/*transition: left 0.325s ease-in-out;*/
	/*display:flex;*/
}

#header {
	position:relative;
	transition:
		transform 0.325s ease-in-out,
		filter 0.325s ease-in-out,
		/*left 0.325s ease-in-out*/
		/*couldn't control display:none delay with simple transition timing (live above). had to use keyframes */
		opacity 0.325s ease-in-out;
	background-image: radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%); /* stock - @assets/css/main.css line 1260 */
	background-image: radial-gradient(rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0) 55%); /* lightened */
}

#footer {
	position:relative;
	width:100%;
	justify-content:center;
}

/*.aircraft {*/
/*	width:690px;*/
/*	height:300px;*/
/*	border-radius:16px;*/
/*	background-color:rgba(0 0 0 / 10%);*/
/*	margin-bottom:30px;*/
/*	padding:1rem;*/
/*}*/

/*.movable.centered {*/
/*	left:0%;*/
/*}*/

/*.movable.outright {*/
/*	left:200%;*/
/*	display:none;*/
/*}*/

/*.movable.outleft {*/
/*	left:-200%;*/
/*	display:none;*/
/*}*/

.movable.leftcentered {
	display:flex;
	left: -100%;
	/*opacity: 1;*/
	animation: leftcentered 0.325s 1 linear forwards;
}
.movable.rightcentered {
	display:flex;
	left: 100%;
	/*opacity: 1;*/
	animation: rightcentered 0.325s 1 linear forwards;
}
.movable.outleft {
	display:flex;
	left: 0%;
	/*opacity: 1;*/
	animation: outleft 0.325s 1 linear forwards;
}
.movable.outright {
	display:flex;
	left: 0%;
	/*opacity: 1;*/
	animation: outright 0.325s 1 linear forwards;
}

.scrollwait::-webkit-scrollbar-thumb {
	animation: scrollwait 0.5s 1 linear forwards 1s;
}

.masked.scrollwait::-webkit-scrollbar-thumb {
	transition: background-color 0.325s ease-in-out 1s;
	background-color:transparent;
}

@keyframes scrollwait {
	0% {
		background-color:transparent;
	}
	99% {
		background-color:transparent;
	}
	100% {
		background-color:red;
	}
}

@keyframes rightcentered {
	0% {
		left: 100%;
		opacity: 0;
		display:flex;
	}
	99% {
		left: 1%;
		opacity: 1;
	}
	100% {
		left: 0%;
		opacity: 1;
	}
}

@keyframes leftcentered {
	0% {
		left: -100%;
		opacity: 0;
		display:flex;
	}
	99% {
		left: -1%;
		opacity: 1;
	}
	100% {
		left: 0%;
		opacity: 1;
	}
}

@keyframes outleft {
	0% {
		left: 0%;
		opacity: 1;
	}
	99% {
		left: -99%;
		opacity: 1;
	}
	100% {
		left: -100%;
		opacity: 0;
		display: none;
	}
}

@keyframes outright {
	0% {
		left: 0%;
		opacity: 1;
	}
	99% {
		left: 99%;
		opacity: 1;
	}
	100% {
		left: 100%;
		opacity: 0;
		display: none;
	}
}

.animate__bounceOutLeft {
	-webkit-animation-name: bounceOutLeftPercent;
	animation-name:bounceOutLeftPercent;
}

.animate__bounceOutRight {
	-webkit-animation-name: bounceOutRightPercent;
	animation-name:bounceOutRightPercent;
}

@keyframes bounceOutLeftPercent {
	20% {
		opacity: 1;
		-webkit-transform: translate3d(20px, 0, 0) scaleX(.9);
		transform: translate3d(20px, 0, 0) scaleX(.9);
	}

	100% {
		opacity: 0;
		-webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
		transform: translate3d(-200%, 0, 0) scaleX(2);
	}
}

@keyframes bounceOutRightPercent {
	20% {
		opacity: 1;
		-webkit-transform: translate3d(20px, 0, 0) scaleX(.9);
		transform: translate3d(20px, 0, 0) scaleX(.9);
	}

	100% {
		opacity: 0;
		-webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
		transform: translate3d(200%, 0, 0) scaleX(2);
	}
}






/* from main.css */