html,
body {
	color: #5c5c5c;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Montserrat", sans-serif;
	height: 100%;
	font-size:0.95rem;
	font-weight: 400;
}


h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  margin: 0 0 20px 0;
  padding: 0;
  color:#111;
}


a {
  color: #1dc8cd;
  transition: 0.5s;
}

a:hover, a:active, a:focus {
  color: #1dc9ce;
  outline: none;
  text-decoration: none;
}

a.reverse {
  color: initial;
  transition: 0.5s;
}

a.reverse:hover {
  color: #1dc8cd;
  outline: none;
  text-decoration: none;
}


.btn-light-button {
	font-size: 0.95rem;
	display: inline-block;
	padding: 6px 20px;
	border-radius: 50px;
	transition: 0.2s;
	margin: 10px;
	border: 2px solid #1dc8cd;
	color: #5c5c5c;
	text-decoration:none;
}
@media (max-width: 540px) {
  .btn-light-button {
    padding: 6px 10px;
  }
}
.btn-light-button:hover {
	border: 2px solid #24d7ad;
	background-color:#24d7ad;
	color:#fff;
	/*1dc8cd*/
}
.btn-light-button.no-border {
	border: 0;
  padding: 5px;
}
.btn-light-button.no-border:hover {
	border: 0;
	background-color:transparent;
	color: #1dc8cd;
}
.btn-light-button.font-bigger {
	font-size:1.3rem;
}

button[type="submit"] {
	background-image: linear-gradient(45deg, #1de099, #1dc8cd);
	border:0;
	padding:8px 30px;
	border-radius:20px;
	font-size:1rem;
	transition: all 0.3s;
}
button[type="submit"]:hover {
	background-image: linear-gradient(45deg, #2eeaa6, #25d4d9);
	border:0;
}

.btn-margin-top{
	margin-top:1.5rem;
}

.form-control:focus{
	border-color: #1d9f70;
	box-shadow: none;
}
input[type="file"].form-control {
	color:#666;
}
input[type="file"].form-control::file-selector-button {
	border-right: none;
}
.input-group:has(input[type="file"]) {
	align-items: center;
}
input[type="color"].form-control {
	padding:0; width:35px; height:33px; border:0;
}

.form-control {
	padding: 0.5rem 0.75rem;
	border-radius: 16px;
}
form .mb-3 {
	margin-bottom:20px;
}

.min100vh{
	min-height: calc(100vh - 110px);
}


@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	z-index: 997;
	transition: all 0.5s;
	background: linear-gradient(45deg, #1de099, #1dc8cd);
}

#header .navbar {
	padding-top: 16px;
	padding-bottom: 16px;
}

#header .navbar-brand img {
	height: 40px;
	transition: height 0.3s;
}

#header.header-transparent {
	background: transparent;
}

#header.header-transparent .navbar-brand img {
	height: 55px;
}

#header.header-fixed {
	background: linear-gradient(45deg, #1de099, #1dc8cd);
}

#header.header-fixed .navbar {
	padding-top: 10px;
	padding-bottom: 10px;
}

#header.header-fixed .navbar-brand img {
	height: 36px;
}

/* Toggler – bílá ikona */
#header .navbar-toggler {
	border:0;
}
#header .navbar-toggler:focus {
	box-shadow: none;
}
#header .navbar-toggler .bi {
  color: #fff;
  font-size: 1.6rem;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
#header .nav-link {
	color: #fff;
	font-size: 0.9rem;
  font-weight: 500;
	padding: 0 2px 8px 2px;
	position: relative;
	transition: color 0.3s;
}

#header .nav-item {
	margin-left: 20px;
}

#header .nav-link::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #fff;
	transform: scaleX(0);
	transition: transform 0.3s ease-in-out;
}

#header .nav-link:hover::after,
#header .nav-item.menu-active .nav-link::after {
	transform: scaleX(1);
}

