@import url("https://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600&subset=latin,cyrillic");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400italic,700italic,400,700&subset=latin,cyrillic");
@import url('https://fonts.googleapis.com/css?family=Roboto:400,400i,700i&display=swap&subset=cyrillic');
:root {
	--color-bg: #fcfcfc;
	--color-text: #212529;
	--color-text-high: #f8f9fa;
	--color-text-low: #999999;
	--hover-darken: rgba(0, 0, 0, 0.1);
	--color-light-constant: #fcfcfc;
	--color-dark-constant: #212529;
	--color-link: #1976d2;
	--color-link-hover: #1b345b;
	--green: #008000;
	--red: #ff0000;
	--blue: #0000ff;
	--yellow: #ffff00;
	--maroon: #800000;
	--navy: #000080;
	--purple: #800080;
	--silver: #c0c0c0;
}

[data-theme="dark"] {
	--color-bg: #121212;
	--color-text: #8F8F8F;
	--color-text-high: #cecece;
	--color-text-low: #5a5a5a;
	--hover-darken: rgba(255, 255, 255, 0.1);
	--primary: #36588b;
/*	--info: #398cac; */ /* -50 saturation */
	--info: #2296c4; /* -30 saturation */
	--danger: #de7841;
	--success: #7fa436;
	--warning: #daae2c;
	--color-link: #4e81aa;
	--color-link-hover: #7AA8D6;
	--green: #398d3a;
	--red: #d15249;
	--blue: #6f75c7;
	--yellow: #bfbf40;
	--maroon: #c15f58;
	--navy: #7a7a95;
	--purple: #c549bb;
}

html {
	font-size: 13px;
}
body {
/*  background-image: url("../img/construct.jpg"); */
/*	font-family: 'Roboto', sans-serif; */
	background-color: var(--color-bg);
	color: var(--color-text);
}
span#ati-comp-email b {
  display: none;
}
h1 small {
	font-size: 70%;
	font-weight: normal;
	line-height: 1;
	color: var(--color-text-low);
}
strong {
  font-weight: 600;
}
.container-fluid {
  max-width: 1100px;
  margin: 0 auto;
}
/* Fix for bootstrap and pmwiki conflict */
th[align="left"] {
  text-align: left;
}
th[align="right"] {
  text-align: right;
}
th[align="center"] {
  text-align: center;
}
th[align="justify"] {
  text-align: justify;
}
pre {
  line-height: 16px;
  color: var(--color-text);
}
a {
	color: var(--color-link);
}
a.createlink {
	display: none !important;
}
a:hover {
	color: var(--color-link-hover);
}
.border-bottom {
	border-bottom-color: var(--color-text-low) !important;
}
.table {
	color: var(--color-text);
}
code, pre {
  padding: 0 3px 2px;
  font-family: monospace;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid var(--silver);
}
code {
  padding: 2px 4px;
  background-color: var(--color-text-high);
  color: #e83e8c;
}

img {
  max-width: 100%;
}

textarea {
  resize: both;
  max-width: 100%;
}

/*.btn-primary {color: #fff;background-color: #048abf;border-color: #048abf; }
.btn-primary:hover {color: #fff;background-color: #036f9a;border-color: #03668d; }
.btn-primary:focus, .btn-primary.focus {box-shadow: 0 0 0 3px rgba(4, 138, 191, 0.5); }
.btn-primary.disabled, .btn-primary:disabled {background-color: #048abf;border-color: #048abf; }
.btn-primary:active, .btn-primary.active,.show > .btn-primary.dropdown-toggle {background-color: #036f9a;background-image: none;border-color: #03668d; }
.btn-info {color: #111;background-color: #aeebf2;border-color: #aeebf2; }
.btn-info:hover {color: #111;background-color: #8de3ed;border-color: #82e0eb; }
.btn-info:focus, .btn-info.focus {box-shadow: 0 0 0 3px rgba(174, 235, 242, 0.5); }
.btn-info.disabled, .btn-info:disabled {background-color: #aeebf2;border-color: #aeebf2; }
.btn-info:active, .btn-info.active,.show > .btn-info.dropdown-toggle {background-color: #8de3ed;background-image: none;border-color: #82e0eb; }
.btn-danger {color: #fff;background-color: #bf1120;border-color: #bf1120; }
.btn-danger:hover {color: #fff;background-color: #9c0e1a;border-color: #900d18; }
.btn-danger:focus, .btn-danger.focus {box-shadow: 0 0 0 3px rgba(191, 17, 32, 0.5); }
.btn-danger.disabled, .btn-danger:disabled {background-color: #bf1120;border-color: #bf1120; }
.btn-danger:active, .btn-danger.active,.show > .btn-danger.dropdown-toggle {background-color: #9c0e1a;background-image: none;border-color: #900d18; }
.btn-light {color: #111;background-color: #e9ecef;border-color: #e9ecef; }
.btn-light:hover {color: #111;background-color: #d3d9df;border-color: #cbd3da; }
.btn-light:focus, .btn-light.focus {box-shadow: 0 0 0 3px rgba(233, 236, 239, 0.5); }
.btn-light.disabled, .btn-light:disabled {background-color: #e9ecef;border-color: #e9ecef; }
.btn-light:active, .btn-light.active,.show > .btn-light.dropdown-toggle {background-color: #d3d9df;background-image: none;border-color: #cbd3da; }
*/
/*header {
  position: relative;
  background-color: white;*/
