/*******************************
* MODAL AS LEFT/RIGHT SIDEBAR
* Add "left" or "right" in modal parent div, after class="modal".
* Get free snippets on bootpen.com
*******************************/
.modal.left .modal-dialog,
.modal.right .modal-dialog {
	position: fixed;
	margin: auto;
	width: 320px;
	height: 100%;
	-webkit-transform: translate3d(0%, 0, 0);
	    -ms-transform: translate3d(0%, 0, 0);
	     -o-transform: translate3d(0%, 0, 0);
	        transform: translate3d(0%, 0, 0);
}

.modal.left .modal-content,
.modal.right .modal-content {
	height: 100%;
	overflow-y: auto;
}

.modal.left .modal-body,
.modal.right .modal-body {
	padding: 15px 15px 80px;
}

/*Left*/
.modal.left.fade .modal-dialog{
	left: -320px;
	-webkit-transition: opacity 0.3s linear, left 0.3s ease-out;
	   -moz-transition: opacity 0.3s linear, left 0.3s ease-out;
	     -o-transition: opacity 0.3s linear, left 0.3s ease-out;
	        transition: opacity 0.3s linear, left 0.3s ease-out;
}

.modal.left.fade.in .modal-dialog{
	left: 0;
}
    
/*Right*/
.modal.right.fade .modal-dialog {
	right: -320px;
	-webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
	   -moz-transition: opacity 0.3s linear, right 0.3s ease-out;
	     -o-transition: opacity 0.3s linear, right 0.3s ease-out;
	        transition: opacity 0.3s linear, right 0.3s ease-out;
}

.modal.right.fade.in .modal-dialog {
	right: 0;
}

/* ----- MODAL STYLE ----- */
.modal-content {
	border-radius: 0;
	border: none;
}

.modal-header {
	border-bottom-color: #EEEEEE;
	background-color: #FAFAFA;
}

/* ----- v CAN BE DELETED v ----- */
body {
	background-color: #78909C;
}

.demo {
	padding-top: 60px;
	padding-bottom: 110px;
}

.btn-demo {
	margin: 15px;
	padding: 10px 15px;
	border-radius: 0;
	font-size: 16px;
	background-color: #FFFFFF;
}

.btn-demo:focus {
	outline: 0;
}

.demo-footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	padding: 15px;
	background-color: #212121;
	text-align: center;
}

.demo-footer > a {
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
}

/* .uname is turned into a small circular initials avatar by the
   jquery.nameBadges.js plugin, but it's a block-level <div> in the raw
   markup, so it drops to its own line (looking "stacked"/broken) for as
   long as that JS hasn't run yet -- force it inline so it always sits
   next to the name text regardless of JS timing. */
.navbar-nav > .user-menu > a {
	display: flex;
	align-items: center;
	gap: 8px;
}
.navbar-nav > .user-menu .uname {
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

/* AdminLTE.css sets .form-control border-radius to 0 -- round all inputs,
   selects and textareas app-wide instead. */
.form-control,
input.form-control,
select.form-control,
textarea.form-control {
	border-radius: 4px;
}

/* Shared "report tile" grid -- used by any page that used to lay out a
   wall of differently-colored .btn buttons for report/action links
   (general-reports, hr-reports, account-library, back-office, etc).
   auto-fill + 1fr means it always fills the row completely, whether that
   takes 2 columns or 5, instead of leaving dead space on the right. */
.sky-report-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
	gap: 14px;
	padding: 4px 0;
}
.sky-report-tile {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-left: 4px solid #d2d6de;
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.06);
	cursor: pointer;
	text-align: left;
	color: #2c3e50;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.sky-report-tile:hover,