#header .nav-link:hover,
#header .nav-item.menu-active .nav-link {
	color: #fff;
}

/* Na mobilu – rozbalené menu pod headerem */
@media (max-width: 767px) {
	#header .navbar-collapse {
		background: linear-gradient(45deg, #1de099, #1dc8cd);
		padding: 10px 0;
		margin-top: 8px;
	}
	#header .nav-item {
		margin-left: 0;
	}
	#header .nav-link {
		padding: 8px 16px;
	}
	#header .nav-link::after {
		display: none;
	}
	.nav-label {
		display: inline;
	}
	#header.header-transparent .navbar-toggler {
		display: none;
	}
	#header.header-transparent .navbar-brand {
		display: none;
	}
}

@media (max-width: 575px) {
	#header .navbar {
		padding-left: 12px;
		padding-right: 16px;
	}
}

@media (min-width: 768px) {
	.nav-label {
		display: inline;
	}
	#header .bi {
		margin-right: 3px;
	}
}





/*--------------------------------------------------------------
# Intro
--------------------------------------------------------------*/
#intro {
	display:flex;
	width: 100%;
	height: 100vh;
	background: linear-gradient(45deg, rgba(29, 224, 153, 0.8), rgba(29, 200, 205, 0.8)), url("../img/bg9.jpg") center top no-repeat;
	background-size: cover;
	position: relative;
}


/*--------------------------------------------------------------
# Formular pro login
--------------------------------------------------------------*/
.form-signin {
	width: 100%;
	max-width: 530px;
	padding: 15px;
	margin: auto;
}

.form-signin form {
	max-width: 330px;
	margin:auto;
}

.form-signin h2 {
	color:#fff;
	font-size:2.7rem;
}
.form-signin h2 img {
	height: 55px;
	position:relative;
	top: -4px;
}
.form-signin h3 {
	color:#fff;
	font-size:1.7rem;
}
.form-signin p{
	color:#fff;
	font-size:1.1rem;
	margin-bottom:2rem;
}
.form-signin input{
	margin-bottom:20px;
	border:0;
}
.form-signin input:focus{
	box-shadow: 0 0 0 .2rem rgba(91, 96, 95, 0.25);
}
.form-signin button[type="submit"] {
	/*background: linear-gradient(45deg, #1de099, #1dc8cd);*/
	background-image: none;
	background-color:#0f7b7b;
}
.form-signin button[type="submit"]:hover {
	/*background: linear-gradient(45deg, #1de099, #1dc8cd);*/
	background-image: none;
	background-color:#138585;
}



/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/
section { padding: 60px 0; }

section.header-indent { padding-top:120px; }

.section-header .section-title {
  font-size: 32px;
  color: #111;
  text-align: center;
}

.section-header .section-description {
  text-align: center;
  padding-bottom: 40px;
  color: #777;
  font-style: italic;
}

.section-header .section-divider {
  display: block;
  width: 60px;
  height: 3px;
  background: #1dc8cd;
  background: linear-gradient(0deg, #1dc8cd 0%, #55fabe 100%);
  margin: 0 auto;
  margin-bottom: 20px;
}

.section-bg {
  background: #eff5f5;
}


.section-normal {
	padding: 20px 0;
}

.section-normal h2 {
	font-size:1.6rem;
	text-align:left;
	margin-bottom:30px;
}

/* Icons
--------------------------------*/
.icon i {
  color: #666666;
  font-size: 40px;
  transition: 0.5s;
}

.icon i:before {
  background: #1dc8cd;
  background: linear-gradient(45deg, #1dc8cd 0%, #55fabe 100%);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


/* About
--------------------------------*/
#about {
  padding: 60px 0 30px 0;
  overflow: hidden;
}

#about .section-img {
  text-align: center;
  padding-top: 20px;
}

@media (min-width: 769px) {
  #about .section-img {
    padding-top: 110px;
    margin-top: -200px;
  }
}

