/**
 * Lightweight CMS from yBit
 *
 * @license GNU Lesser General Public License
 Copyright (C) yBit - 2019 Stefan 'Eichi' Eichhorst <eichi@ybit.eu>

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public License
 along with this program. If not, see <http://www.gnu.org/licenses/>.
 *
 * @package yCMS
 * @copyright yBit - 2019 Eichi (Stefan Eichhorst) <eichi@ybit.eu>
 */

 @font-face {
	font-family: "SourceSans";
	local: "Source Sans Pro";
	src: url("/tpl/templates/themes/default/fonts/sourcesanspro.eot#") format("eot"),
	url("/tpl/templates/themes/default/fonts/sourcesanspro.svg#Primary") format("svg"),
	url("/tpl/templates/themes/default/fonts/sourcesanspro.woff") format("woff");
}
@font-face {
	font-family: "SourceSansLight";
	local: "Source Sans Pro Light";
	src: url("/tpl/templates/themes/default/fonts/sourcesansprolight.eot#") format("eot"),
	url("/tpl/templates/themes/default/fonts/sourcesansprolight.svg#Primary") format("svg"),
	url("/tpl/templates/themes/default/fonts/sourcesansprolight.woff") format("woff");
}
@font-face {
	font-family: "SourceSansBold";
	local: "Source Sans Pro Bold";
	src: url("/tpl/templates/themes/default/fonts/sourcesansprobold.eot#") format("eot"),
	url("/tpl/templates/themes/default/fonts/sourcesansprobold.svg#Primary") format("svg"),
	url("/tpl/templates/themes/default/fonts/sourcesansprobold.woff") format("woff");
}
@font-face {
	font-family: "OpenSans";
	local: "Open Sans";
	src: url("/tpl/templates/themes/default/fonts/opensans.eot#") format("eot"),
	url("/tpl/templates/themes/default/fonts/opensans.svg#Primary") format("svg"),
	url("/tpl/templates/themes/default/fonts/opensans.woff") format("woff");
}
@font-face {
	font-family: "OpenSansLight";
	local: "Open Sans Light";
	src: url("/tpl/templates/themes/default/fonts/opensanslight.eot#") format("eot"),
	url("/tpl/templates/themes/default/fonts/opensanslight.svg#Primary") format("svg"),
	url("/tpl/templates/themes/default/fonts/opensanslight.woff") format("woff");
}
@font-face {
	font-family: "OpenSansBold";
	local: "Open Sans Bold";
	src: url("/tpl/templates/themes/default/fonts/opensansbold.eot#") format("eot"),
	url("/tpl/templates/themes/default/fonts/opensansbold.svg#Primary") format("svg"),
	url("/tpl/templates/themes/default/fonts/opensansbold.woff") format("woff");
}

:root {
	--green: #6BC220;
	--blue-dark: #1a396a;
	--blue-middle: #004C89;
	--blue-light: #1663ac;
	--blue-lighter: #e1f1ff;
	--white: #fff;
	--grey: #58595B;
	--grey-light: #A4AFB7;
	--grey-lighter: #F1F2F5
}

body {
	/*font-family: SourceSansLight, Arial, Helvetica, 'Lucida Sans', Verdana!important;*/
	color: var(--grey);
	margin: 0;
	background-repeat: repeat-x;
	height: 100vh;
}

main {
	width: calc(100vw - 300px);
	padding-top: 80px;
	min-height: 100vh;
	background-color: var(--grey-lighter);
	margin-left: 300px;
}

a {
	color: var(--blue-light);
}

a:hover,
a:active,
a:visited {
	color: var(--blue-dark);
}

