@charset "UTF-8";

* {
	--brand-hue: 200;
	--brand-saturation: 100%;
	--brand-lightness: 50%;
	--brand-light: hsl(var(--brand-hue) var(--brand-saturation) var(--brand-lightness));
	--text1-light: hsl(var(--brand-hue) var(--brand-saturation) 10%);
	--text2-light: hsl(var(--brand-hue) 30% 30%);
	--surface1-light: hsl(var(--brand-hue) 25% 90%);
	--surface2-light: hsl(var(--brand-hue) 20% 99%);
	--surface3-light: hsl(var(--brand-hue) 20% 92%);
	--surface4-light: hsl(var(--brand-hue) 20% 85%);
	--surface5-light: hsl(var(--brand-hue) 35% 80%);
	--surface-shadow-light: var(--brand-hue) 10% 20%;
	--shadow-strength-light: .02;
	--brand-dark: hsl(var(--brand-hue) calc(var(--brand-saturation)/2) calc(var(--brand-lightness)/1.5));
	--text1-dark: hsl(var(--brand-hue) 15% 85%);
	--text2-dark: hsl(var(--brand-hue) 5% 65%);
	--surface1-dark: hsl(var(--brand-hue) 10% 10%);
	--surface2-dark: hsl(var(--brand-hue) 10% 15%);
	--surface3-dark: hsl(var(--brand-hue) 5% 20%);
	--surface4-dark: hsl(var(--brand-hue) 5% 25%);
	--surface5-dark: hsl(var(--brand-hue) 20% 30%);
	--surface-shadow-dark: var(--brand-hue) 50% 3%;
	--shadow-strength-dark: .8;
	--brand-dim: hsl(var(--brand-hue) calc(var(--brand-saturation)/1.25) calc(var(--brand-lightness)/1.25));
	--text1-dim: hsl(var(--brand-hue) 15% 75%);
	--text2-dim: hsl(var(--brand-hue) 10% 61%);
	--surface1-dim: hsl(var(--brand-hue) 10% 31%);
	--surface2-dim: hsl(var(--brand-hue) 10% 25%);
	--surface3-dim: hsl(var(--brand-hue) 5% 30%);
	--surface4-dim: hsl(var(--brand-hue) 5% 35%);
	--surface5-dim: hsl(var(--brand-hue) 15% 50%);
	--surface-shadow-dim: var(--brand-hue) 30% 13%;
	--shadow-strength-dim: .2
}

:root {
	color-scheme: light;
	--brand: var(--brand-light);
	--text1: var(--text1-light);
	--text2: var(--text2-light);
	--surface1: var(--surface1-light);
	--surface2: var(--surface2-light);
	--surface3: var(--surface3-light);
	--surface4: var(--surface4-light);
	--surface-shadow: var(--surface-shadow-light);
	--shadow-strength: var(--shadow-strength-light)
}

@media (prefers-color-scheme : dark) {
	:root {
		color-scheme: dark;
		--brand: var(--brand-dark);
		--text1: var(--text1-dark);
		--text2: var(--text2-dark);
		--surface1: var(--surface1-dark);
		--surface2: var(--surface2-dark);
		--surface3: var(--surface3-dark);
		--surface4: var(--surface4-dark);
		--surface5: var(--surface5-dark);
		--surface-shadow: var(--surface-shadow-dark);
		--shadow-strength: var(--shadow-strength-dark)
	}
}

[color-scheme=light] {
	color-scheme: light;
	--brand: var(--brand-light);
	--text1: var(--text1-light);
	--text2: var(--text2-light);
	--surface1: var(--surface1-light);
	--surface2: var(--surface2-light);
	--surface3: var(--surface3-light);
	--surface4: var(--surface4-light);
	--surface5: var(--surface5-light);
	--surface-shadow: var(--surface-shadow-light);
	--shadow-strength: var(--shadow-strength-light)
}

[color-scheme=dark] {
	color-scheme: dark;
	--brand: var(--brand-dark);
	--text1: var(--text1-dark);
	--text2: var(--text2-dark);
	--surface1: var(--surface1-dark);
	--surface2: var(--surface2-dark);
	--surface3: var(--surface3-dark);
	--surface4: var(--surface4-dark);
	--surface5: var(--surface5-dark);
	--surface-shadow: var(--surface-shadow-dark);
	--shadow-strength: var(--shadow-strength-dark)
}