#about .section-img img {
  max-width: 100%;
}

#about .box {
  margin-bottom: 15px;
  text-align: center;
}

#about .icon {
  margin-bottom: 10px;
}


#about .title {
  margin-bottom: 15px;
  font-size: 22px;
}

#about .title a {
  color: #111;
}

#about .description {
  margin-bottom: 10px;
}

#about .section-description {
  padding-bottom: 10px;
}



/* Certificate
--------------------------------*/
#certificate {
  overflow: hidden;
}

#certificate .icon {
  margin-bottom: 10px;
}


/* Folders
--------------------------------*/
#folders {
  display:flex;
  flex-wrap: wrap;
}

#folders .fa {
  font-size:2rem;
}

#folders .folder {
  display:inline-block; position:relative; line-height:100%; width:100px; margin:10px 10px; color:#5c5c5c;
}

#folders .folder a {
  color:#5c5c5c;
  text-decoration:none;
}

#folders .folder i {
  font-size: 5rem;
  color:#1dc8cd;
}

#folders .folder i:before {
  /*background: linear-gradient(45deg, #1dc8cd 0%, #55fabe 100%);*/
  background-clip: border-box;
  -webkit-background-clip: text;
  transition: 0.5s;
}


#folders .folder span.text {
  position:absolute; top:35px; left:0; width:100%; color:#fff; font-size:0.9rem;
}
#folders .folder span.count {
  position:absolute; top:50px; right:12px; min-width:15px; height:15px; background-color:#761079; border-radius:8px; color:#fff; 
  font-size:10px; text-align:center; outline:2px solid #fff; line-height:14px; font-weight:500;
}

#folders .folder span.ico {
  position:absolute; top:24px; left:0; width:100%;
}
#folders .folder span.ico i {
  font-size: 2.4rem;
}
#folders .folder span.ico i:before {
  background: #fff;
  /*background: linear-gradient(45deg, #1dc8cd 0%, #55fabe 100%);*/
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#folders .folder span.desc {
  display:block;
  font-size:0.9rem;
  transition: 0.5s;
}
#folders .folder:hover span.desc {
  color:#111;
}

.ui-state-highlight {
	border:5px solid #dad55e;background:#fffa90;color:#777620;
}


#folders .folder span.desc {
  display:block;
  font-size:0.9rem;
  transition: 0.5s;
}

#vyber-ikony { 
	font-size:2.3rem;
}
#vyber-ikony i{ 
	cursor:pointer;
	margin-right:10px;
	color:#bd2a8e;
}
#vyber-ikony i.aktivni{ 
	color:#1dcfbe;
	/*color:#81259d;*/
}


.folders-breadcrumbs{
	text-align:left; position:relative; top:-15px; font-size:0.85rem; margin-bottom:10px;
}
.folders-breadcrumbs .folders-breadcrumbs-item{
	display:inline-block; text-align:left; color:#7e7e7e;
}
.folders-breadcrumbs .folders-breadcrumbs-item a{
	color:#7e7e7e; text-decoration:none;
}
.folders-breadcrumbs .folders-breadcrumbs-item a:hover, .folders-breadcrumbs .folders-breadcrumbs-item a.aktivni{
	color:#222; text-decoration:underline;
}
.folders-breadcrumbs .folders-breadcrumbs-item span{
	display:inline-block; margin:0 5px;
}

.modified{ text-align:left; font-size:0.85rem; color:rgba(0,0,0,0.5); }

/* Files
--------------------------------*/
#files {
  display:flex;
  flex-wrap: wrap;
}

#files .file {
  display:inline-block; position:relative; line-height:100%; width:100px; margin:10px 10px; color:#5c5c5c;
  cursor:pointer; text-decoration:none;
}