.btn {
	background: var(--white);
	border: .05rem solid var(--white);
	color: var(--grey);
	border-radius: 30px;
	padding: 0 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.btn.btn-primary {
	background: var(--blue-light);
	border-color: var(--blue-light);
	color: var(--white) !important;
}

.btn:hover,
.btn:active,
.btn:focus {
	color: var(--grey);
	border-color: var(--white);
}

.btn.btn-primary:hover,
.btn.btn-primary:active,
.btn.btn-primary:focus {
	background: var(--blue-dark);
	border-color: var(--blue-dark);
}

.btn.btn-success,
.btn.btn-success:hover,
.btn.btn-success:active,
.btn.btn-success:focus {
	background: var(--green);
	border-color: var(--green);
}

.form-checkbox input:checked + .form-icon,
.form-radio input:checked + .form-icon,
.form-switch input:checked + .form-icon {
	background: var(--blue-dark);
	border-color: var(--blue-dark);
}

.form-checkbox .form-icon {
	border-radius: 0.2rem;
}

.form-checkbox input:checked + .form-icon::before {
	margin-left: -4px;
	margin-top: -7px;
}

.pagination .page-item.active a {
	background: var(--blue-light);
}

.label.label-primary {
	background-color: var(--blue-light);
}

h1 {
	font-size: 1.4rem;
	padding: 2rem 3rem;
}

#content {
	padding: 0 3rem;
}

#content .panel {
	border: unset;
	box-shadow: 0px 0px 2px var(--white);
	margin-bottom: .8rem;
}

#content .panel .panel-body,
#content .panel .panel-footer,
#content .panel .panel-header {
	padding: 1rem;
	overflow: initial;
}

#content .panel .panel-header + .panel-body {
	padding: 0 1rem 1rem 1rem;
}

#content #new-message-wrapper{
	padding: 1rem 1rem 2rem;
}

#new-message-wrapper p.text-bold {
	padding: 0 20px;
}

#new-message-wrapper>form {
	padding: 8px 8px 8px 20px;
}

.table thead {
	background-color: #CCD7E6;
	color: var(--blue-middle);
}

.table thead th {
	border-bottom: unset;
	padding: .6rem .6rem;
}

.table tbody tr:nth-child(even){
	background-color: var(--grey-lighter);
}

.table td {
	border-bottom: unset;
	font-size: .6rem;
	padding: .6rem .6rem;
}

.ycms-table {
	width: 100%;
	font-size: 0.7rem;
	position: relative;
}

.ycms-table thead tr td,
.ycms-table thead tr th {
	font-weight: bold;
	color: var(--blue-light);
	background: var(--blue-lighter);
	font-size: 0.8rem;
}

.ycms-table thead tr td:first-child,
.ycms-table tbody tr td:first-child {
	padding-right: 0.6rem;
	padding-left: 0.6rem;
}

.tile {
	background-color: var(--white);
	margin: 0 1rem 2rem 1rem;
	padding: 0.4rem 0 1.2rem 0;
}

.tile-img {
	padding: 2rem 0.8rem 2rem 1.2rem;
	width: 100%;
}

.tile-content p {
	margin: 0.7rem 0;
}

.tile-content .tile-subtitle {
	margin-bottom: 0;
}

.text-small {
	font-size: 0.8em;
}

.state-bullet {
	font-size: 1.6rem;
	line-height: 1.8rem;
	cursor: pointer;
}

.state-bullet.inactive {
	color: var(--grey-light);
}

.state-bullet.active {
	color: var(--green);
}

.top-navbar {
	height: 80px;
	width: 100%;
	margin: auto;
	background-color: var(--white);
	z-index: 99;
	position: fixed;
}

.top-navbar .column {
	margin: auto;
	margin-left: 20px;
}

.yCMS-User-Menu-Container {
	display: flex;
	justify-content: flex-end;
	padding-right: 0px;
}

.yCMS-User-Menu-Container .accordion.column {
	flex: 0;
	margin: 0px;
	position: relative;
}

.yCMS-User-Menu-Container .accordion-body {
	position: absolute;
	top: 70px;
	background: var(--white);
	left: 0;
}

.yCMS-User-Menu-Container .accordion-header {
	white-space: nowrap;
	padding-right: 0px;
	padding-top: 10px;
	cursor: pointer;
}

.avatar {
	background: unset!important;
}

.avatar img {
	border-radius: 0%;
	width: auto!important;
}