[color-scheme=dim] {
	color-scheme: dark;
	--brand: var(--brand-dim);
	--text1: var(--text1-dim);
	--text2: var(--text2-dim);
	--surface1: var(--surface1-dim);
	--surface2: var(--surface2-dim);
	--surface3: var(--surface3-dim);
	--surface4: var(--surface4-dim);
	--surface5: var(--surface5-dim);
	--surface-shadow: var(--surface-shadow-dim);
	--shadow-strength: var(--shadow-strength-dim);
}

.my-color-warning {
	color: rgb(255, 112, 112);
}

.my-color-info {
	color: rgb(112, 255, 112);
}

html {
	font-size: 16px;
	background-color: var(--surface1);
	color: var(--text1)
}

*,
::before,
::after {
	box-sizing: border-box;
}

@font-face {
	font-family: "icomoon";
	src: url("icomoon/fonts/icomoon.eot");
	src: url("icomoon/fonts/icomoon.eot?#iefix") format("embedded-opentype"),
		url("icomoon/fonts/icomoon.woff") format("woff"),
		url("icomoon/fonts/icomoon.ttf") format("truetype"),
		url("icomoon/fonts/icomoon.svg#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

body {
	/*font-family: "Segoe UI";*/
	font-family: 'Ropa Sans', sans-serif;
	margin: 0;
	font-size: clamp(1.2rem, 4vw, 1.2rem);
	font-weight: 400;
	line-height: 1.3;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}

nav {
	/*background-color: var(--surface4);*/
	display: flex;
	gap: .5rem;
	align-items: center;
}

button, a.button {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .5rem .5rem;
	border: 1px solid var(--shadow-strength);
	background: var(--surface2);
	color: var(--text1);
	text-decoration: unset;
	gap: 12px;
}

button:hover, a.button:hover {
	background: var(--surface5);
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: 0.3rem;
	font-weight: 500;
	line-height: 1.2;
}

h1 {
	font-size: clamp(1.5rem, 4vw, 1.8rem);
}

h2 {
	font-size: clamp(1.4rem, 4vw, 1.7rem);
}

h3 {
	font-size: clamp(1.3rem, 4vw, 1.6rem);
}

h4 {
	font-size: clamp(1.2rem, 4vw, 1.5rem);
}

h5 {
	font-size: clamp(1.1rem, 4vw, 1.4rem);
}

h6 {
	font-size: clamp(1rem, 4vw, 1.2rem);
}

button,
input,
optgroup,
select,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

input {
	border: 1px solid var(--text2);
	border-radius: 2px;
	background-color: var(--surface2);
	padding: 3px 8px;
}

a {
	color: var(--my-btn-bg-hover-color);
	text-decoration: underline;
}

i {
	display: inline-block;
}

/* ======================================= 
   Font sizes
   ======================================= */
.my-font-2 {
	font-size: clamp(.8rem, 4vw, 1rem);
}

.my-font-2-5 {
	font-size: clamp(1rem, 4vw, 1.4rem);
}

.my-font-3 {
	font-size: clamp(1.2rem, 4vw, 2rem);
}

.my-font-12 {
	font-size: clamp(4rem, 12vw, 7rem);
}

/* ======================================= 
   My global 
   ======================================= */

/* Spinner */
@keyframes my-spinner-rotate {
	0% {
		transform: rotate(360deg);
	} 
	100% {
		transform: rotate(0);
	}
}

.my-spin-center {
	/*margin: auto;*/
	position: absolute;
	top: calc(50% - 2rem);
	width: 6rem;
	left: calc(50% - 3rem);
	text-align: center;
}

.my-spin {
	animation: my-spinner-rotate 2s linear infinite;
}

.my-spinner-icon {
	color: var(--my-btn-color);
	display: inline-block;
	font-size: 4rem;
}

.my-spinner-icon::before {
	font-family: "icomoon";
	content: "\e914";
}

.my-shadow {
	border: 1px solid hsl(var(--brand-hue) 10% 50% / 15%);
	box-shadow: 0 1rem .5rem -.5rem;
	box-shadow: 0 2.8px 2.2px hsl(var(--surface-shadow)/ calc(var(--shadow-strength) + .03)), 0 6.7px 5.3px hsl(var(--surface-shadow)/ calc(var(--shadow-strength) + .01)), 0 12.5px 10px hsl(var(--surface-shadow)/ calc(var(--shadow-strength) + .02)), 0 22.3px 17.9px hsl(var(--surface-shadow)/ calc(var(--shadow-strength) + .02)), 0 41.8px 33.4px hsl(var(--surface-shadow)/ calc(var(--shadow-strength) + .03)), 0 100px 80px hsl(var(--surface-shadow) / var(--shadow-strength))
}

/* ======================================= 
   Buttons
   ======================================= */
.my-btn {
	background: none;
	border-radius: 5px;
	height: 2.5rem;
	cursor: not-allowed;
	line-height: 1;
	background-color: var(--my-btn-bg-color);
	color: var(--my-btn-bg-hover-color);
	font-size: clamp(1.1rem, 4vw, 1.4rem);
	font-weight: 400;
	border: 1px solid var(--my-btn-bg-hover-color);
	/*padding: 0.6rem 1rem;*/
	padding: 0.2rem 0.6rem;
	text-decoration: none;
	vertical-align: middle;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.my-btn-label {
	justify-content: center;
	text-align: center;
}

.my-btn:not([disabled]) {
	color: var(--my-btn-color);
	cursor: pointer;
}

.my-btn i {
	text-align: center;
	flex: 0 1 0%;
}

.my-btn span {
	flex: 1 1 0%;
}

.my-btn-icon {
	/*font-size: 1.2rem;*/
	width: 2.0rem;
	height: 2.0rem;
	padding: 0rem;
	border: none;
	padding-top: 0.1rem;
	min-width: 2rem;
}

.my-btn-icon i {
	flex: 1 1 0%;
}

.my-btn:hover:not([disabled]) {
	background-color: var(--my-light);
	transition: 0.2s;
	/*border-radius: 5px;*/
}

/* ======================================= 
   Form elements  
   ======================================= */
.my-form-group {
	padding: .6rem;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: left;
	display: flex;
	/* flex: 1 0 0%;*/
	flex-flow: column nowrap;
}

.my-form-group label {
	margin-bottom: .2rem;
	color: var(--my-light);
}

.my-checkbox {
	width: 2rem !important;
	height: 2rem !important;
}

.my-form-control {
	display: block;
	width: 100%;
	padding: 0.3rem 0.4rem;
	font-size: clamp(1.1rem, 4vw, 1.4rem);
	font-weight: 400;
	line-height: 1.5;
	color: var(--my-color);
	background-color: var(--my-bg-color);
	background-clip: padding-box;
	border: 1px solid var(--my-border-color);
	border-radius: 0.25rem;
	transition: my-border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.my-hover-border:hover,
.my-hover-border:focus,
.my-form-control:not([disabled]):hover,
.my-form-control:not([disabled]):focus {
	outline: 0;
	box-shadow: 0px 0px 10px var(--my-btn-bg-hover-color);
}

.my-hidden {
	display: none !important;
}

.my-form-header {
	display: flex;
	flex-flow: row wrap;
	gap: .5rem;
	margin-bottom: 0.5rem;
}

.my-form-body {
	display: flex;
	flex-flow: row wrap;
	gap: 1rem;
	align-items: flex-start;
	flex: 1;
	/*margin: 0rem -0.3rem 0rem -0.3rem;*/
}

@media (max-width : 480px) {
	.my-form-body {
		flex-direction: column !important;
	}

	.my-form-row {
		flex-direction: column !important;
	}
}

.my-flex-form {
	display: flex;
	flex-flow: column wrap;
	flex: 1;
}

.my-form-footer {
	display: flex;
	flex-flow: row wrap;
	gap: .5rem;
	justify-content: flex-end;
	text-align: end;
	padding: .5rem 0 .5rem 0;
}

/* ------------------
    General
   ------------------ */
.my-overlay {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(3px);
	/*z-index: 2000;*/
}

.my-fit-content {
	height: fit-content;
}

.my-col-0 {
	display: flex;
	flex: 0 0 0%;
	flex-flow: column nowrap;
}

.my-col-1 {
	display: flex;
	flex: 1 0 0%;
	flex-flow: column nowrap;
}

.my-col-2 {
	display: flex;
	flex: 2 0 0%;
	flex-flow: column nowrap;
}

.my-row-0 {
	display: flex;
	flex: 0 0 0%;
	flex-flow: row nowrap;
	gap: .5rem;
}

.my-row-1 {
	display: flex;
	flex: 1 0 0%;
	flex-flow: row nowrap;
	gap: .5rem;
}

.my-align-start {
	justify-content: flex-start;
	text-align: start;
}

.my-align-center {
	justify-content: center;
	text-align: center;
}

.my-align-end {
	justify-content: flex-end;
	text-align: end;
	align-items: flex-end;
}

.my-align-top {
	align-items: flex-start;
}

.my-align-middle {
	align-items: center;
}

.my-align-bottom {
	align-items: flex-end;
}

.my-nowrap {
	flex-wrap: nowrap;
}

/* ------------------
   Attachment 
   ------------------ */
.my-input-group {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
}

.my-input-btn {
	border-radius: 0.25rem 0rem 0rem 0.25rem;
	flex: 1 0 0px;
}

.my-btn-input {
	border-radius: 0rem 0.25rem 0.25rem 0rem;
	border: 1px solid var(--my-border-color);
	height: unset;
	margin-right: 0.6rem;
}

.my-input-group label {
	margin: 0 0.5rem;
}

.my-input-alarm {
	color: var(--my-alarm-color);
	font-size: small;
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* ======================================= 
   header - body - footer
   ======================================= */
.my-main-frame {
	max-width: 600px;
}

.my-container {
	display: flex;
	flex-direction: column;
	background-color: var(--my-bg-color);
	width: 100%;
	height: 100%;
	overflow-y: clip;
}

.my-header {
	display: flex;
	position: sticky;
	padding: 0.3rem 0rem 0.3rem 0.5rem;
	/*z-index: 10;*/
	background-color: var(--my-head-bg-color);
	color: var(--my-head-color);
}

.my-body {
	position: relative;
	flex: 1 1 0%;
	display: flex;
	flex-flow: column nowrap;
}

.my-body-scrollable {
	overflow-y: auto;
	border-left: 1px solid var(--my-tab-border-color);
	border-right: 1px solid var(--my-tab-border-color);
	border-bottom: 1px solid var(--my-tab-border-color);
	background-color: var(--my-tab-bg-color);
}

.my-scrollable {
	overflow: auto;
}

.my-footer {
	position: sticky;
	padding: 0.1rem .3rem .1rem .3rem;
	/*z-index: 10;*/
	background-color: var(--my-head-bg-color);
	display: flex;
	flex: 0 1 0%;
	flex-flow: row wrap;
	gap: 0.5rem;
	align-items: center;
	font-size: 0.8rem;
}

.my-body .slide-box {
	display: flex;
	flex-flow: column nowrap;
	height: 100%;
}

/* ======================================= 
   collapse 
   ======================================= */
.my-collapse-open {}

.my-collapse-close {
	display: none;
	opacity: 0;
}

/* ======================================= 
   Tab                                     
   ======================================= */
.my-tab {
	display: flex;
	width: 100%;
	height: 100%;
}

.my-tab ul {
	display: flex;
	flex-wrap: wrap;
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	align-items: flex-end;
	border-bottom: 1px solid var(--my-tab-border-color);
	width: 100%;
}

.my-tab li {
	display: inline-block;
}

.my-tab li .my-btn {
	float: left;
	border: none;
	outline: none;
	border-radius: 0px;
	background-color: var(--my-body-color);
	color: var(--my-tab-color);
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
	margin-right: 1px;
}

.my-tab li .my-active {
	margin-bottom: -1px;
	background-color: var(--my-tab-bg-color) !important;
	color: var(--my-btn-hover-color) !important;
	border-top: 1px solid var(--my-tab-border-color) !important;
	border-left: 1px solid var(--my-tab-border-color) !important;
	border-right: 1px solid var(--my-tab-border-color) !important;
	border-bottom: 1px solid var(--my-tab-bg-color) !important;
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}

.my-tab-box {
	display: none;
	padding: 6px 12px;
	border: 1px solid #ccc;
	border-top: none;
}

/* ======================================= *
   badge                                   
   ======================================= */
.my-badge {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--btn-color);
	padding: 0.1rem 0.1rem;
	/*margin: 0.1rem 0.2rem;*/
	font-weight: 500;
	background: var(--btn-bg-hover-color);
	border-radius: 9999px;
	padding: .2rem .5rem;
}

.my-badge .my-label {
	font-size: 0.75rem;
	padding: 0rem 0.5rem;
}

.my-badge .my-btn {
	padding: 0.1rem 0.5rem 0rem 0rem;
	font-size: 0.75rem;
}

.my-badge .my-btn:hover {
	cursor: pointer;
}

.my-badge .my-icon {
	padding: 0.1rem 0.5rem 0rem 0rem;
	font-size: 0.75rem;
}

.my-pill {
	display: inline-block;
	color: var(--btn-color);
	font-size: .75em;
	font-weight: 700;
	background: var(--btn-bg-hover-color);
	border-radius: 9999px;
	padding: 0.35em 0.65em;
	line-height: 1;
	margin-left: 0.5rem;
}

/* =======================================
   swicth ON OFF                                  
   ======================================= */
.switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}