/*  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); */
/*}
header:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
}*/
.header {
	background: white;
	background: linear-gradient(to right, var(--color-bg) 490px, rgba(255, 255, 255, 0) 650px), url("/res/img/header_bg_new.jpg") right no-repeat;
/*  background-image: url("../img/ty_head_1100.png"); */
	height: 200px;
}
.header .logo img {
  /*width: 495px;*/
  height: 76px;
}
.header-bar {
/*	background: #048ABF; */
/*	background: #004b9b; */
	background: var(--primary); /*#2C5696;	/* ülikooli värv */
	padding: 0;
}
.header-bar a {
	color: var(--color-text-high); /*#f8f9fa;*/
}
.header-bar .breadcrumb {
	background-color: var(--primary); /*#2C5696;*/
	margin: 0;
}
.header-bar .breadcrumb a, .breadcrumb-item.active {
	color: var(--color-text-high); /*;#f8f9fa;*/
}
.header-bar .breadcrumb-item + .breadcrumb-item::before {
	content: "\00bb";
	color: var(--color-text-high); /*#f8f9fa;*/
}
.langs {
	display: flex;
}
.langs:hover,
.langs:focus {
	background-color: rgba(255, 255, 255, 0.2);
}
.langs a:hover {
	text-decoration: none;
}
#user-hud:hover, #login-hud:hover {
	background-color: rgba(255, 255, 255, 0.2);
}
#user-hud .dropdown-menu {
	background-color: #2C5696;
}
.dropdown-divider:first-child {
  display: none;
}
#user-hud .dropdown-item:focus, #user-hud .dropdown-item:hover {
	background-color: rgba(255, 255, 255, 0.2);
	color: #f8f9fa;
}
.dropdown-item:focus, .dropdown-item:hover {
	background-color: rgba(0, 0, 0, 0.1);
}
.login-block {
	max-width: 340px;
}

.sidebar-container {
/*	background-color: #AEEBF2; */
/*	background-color: #e9ecef; */
/*	background-color: #f8f9fa; */
	border-right: thin solid var(--color-text-low); /*#ccc;*/
}
@media (max-width: 767.98px) {
	.sidebar-container {
		border-right: none;
	}
}


/* kopeeritud css */
.gsc-control-cse
{
	padding:0px !important;
	border-width:1px !important;
/*	border-color: #049DBF !important; */
/*	border-color: #004b9b !important; */
/*	border-color: #048abf !important; */
	border-color: var(--info) !important;/*#00A6E6 !important;*/
}

form.gsc-search-box,table.gsc-search-box
{
	margin-bottom:0px !important;
}

.gsc-search-box .gsc-input
{
	padding:0px 4px 0px 6px !important;
  width: 100% !important;
}

#gsc-iw-id1
{
        height: auto !important;
        padding: 0px !important;
        border-width: 0px !important;
        box-shadow:none !important;
}

#gs_tti50
{
	padding:0px !important;
}

#gsc-i-id1
{
	height:33px !important;
	padding:0px !important;
	background:none !important;
	text-indent:0px !important;
}

.gsib_b
{
	display:none;
}