.top-navbar-logo {
	margin: auto;
}

.top-navbar-logo img {
	vertical-align: middle;
	width: auto;
	height: 62px;
}

.top-navbar-notification {
	border-right: 2px solid #CDCDCD;
	margin: auto 0;
	padding-right: 10px;
	padding-top: 0px;
}

#sidebar {
	min-height: calc(100vh - 135px);
}

#sidebar-foot ul {
	margin: 0;
}

#sidebar-foot li:active {
	background: var(--blue-dark);
}

.side-navigation {
	width: 300px;
	min-height: calc(100vh - 80px);
	background-color: var(--blue-light);
	max-width: calc(100vw - 80px);
	float: left;
	position: fixed;
	top: 80px;
	left: 0;
	bottom: 0;
}

.side-navigation a {
	text-decoration: none!important;
	color: var(--white)!important;
}

.side-navigation a:hover {
	text-decoration: none!important;
}

.side-navigation a:active {
	text-decoration: none!important;
}

.side-navigation-list {
	list-style-type: none;
	margin-top: 0px;
	margin-left: 0px;
	cursor: pointer;
}

.side-navigation-list i {
	font-size: 22px;
	margin-right: 10px;
	margin-top: 0px;
}

.side-navigation-list-entry {
	line-height: 45px;
	height: 45px;
	width: 100%;
	color: var(--white);
	margin-top: 0px;
}

.side-navigation-list-entry:hover {
	background: var(--blue-dark);
}

.nav-active, .side-navigation-list-entry:active {
	background: var(--green);
}

.side-navigation-list-entry-backdrop {
	margin-left: 5px;
	padding-left: 20px;
}

.side-navigation-list-entry-backdrop:hover {
	background-color: var(--blue-dark);
}

.side-navigation-list-entry-backdrop:active {
	background-color: var(--blue-dark);
}

.nav-active a .side-navigation-list-entry-backdrop, .side-navigation-list-entry-backdrop:focus {
	background-color: var(--blue-dark);
}

.side-navigation-list-entry.tooltip.tooltip-right:after {
	padding: .0rem .6rem;
}

.nav-collapsed {
	width: 80px;
}

.side-navigation-clollapsed-main {
	width: calc(100vw - 56px);
	margin-left: 56px;
}

.hide-text {
	display: none;
}

#collapse-text {
	cursor: pointer;
}

.nav-collapsed #collapse-text {
	display: none;
}

.top-subbar {
	display: none;
	height: 60px;
	background-color: var(--blue-light);
}

#loginPage {
	height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
}

#loginMask {
	height: auto;
	width: 335px;
	position: relative;
}

#logoutMsg {
	margin: 74px 20px 0 20px;
}

#input-pass {
	margin-top: 20px;
}

#loginMask div input {
	width: 285px;
	border-width: 0 0 1px 0;
	margin-left: auto;
	margin-right: auto;
}

#loginMask div input:focus {
	box-shadow: unset;
}

#loginMask .form-switch-text {
	margin: 22px auto 0 auto;
	text-align: left;
	width: 285px;
}

#loginMask #submit,
#loginMask #submit_register {
	width: 100%;
	height: 55px;
	margin-top: 22px;
	border: none;
	border-radius: 0;
}

#loginMask-logo {
	height: auto;
	width: 100%;
	margin: 0 auto;
	padding: 2rem;
}

#loginMask-logo img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: auto;
	max-width: 100%;
	max-height: 25vh;
}

#loginMask .loginForm-wrapper {
	margin-top: 0;
	background-color: var(--white);
}

.show-sideNavigation {
	display: block !important;
}

.accordion input:checked ~ .accordion-header .icon,
.accordion[open] .accordion-header .icon {
	transform: rotate(180deg);
}

.accordion input:checked ~ .accordion-header .icon.fixed,
.accordion[open] .accordion-header .icon.fixed {
	transform: rotate(0);
}

.accordion-header .icon {
	vertical-align: middle;
}

.accordion .accordion-header {
	cursor: pointer;
}

.accordion.dropbox-style {
	border: .05rem solid #bcc3ce;
}