#files .file i {
  font-size: 3.5rem; font-weight:100;
  background: -webkit-linear-gradient(0deg, rgba(221,66,172,1) 13%, rgba(95,9,121,1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.2s;
}
#files .file span.ico {
  position:absolute; top:22px; left:20px; width:100%; 
}
#files .file span.ico i {
	font-size: 2.2rem; 
	color:#7d3293;
	/*color:#5f0979;*/
	-webkit-text-fill-color: initial;
}
#files .file span.desc {
  display:block;
  font-size:0.9rem;
  transition: 0.2s;
}
#files .file:hover i, #files .file.aktivni i {
  background: -webkit-linear-gradient(0deg, #1de099, #1dc8cd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#files .file:hover span.desc, #files .file.aktivni span.desc {
  color:#111;
}
#files .file:hover span.ico i, #files .file.aktivni span.ico i {
	color:#1dcfbe;
	-webkit-text-fill-color: initial;
}

#file-detail{
	margin-top:30px;
	scroll-margin-top:20px;
}

.file-detail-header{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
	margin-bottom:6px;
}

.file-detail-header h2{
	margin:0;
}

.file-encrypted-badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:7px 12px;
	border-radius:999px;
	background:#1dd0bb;
	color:#fff;
	font-size:0.8rem;
	font-weight:600;
	line-height:1;
	letter-spacing:0.02em;
}

.file-encrypted-badge.not-encrypted{
	background:#eef2f6;
	color:#7b8794;
}

.file-encrypted-badge i{
	font-size:0.9rem;
	line-height:1;
	color:#fff;
}

.file-encrypted-badge.not-encrypted i{
	color:#7b8794;
}

.editor-inline-message {
	display: block;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: #fff4d6;
	border: 1px solid #f3d38a;
	color: #7a5a00;
	text-align: left;
}

/* Contextmenu
--------------------------------*/
.contextmenu {
	display:none;
	position:absolute;
	padding:10px 0 10px 0;
	width:200px;
	height:auto;
	background-color:#fff;
	border-radius:3px;
	-webkit-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
}
.contextmenu ul {
	list-style-type:none; padding:0; margin:0;
}
.contextmenu li {
	display:block; padding:5px 0 5px 20px; margin:0; text-align:left;
}
.contextmenu li a {
	text-decoration:none;
	color:#474747;
}
.contextmenu li a:hover {
	color:#1dc8cd;
}


/* Settings page cards
--------------------------------*/
.card {
	border-radius: 16px;
	overflow: hidden;
}
.card-overeni > .card-header {
	background: linear-gradient(90deg, #e91e8c, #4a90d9);
	color: #fff;
	border-bottom: none;
	font-weight: 600;
}
.card-nove-udaje > .card-header {
	background: linear-gradient(90deg, #4a90d9, #1de099);
	color: #fff;
	border-bottom: none;
	font-weight: 600;
}
.card-nove-udaje > .card-header small {
	color: rgba(255,255,255,0.75);
}


/* Back to top button
--------------------------------*/
.back-to-top {
  position: fixed;
  display: none;
  background: linear-gradient(45deg, #1de099, #1dc8cd);
  color: #fff;
  padding: 9px 20px 8px 20px;
  font-size: 16px;
  border-radius: 4px 4px 0 0;
  right: 15px;
  bottom: 0;
  transition: none;
}

.back-to-top:focus {
  background: linear-gradient(45deg, #1de099, #1dc8cd);
  color: #fff;
  outline: none;
}

.back-to-top:hover {
  background: #1dc8cd;
  color: #fff;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  background: #fff;
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1);
  padding: 20px 0;
  color: #333;
  font-size: 0.9rem;
  margin-top:30px;
}

#footer.fixed {
  position:fixed;
  width:100%;
  bottom:0;
}

#footer .footer-links a {
  color: #666;
  padding-left: 15px;
  text-decoration:none;
}

#footer .footer-links a:first-child {
  padding-left: 0;
}

#footer .footer-links a:hover {
  color: #1dc8cd;
}
html{
	scroll-behavior:smooth;
}