button.gsc-search-button
{
	display:block;
	width: 13px !important;
	height: 13px !important;
	border-width: 0px !important;
	margin: 0px !important;
	padding: 10px 10px 10px 10px !important;
	outline:none;
	cursor:pointer;
	box-shadow:none !important;
	box-sizing: content-box !important;
}

/*.searchbox .gsc-clear-button, .searchbox .gsc-results-wrapper-overlay, .searchbox .gsc-modal-background-image {
  display: none !important;
}*/

.gsc-branding
{
	display:none !important;
}

.gsc-control-cse,#gsc-iw-id1
{
	background-color:transparent !important;
}

/* first design */
#gsc-i-id1::-webkit-input-placeholder
{ 
	/* Chrome */
/*	color: #000; */
	color: var(--color-text);
}

#gsc-i-id1:-ms-input-placeholder
{ 
	/* IE 10+ */
/*	color: #000; */
	color: var(--color-text);
}

#gsc-i-id1::-moz-placeholder
{ 
	/* Firefox 19+ */
/*	color: #000; */
	color: var(--color-text);
	opacity: 1;
}

#gsc-i-id1:-moz-placeholder
{ 
	/* Firefox 4 - 18 */
/*	color: #000; */
	color: var(--color-text);
	opacity: 1;
}

/*.searchbox
{
	width: 100%;
}*/
#___gcse_0 {
/*	background-color: #049DBF; */
/*	background-color: #048abf; */
	background-color: var(--info);/*#00A6E6;*/
/*	background-color: #004b9b; */
  margin-left: -0.5rem;
  border: 1px solid var(--info);
}
button.gsc-search-button
{
	border-left: 1px solid var(--info) !important;
	background-color:transparent !important;
}
.gsc-input {
/*	background-color: white;*/
	background-color: var(--color-bg);
}