.accordion.dropbox-style .accordion-header {
	background: var(--white) url("../img/icons/expand_more_lightgrey.svg") right center/auto 85% no-repeat;
	padding: .25rem .4rem;
}

table .options .accordion-header {
	display: inline;
}

.menu-nav {
	margin-top: -.4rem;
}

.menu-nav a {
	text-decoration: none;
}

.menu-nav li {
	margin-top: unset;
	margin-bottom: .4rem;
}

#support-overlay {
	visibility: visible;
	position: fixed;
	max-width: 70px;
	right: 25px;
	bottom: 25px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 10px;
}

#support-overlay img {
	width: 50px;
}

.side-navigation span {
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-user-select: none;
}

.btn.show-sidenav-button {
	margin: 12px;
	background: var(--blue-light);
	color: var(--white);
	border: none;
}

.panel {
	background-color: var(--white);
}

.profile-panel {
	margin-bottom: 2rem;
}

.panel-margin-bottom {
	margin-bottom: 4rem;
}

.avatar-image-wrapper img,
.hero-image-wrapper img {
	max-width: 100%;
	max-height: 300px;
}

.admin-login-below {
	position: absolute; /* for correctly centering the login box on the page */
	width: 100%;
	display: flex;
	justify-content: space-evenly;
	margin-top: 12px;
	font-size: .6rem;
	color: var(--white);
	text-shadow: 0 0 5px black;
}

.admin-login-below a {
	color: var(--white);
}

.side-navigation-list-entry.tooltip.tooltip-right::after {
	display: none;
}

.nav-collapsed .side-navigation-list-entry.tooltip.tooltip-right::after {
	display: unset;
}

#pagebuttons .btn,
#pagebuttons .form-input {
	margin-right: 0.4rem;
}

#pagebuttons .btn.btn-primary:active {
	border-color: unset;
}

#pagebuttons .btn.btn-primary:hover {
	background: var(--blue-middle);
}

.headline input[type='search'],
#pagebuttons input[type='search'] {
	background: var(--white) url("../img/icons/outline-lightgrey_search.svg") 10px 50%/6% no-repeat;
	vertical-align: middle;
	border-radius: 30px;
	display: inline-block;
	width: 15rem;
}

.headline input[type='search']::placeholder,
#pagebuttons input[type='search']::placeholder {
	color: var(--grey);
	opacity: 1;
}

#pagebuttons select.form-input {
	border: none;
	display: inline-block;
	padding: 3px 6px;
}

textarea {
	border: 0.1px solid lightgray;
}

.form-input:focus {
	border-color: var(--blue-light);
	box-shadow: 0 0 0 .1rem rgb(22, 99, 172, .2);
}

select.form-input {
	background: var(--white) url("../img/icons/expand_more_lightgrey.svg") right center/auto 85% no-repeat;
}

select.form-input.small {
	font-size: 0.6rem;
	line-height: 1rem;
	height: 1.6rem;
	padding: .2rem .3rem;
	width: 180px;
}

@media only screen and (max-height: 685px) {
	.sidenav-scroll {
		height: 100%;
		width: 100%;
		overflow-y: scroll;
		overflow-x: hidden;
	}
}

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

}

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

	.top-navbar-notification{
		display: none;
	}

	#support-overlay {
		right: 10px;
		bottom: 10px;
	}
}

.custom-toast-warning {
	background: #e96041;
	border-color: #e96041;
}

.toast div {
	display: inline-block;
}

.btn .icon {
	vertical-align: middle;
}

.toast .icon {
	vertical-align: middle;
}

.menu {
	min-width: 150px;
}

.menue .icon {
	vertical-align: middle;
}

.accordion .icon {
	vertical-align: middle;
	margin-right: 0.8em;
}

.accordion a,
.accordion a:hover,
.accordion a:active,
.accordion a:visited,
.accordion a:focus {
	color: var(--grey);
}

.modal-alert-footer {
	text-align: center!important;
}

.modal-footer button {
	min-width: 120px;
}