.sky-report-tile:focus {
	box-shadow: 0 4px 10px rgba(0,0,0,0.14);
	transform: translateY(-2px);
	color: #2c3e50;
	text-decoration: none;
	outline: none;
}
.sky-report-tile .sky-report-icon {
	font-size: 20px;
	flex: 0 0 26px;
	text-align: center;
}
.sky-report-tile .sky-report-label {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}
.sky-report-section.sky-c-blue .sky-report-tile { border-left-color: #3c8dbc; }
.sky-report-section.sky-c-blue .sky-report-icon { color: #3c8dbc; }
.sky-report-section.sky-c-teal .sky-report-tile { border-left-color: #00c0ef; }
.sky-report-section.sky-c-teal .sky-report-icon { color: #00c0ef; }
.sky-report-section.sky-c-orange .sky-report-tile { border-left-color: #f39c12; }
.sky-report-section.sky-c-orange .sky-report-icon { color: #f39c12; }
.sky-report-section.sky-c-green .sky-report-tile { border-left-color: #00a65a; }
.sky-report-section.sky-c-green .sky-report-icon { color: #00a65a; }
.sky-report-section.sky-c-red .sky-report-tile { border-left-color: #dd4b39; }
.sky-report-section.sky-c-red .sky-report-icon { color: #dd4b39; }
.sky-report-section.sky-c-purple .sky-report-tile { border-left-color: #605ca8; }
.sky-report-section.sky-c-purple .sky-report-icon { color: #605ca8; }

/* AdminLTE.css's own rule for rotating the treeview arrow when a menu is
   active/open is malformed (an extra "> a >" segment that can never match
   the sidebar's actual markup, li.treeview > a > .pull-right-container >
   .fa-angle-left), so the arrow never rotated even when the submenu
   toggle itself worked correctly. Corrected version: */
.sidebar-menu li.active > a > .pull-right-container > .fa-angle-left {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

/* Seasonal logo decoration -- a handful of small particles falling/
   floating over the logo, on top of (never replacing) the SkyCASH text.
   Theme + date window chosen in sky_header_navbar.php. */
.main-header .logo {
	position: relative;
	overflow: visible;
}
.sky-season-fx {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}
.sky-season-particle {
	position: absolute;
	top: -10%;
	font-style: normal;
	font-size: 14px;
	line-height: 1;
	opacity: 0;
	animation-name: sky-season-fall;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
@keyframes sky-season-fall {
	0%   { transform: translateY(0) rotate(0deg); opacity: 0; }
	10%  { opacity: 0.9; }
	90%  { opacity: 0.9; }
	100% { transform: translateY(70px) rotate(45deg); opacity: 0; }
}
.sky-season-particle:nth-child(1) { left: 5%;  animation-duration: 3.2s; animation-delay: 0s; }
.sky-season-particle:nth-child(2) { left: 18%; animation-duration: 4.1s; animation-delay: 0.6s; }
.sky-season-particle:nth-child(3) { left: 32%; animation-duration: 3.6s; animation-delay: 1.3s; }
.sky-season-particle:nth-child(4) { left: 46%; animation-duration: 4.4s; animation-delay: 0.2s; }
.sky-season-particle:nth-child(5) { left: 58%; animation-duration: 3.0s; animation-delay: 1.8s; }
.sky-season-particle:nth-child(6) { left: 70%; animation-duration: 4.2s; animation-delay: 0.9s; }
.sky-season-particle:nth-child(7) { left: 82%; animation-duration: 3.5s; animation-delay: 1.5s; }
.sky-season-particle:nth-child(8) { left: 92%; animation-duration: 3.9s; animation-delay: 0.4s; }

.sky-season-christmas .sky-season-particle::before { content: '\2744'; color: #fff; }
.sky-season-newyear .sky-season-particle::before { content: '\2728'; color: #ffd700; }
.sky-season-newyear .sky-season-particle:nth-child(even)::before { content: '\1F389'; }
.sky-season-valentine .sky-season-particle::before { content: '\2764'; color: #ff6b9d; }
.sky-season-easter .sky-season-particle::before { content: '\1F95A'; }
.sky-season-easter .sky-season-particle:nth-child(3n)::before { content: '\1F430'; }
.sky-season-halloween .sky-season-particle::before { content: '\1F987'; }
.sky-season-halloween .sky-season-particle:nth-child(even)::before { content: '\1F383'; }
.sky-season-independence .sky-season-particle::before { content: '\2605'; color: #fcd116; }
.sky-season-independence .sky-season-particle:nth-child(3n)::before { color: #ce1126; }
.sky-season-independence .sky-season-particle:nth-child(3n+1)::before { color: #006b3f; }

/* AdminLTE.css also zeroes ALL corners of .input-group-addon (the icon box
   next to an input, e.g. Date of Birth / Telephone Number), not just the
   side touching the input -- so the addon's outer corner needs its own
   rounding restored to match the now-rounded .form-control it sits next to. */
.input-group .input-group-addon:first-child {
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}
.input-group .input-group-addon:last-child {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}