#gsc-i-id1
{
/*	color: #000; */
	color: var(--color-text);
}
.list-square {
	content: url(/res/img/square.png);
	padding-right: 10px;
}
.selflink .list-square {
	content: url(/res/img/squareactive.png);
	padding-right: 10px;
}
/*.sidebar li:hover {
	background-color: rgba(0, 0, 0, 0.1);
}*/
/*.sidebar {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}*/
.sidebar:empty {
  display: none;
}
/*.sidebar h1:first-child,
.sidebar h2:first-child,
.sidebar h3:first-child,
.sidebar h4:first-child,
.sidebar h5:first-child,
.sidebar h6:first-child {
  margin-top: 0;
} */
.sidebar ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font: 13px Open Sans, sans-serif;
}
.sidebar ul ul {
  padding-left: 9px;
/*  margin-top: 6px;
  margin-bottom: -6px;
  margin-right: -8px;*/
}
/*.sidebar ul ul li {
  padding-left: 9px;
  margin-left: -9px;
  margin-right: 8px;
}*/
/*.sidebar ul li {
  padding: 6px 8px;
}*/
.sidebar ul li span {
	padding-left: 9px;
}
.sidebar ul li > a, .sidebar ul li span > a {
	display: block;
/*  padding: 6px 0px;
  margin: .5rem; */
/*  margin: -6px -28px; */
/*  padding-left: 30px; */
/*  text-indent: -30px; */
/*	text-indent: -1rem; */
	padding: 0.5rem;
	font-weight: 600;
	color: var(--color-text); /*#222222;*/
	outline: none;
	text-decoration: none;
/*  border-bottom: 1px solid #f3f3f3; */
}
.sidebar ul li > a:before, .sidebar ul li span > a:before {
	content: url(/res/img/square.png);
	margin-right: 0.5rem;
}	
.sidebar ul li > a.selflink:before, .sidebar ul li span > a.selflink:before {
	content: url(/res/img/squareactive.png);
}	
.sidebar ul li > a:hover, .sidebar ul li span > a:hover {
  background-color: var(--hover-darken);
}
.sidebar ul li > a.selflink, .sidebar ul li span > a.selflink {
/*  background-color: #048ABF; */
	background-color: var(--info); /*#00A6E6;*/
	color: var(--color-text-high);
}
/*.sidebar ul li > a:first-child:before {
  content: url(../img/square.png);
  padding-left: 11px;
  padding-right: 10px;
}*/
/*.sidebar ul li > a.selflink:first-child:before {
  content: url(../img/squareactive.png);
}*/
/*.sidebar ul li.divider {
  height: 10px;
}*/
/*.sidebar ul li.divider:first-child {
  display: none;
}*/
.sidebar hr {
  margin: 10px 0;
}
/*
.gsc-control-cse {
	background-color: transparent !important;
	border: none !important;
}
.gsc-search-box {
	margin: 0 !important;
}*/
/*header .logo a {
  line-height: 115px;
}
header .logo img {
	margin: 0 0 0 -8px;
}*/
/*header #user-hud {
  float: right;
}
header #user-hud .login-button,
header #user-hud .user-actions-button {
  display: inline-block;
  text-decoration: none;
  padding: 6px 10px;
  color: #f4f4f4;
}
header #user-hud .login-button:hover,
header #user-hud .user-actions-button:hover,
header #user-hud .login-button.active,
header #user-hud .user-actions-button.active {
  background-color: #eee;
  color: black;
}
header #user-hud .user-actions-button {*/
/*  padding-right: 6px; */
/*  outline: none; */
/*  padding: 8px 6px 9px 10px;
  color: #f4f4f4;
  font: 13px Roboto, sans-serif;
}
header #user-hud .user-actions-button:after {
  content: "\25bc";
  padding-left: 4px;
  font-size: 11px;
  vertical-align: top;
}
header #user-hud .user-actions {
  list-style-type: none;
  margin: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  position: absolute;
  background-color: white;
  right: -1px;
  z-index: 1;
  -webkit-box-shadow: -2px 2px 5px -2px rgba(0, 0, 0, 0.3);
  box-shadow: -2px 2px 5px -2px rgba(0, 0, 0, 0.3);
  border: 1px solid #ccc;
}
header #user-hud .user-actions.open {
  opacity: 1;
  visibility: visible;
}
header #user-hud .user-actions li a {
  display: block;
  padding: 6px 12px;
  text-decoration: none;
}
header #user-hud .user-actions li a:hover {
  background-color: #eee;
}
header #user-hud .user-actions .remove-course-link {
  float: right;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 32px;
  font-size: 18px;
  text-align: center;
  color: rgba(17, 85, 136, 0.5);
}
header #user-hud .user-actions .remove-course-link:hover {
  color: inherit;
}
header #user-hud .user-actions .remove-course-link + a {
  padding-right: 44px;
}
header #user-hud .user-actions .divider {
  margin: 4px 0;
  height: 1px;
  background-color: #ddd;
}
header #user-hud .user-actions .divider:first-child {
  display: none;
}
header .langs {
  list-style-type: none;
  margin: 0;
}
header .langs li {
  float: right;
}
header .langs li a {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  line-height: 33px;
  width: 33px;
}
header .langs li a:hover,
header .langs li a.active {
  background-color: #eee;
}
header .langs img {
  vertical-align: initial;
}
header .breadcrumb {
	background-color: #004ba0;*/
	/* logo värv on #004b9b */
/*	padding: 8px 15px;
	color: #333333;
	font: 13px Roboto, sans-serif;
	border-radius: unset; */
/*  background-color: transparent; */
/*  margin: 0;
}
header .breadcrumb > .active {
	color: #f4f4f4;
}
header .breadcrumb li {
	text-shadow: none;
	font: 13px Roboto, sans-serif;
}
header .breadcrumb a {
	color: #f4f4f4;
}
header .breadcrumb li:before {
  content: "\00bb";
  font-size: 14px;
  padding: 0 7px;
}
header .breadcrumb li:first-child:before {
  content: "";
  padding: 0;
}*/
.page {
  position: relative;
  background-color: white;
  margin-top: 25px;
  padding-bottom: 20px;
/*  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); */
}
.page .page-header {
  padding-left: 20px;
  padding-right: 20px;
}
#pre-header-controls {
  float: right;
  margin-top: 10px;
}