.modal-s {
	z-index: 600!important;
}

.modal-s .modal-container {
	max-width: 320px;
	max-height: 70vh;
}

.modal-m {
	z-index: 500!important;
}

.modal-m .modal-container {
	max-width: 640px;
	max-height: 80vh;
}

.modal-l {
	z-index: 400!important;
}

.modal-l .modal-container {
	max-width: 960px;
	max-height: 90vh;
}

.modal-overlay {
	background: var(--blue-light);
	opacity: 0.8;
}

.modal-container .modal-header {
	text-align: center;
	color: var(--blue-middle);
	font-size: 1rem;
	font-weight: bold;
}

.modal-body {
	max-width: 960px;
	max-height: 70vh;
	/* FIXME entfernt bloß den scrollbalken, modal ist derzeit immer noch größer als es sollte */
	overflow-x: hidden;
}

.modal.active .modal-overlay, .modal:target .modal-overlay {
	background: var(--blue-light);
	opacity: 0.8;
}

.overflow-visible {
	overflow: visible !important;
}

.headline {
	padding: 2rem 3rem 1rem 3rem;
	box-sizing: content-box;
	min-height: 2.3rem;
}

.headline h1 {
	padding: unset;
	margin: unset;
	text-transform: uppercase;
	font-size: 1.2rem;
	line-height: 2.2rem;
}

h1, h2, h3, h4 {
	color: var(--blue-light);
	font-weight: bold;
}

.headline .btn {
	height: 2.2rem;
	line-height: 2.2em;
}

.btn span {
	font-size: 0.8rem;
	margin-left: 5px;
	margin-right: 5px;
}

.headline input {
	height: 2.2rem;
	border: hidden;
	padding-left: 2rem;
}

.headline .icon-search_lightgrey {
	margin-left: 1rem;
}

.headline .column {
	padding: 0;
}

.tab-link {
	font-size: 0.6rem;
}

.ycms-tabs {
	padding: 0 3rem 1.8rem 3rem;
}

.ycms-tabs .tab .tab-item > a {
	color: var(--grey-light);
}

.ycms-tabs .tab-item > a {
	padding-left: 14px;
	padding-right: 14px;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 0.7rem;
	cursor: pointer;
	display: inline-block;
}

.ycms-tabs ul li.tab-item {
	margin-right: 40px;
}

.ycms-tabs .tab .tab-item a.active {
	color: var(--blue-middle);
}

.ycms-tabs .tab .tab-item a.active,
.ycms-tabs .tab .tab-item.active a {
	border-bottom-color: var(--blue-light);
	color: var(--blue-light);
}

a.tab-link:focus {
	box-shadow: unset;
}

.ycms-tabs .accordion li a {
	display: inline;
	font-size: 0.7rem;
}

.state-bullet.text-success {
	color: var(--green) !important;
}

.state-bullet.text-primary {
	color: var(--grey-light)!important;
}

.content .form-group div {
	margin-bottom: 0.4rem;
}

.light-blue {
	color: var(--blue-light) !important;
}

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

	.accordion-user {
		display: none;
	}

	.avatar.avatar-lg {
		margin-left: 5px;
	}

	.top-navbar .accordion-body {
		right: 28px;
	}

	.top-subbar {
		display: flex;
		top: 80px;
		position: fixed;
		width: 100%;
	}

	#sidebar-foot {
		display: none;
	}

	.side-navigation {
		min-height: calc(100vh - 140px);
		display: none;
		top: 140px;
	}

	main {
		min-height: calc(100vh - 140px);
	}

	#sidebar {
		min-height: calc(100vh - 140px);
	}

	#content {
		width: unset;
		margin-left: unset;
		padding-top: 140px;
	}

	.nav-collapsed {
		width: 300px;
	}

	.side-navigation-list-entry-backdrop .hide-text{
		display: unset;
	}

	.side-navigation-clollapsed-main {
		width: unset;
		margin-left: unset;
	}
}