.content,
.post-content {
  padding-right: 30px;
  padding-left: 30px;
}
.content h1:first-child,
.post-content h1:first-child,
.content h2:first-child,
.post-content h2:first-child,
.content h3:first-child,
.post-content h3:first-child,
.content h4:first-child,
.post-content h4:first-child,
.content h5:first-child,
.post-content h5:first-child,
.content h6:first-child,
.post-content h6:first-child {
  margin-top: 0;
}
ul.course-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  -webkit-column-width: 350px;
  -moz-column-width: 350px;
  column-width: 350px;
  -webkit-column-gap: 30px;
  column-gap: 30px;
}
ul.course-list.single-column {
  display: inline-block;
  -webkit-columns: 1;
  -moz-columns: 1;
  columns: 1;
}
ul.course-list li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
/*  border-bottom: 1px solid #ddd;*/
/*  margin-bottom: 3px;*/
/*  padding-bottom: 3px;*/
}
ul.course-list li.notpublished {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
ul.course-list li a {
  display: block;
  text-decoration: none;
  padding: 4px 6px;
  font: 13px Open Sans, sans-serif;
/*  font: 13px Roboto, sans-serif; */
  color: var(--color-link);
  font-weight: 600;
}
/*ul.course-list li a:hover {
  background-color: #eee;
}*/
ul.course-list li:hover {
  background-color: #eee;
}
ul.course-list li a .course-code {
  float: right;
  font-style: italic;
  color: gray;
  font-weight: normal;
}
table th.centered,
table td.centered {
  text-align: center;
}
table th.right-aligned,
table td.right-aligned {
  text-align: right;
}
table th.v-centered,
table td.v-centered {
  vertical-align: middle;
}
table tr.editing {
  background-color: #fffb8b;
}
table.grades {
  width: auto;
}
table.grades td {
  padding: 3px 8px;
  text-align: center;
}
table.grades td:first-child {
  text-align: right;
}
table.grades td.comment {
  white-space: pre-wrap;
}
footer {
  margin-top: 25px;
  background-color: var(--color-bg);
/*  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); */
  font-size: 12px;
}
footer > div {
  padding: 10px 15px;
  overflow: hidden;
}
footer .breadcrumb {
	background-color: transparent;
}
footer .breadcrumb-item + .breadcrumb-item::before {
	content: "|";
	color: #888;
}
footer .sponsors img {
  margin: 10px 0px 5px;
}
footer .sponsor-images {
	background-color: white;
}
code {
	white-space: normal;
}
/*
#gsc-i-id1.gsc-input {
	background: white !important;
	margin: 0 !important;
/*	padding: 5px !important; */
/*}
.gcsc-branding-text,  .gcsc-branding-img {
	display: none; 
}
.gs-title, .gs-snippet {
	font-family: "Open Sans";
}
.gsc-results .gsc-cursor-box .gsc-cursor-current-page {
    color: #ffffff !important;
}
.gsc-thumbnail {
	display: none;
}
.searchbox {
	background-color: transparent;
	margin: 0;
	padding: 0;
/*	height: 3em;*/
/*}
.gsc-control-cse {
	padding: 0 !important;
}
.cse input.gsc-input, input.gsc-input, input.gsc-input:focus {
	font-family: "Open Sans" !important;
	font-size: 13px !important;
	text-indent: initial !important;
	margin-bottom: 0px;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}
.searchbox form.gsc-search-box {
	width: 100%;
}
/*.searchbox .gsib_a {
	padding: 6px 9px 5px 9px;
}*/
/*button.gsc-search-button.gsc-search-button-v2 {
/*	border: 0; */
/*	background: #1976d2;
/*	margin: 2px 0 0 -18px; */
/*	padding: 9px 27px 5px 27px;
	margin: 0;
	font-size: inherit;
	border: 0;
	border-radius: 0;
}*/
.mini { padding:2px; border:1px solid #dddddd; background-color:#ffffff; }
.miniH, .miniF {display:block;}
/*body .syntaxhighlighter .line {
        white-space: pre-wrap !important;
}*/
/*html {
	background-image: url(https://www.ev100.ee/sites/all/themes/cdn/public/assets/images/Sitehat_1920_1080.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}*/


.ui-widget-overlay {
	background-color: black;
	opacity: 0.5;
}

.sorter-false {
  color: #888;
}
.tablesorter-header:not(.sorter-false) {
  cursor: pointer;
}

/*.btn, .waves-effect {
	overflow: hidden;
}*/
.ripple-wrap {
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	border-radius: inherit;
	display: inline-block;
	overflow: hidden;
}
.ripple {
	position: absolute;
	background: #fff;
	transform: translate(-50%, -50%);
	pointer-events: none;
	border-radius: 50%;
	animation: ripple-anim 1s linear infinite;
}
@keyframes ripple-anim {
	0%
	{
		width: 0px;
		height: 0px;
		opacity: 0.5;
	}
	100%
	{
		width: 500px;
		height: 500px;
		opacity: 0;
	}
}

#tooltip {
  display: inline-block;
  background: #ffffff;
  color: #643045;
  padding: 5px 10px;
  font-size: 13px;
  border-radius: 4px;
}

#arrow,
#arrow::before {
  position: absolute;
  width: 8px;
  height: 8px;
  background: inherit;
}