.sort {
	cursor: grab;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

.sort:active {
	cursor: grabbing;
}

.list-header {
	font-size: .7rem;
	font-weight: 700;
	color: var(--blue-light);
	border-bottom: solid 1px var(--blue-light);
	margin: 0 0rem 1rem;
}

/* nested sortables */

.sortable li {
	list-style: none;
}

.sortable .draggablecolumn {
	display: inline-block;
	margin-left: 0px;
	margin-right:0px;
	cursor: grab;
}

.update-list-header {
	font-size: .7rem;
	font-weight: 700;
	color: var(--blue-light);
	background: var(--blue-lighter);
}

.draggablecolumn.column {
	padding: .6rem .6rem;
}

.draggable-column-content {
	border-bottom: 1px solid #BABABA;
	font-size: 0.9em;
	padding: 6px 0px 6px 0px;
}

/* icons */

.icon {
	width: 24px;
	height: 24px;
	background-size: cover;
}

.icon.icon-add_white {
	width: 28px;
	height: 28px;
}

.icon.big {
	width: 1.5em;
	height: 1.5em;
}

.tooltip-icon-wrapper {
	display: inline-block;
}

.tooltip-icon-wrapper::after {
	line-height: normal;
}

.tooltip.multiline::after {
	white-space: normal;
	width: 320px;
	line-height: 1rem;
	hyphens: auto;
}

.accordion-downarrow-float-right {
	float: right;
	position: relative;
}

.accordion-padding-zero {
	padding: 0px;
}

.accordion-content-padding-one-rem {
	padding: 1rem 1rem;
}

#registerForm {
	display: none;
}

.dataTables_filter {
	display: none;
}

table.ycms-table.dataTable.no-footer,
table.ycms-table.dataTable thead th,
table.ycms-table.dataTable thead td {
	border: none;
}

table.ycms-table.dataTable thead th,
table.ycms-table.dataTable thead td {
	text-align: left;
	padding: 8px 10px;
}

table .col-w140 {
	width: 140px;
}

table .col-w180 {
	width: 180px;
}

table .col-auto {
	width: auto !important;
	padding: 0;
}

.panel .panel-title {
	font-weight: bold;
	color: var(--blue-light);
	font-size: 0.75rem;
}

table.ycms-table {
	position: relative;
	overflow: hidden;
}

table.ycms-table .accordion {
	overflow: hidden;
}

.accordion .accordion-body {
	position: absolute;
	z-index: 100;
	right: 0px;
}

.accordion.inline .accordion-body {
	margin: 0;
	position: relative;
	z-index: inherit;
}

.accordion.inline.scroll .accordion-body {
	overflow-x: scroll;
}

.accordion.inline.scroll input:checked ~ .accordion-body,
.accordion[open].inline.scroll .accordion-body {
	max-height: fit-content;
}

.accordion.inline .accordion-body.indent-left {
	margin-left: 1.8rem;
}

.EasyMDEContainer {
	width: 100%;
}

.help-cursor {
	cursor: help;
}

#content .panel .panel-body.scrollable-content {
	width: 100%;
	padding: 0;
	border: solid 1rem #fff;
	overflow: auto;
}

table.scrollable {
	position: relative;
	overflow: scroll;
	min-width: 100% !important;
	width: auto;
}

table.scrollable thead th.sticky {
	position: sticky;
	left: 0;
	z-index: 1;
}

table.scrollable tbody td.sticky {
	position: sticky;
	left: 0;
	background: #fff;
	border: none;
	z-index: 1;
	font-weight: bold;
}

table.scrollable th.sticky-second-col,
table.scrollable td.sticky-second-col {
	position: sticky;
	left: 100px;
	z-index: 1;
}

table.scrollable td.sticky-second-col {
	background: #fff;
}

#content .panel table.scrollable tbody tr:nth-child(2n) td.sticky,
#content .panel table.scrollable tr:nth-child(2n) td.sticky-second-col {
	background-color: var(--grey-lighter);
}

.draggablecolumn .state-bullet {
	cursor: inherit;
}

img.preview {
	max-width: 100px;
	max-height: 50px;
}

tr.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