#arrow {
  visibility: hidden;
}

#arrow::before {
  visibility: visible;
  content: '';
  transform: rotate(45deg);
}

#tooltip[data-popper-placement^='top'] > #arrow {
  bottom: -4px;
}

#tooltip[data-popper-placement^='bottom'] > #arrow {
  top: -4px;
}

#tooltip[data-popper-placement^='left'] > #arrow {
  right: -4px;
}

#tooltip[data-popper-placement^='right'] > #arrow {
  left: -4px;
}

.form-floating {
  display:block;
  position:relative
}
.form-floating label, .form-floating > span {
  position:absolute;
  cursor:text;
  font-size:75%;
  opacity:1;
  -webkit-transition:all .2s;
  transition:all .2s;
  top:-.5em;
  left:.75rem;
  z-index:3;
  line-height:1;
  padding:0 1px
}
.form-floating label::after, .form-floating > span::after {
  content:" ";
  display:block;
  position:absolute;
  background:#fff;
  height:2px;
  top:50%;
  left:-.2em;
  right:-.2em;
  z-index:-1
}
.form-floating .form-control::-webkit-input-placeholder {
  opacity:1;
  -webkit-transition:all .2s;
  transition:all .2s
}
.form-floating .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder {
  opacity:0
}
.form-floating .form-control:placeholder-shown:not(:focus)+* {
  font-size:150%;
  opacity:.5;
  top:.3em
}
.form-floating .form-control:focus {
  box-shadow: none;
}


/* Dark mode switch */
input[type="checkbox"]#darkmode {
  position: absolute;
  opacity: 0;
  z-index: -1;
}

.check-trail {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  width: 3em;
  height: .5em;
  background: var(--color-light-constant);
  border-radius: 1em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  cursor: pointer;
  margin-top: .5em;
}

.check-handler {
  display: -webkit-box;
  display: flex;
  margin-left: 0.4em;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: 1.4em;
  height: 1.4em;
  background: var(--info);
  border-radius: 50%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.check-handler:before {
  font-family: "Font Awesome 5 Free";
  content: "\f185";
  color: yellow;
  font-size: 1em;
  font-weight: bold;
}
/*
input[type="checkbox"]#darkmode:checked + .check-trail {
  background: var(--light);
}*/
input[type="checkbox"]#darkmode:checked + .check-trail .check-handler {
  margin-left: 1.2em;
  background: var(--dark);
}
input[type="checkbox"]#darkmode:checked + .check-trail .check-handler::before {
  content: "\f186";
  color: var(--color-light-constant);
}
/* end Dark mode switch*/
.loader-wrapper {
  position: absolute;
/*  position: fixed;
  top: 0;
  left: 0;*/
  width: 100%;
  height: 100%;
  z-index: 1000;
  min-width: 50px;
  min-height: 50px;
}
.loader {
  display: block;
  position: relative;
  left: 50%;
/*  top: 50%;*/
  top: 1em;
  width: 50px;
  height: 50px;
  margin: 0px 0 0 -25px;
  border: 3px solid transparent;
  border-top-color: var(--success);
  border-radius: 50%;
  z-index: 1500;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}
.loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border: 3px solid transparent;
  border-top-color: var(--danger);
  border-radius: 50%;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}
/*.loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border: 3px solid transparent;
  border-top-color: var(--warning);
  border-radius: 50%;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}*/
@-webkit-keyframes spin {
  0%   {
      -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
      -ms-transform: rotate(0deg);  /* IE 9 */
      transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
  }
  100% {
      -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
      -ms-transform: rotate(360deg);  /* IE 9 */
      transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
  }
}
@keyframes spin {
  0%   {
      -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
      -ms-transform: rotate(0deg);  /* IE 9 */
      transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
  }
  100% {
      -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
      -ms-transform: rotate(360deg);  /* IE 9 */
      transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
  }
}