@media all
{
	.content
	{
		padding: 14px;
	}

	.panel.content
	{
		padding: 15px;
	}

	.col-form,
	.col-form div[class^="col-"]
	{
		padding: 6px !important;
	}
	
	.result-info
	{
		margin: 50px auto;
		padding: 30px;
		text-align: center;
		padding-top: 150px;
		background-image: url(../img/ui/icon-info.svg);
		background-repeat: no-repeat;
		background-size: 120px 120px;
		background-position: center top;
		opacity: 0.5;
		font-size: 16px;
		max-width: 700px;
	}

	.result-info.access
	{
		background-image: url(../img/ui/icon-password.svg);
	}

	.result-info.search
	{
		background-image: url(../img/ui/icon-options2.svg);
	}

	fieldset .result-info
	{
		margin: auto;
		padding-top: 80px;
		background-size: 70px 70px;
	}

	.error-info
	{
		margin: 80px auto;
		padding: 30px;
		text-align: center;
		padding-top: 150px;
		background-image: url(../img/ui/icon-error.svg);
		background-repeat: no-repeat;
		background-size: 120px 120px;
		background-position: center top;
		font-size: 16px;
		max-width: 700px;
	}

	.message
	{
		padding: 20px 40px;
		background-color: #ffffff28;
		color: #FFF;
		font-weight: 400;
		margin-bottom: 40px;
		background-image: url(../img/ui/icon-bulb.svg);
		background-repeat: no-repeat;
		background-position: 35px center;
		background-size: 24px 24px;
		padding-left: 80px;
		border-radius: 10px;
		text-align: left;
	}

	.message.warn
	{
		background-color: #4e00df;
		font-size: 1.1rem;
	}

	#message
	{
		padding: 20px;
		background-color: #0aa782eb;
		color: #FFF;
		backdrop-filter: blur(5px);
		font-weight: bold;
		text-align: center;
		font-size: 0;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		z-index: 99;
		display: none;
	}

	#message .text,
	#message-bar .text
	{
		font-size: 1.1rem;
		width: calc(100% - 40px);
		display: inline-block;
		vertical-align: middle;
		padding-right: 15px;
		text-align: left;
	}

	#message .close,
	#message-bar .close
	{
		width: 20px;
		height: 20px;
		background-image: url(../img/ui/close-light.svg);
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
	}

	#message-bar
	{
		padding: 20px;
		background-color: #0aa782eb;
		color: #FFF;
		backdrop-filter: blur(5px);
		font-weight: bold;
		text-align: center;
		position: fixed;
		z-index: 999;
		top: 0;
		right: 0;
		left: 0;
	}

	.message.info
	{
		background-color: #4e00df;		
	}

	.message.warn
	{
		background-color: #EFAF00;		
	}

	.message.error
	{
		background-color: #c2341e;		
	}

	.message.tiny
	{
		color: #00000099;	
		font-size: 12px;
		margin: 0;
		padding: 8px 10px;
		background-image: url(../img/ui/icon-info.dark.svg);
		background-size: 16px 16px;
		background-position: 10px center;
		padding-left: 32px;
		border: 1px solid #00000022;
		background-color: #FFF;
		display: inline-block;
		border-radius: 4px;
	}

	.message.invalidate
	{
		background-color: #f7e1e6;	
		color: #4f3333;	
		font-size: 13px;
		padding: 8px 14px;
		background-image: none;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		display: inline-block;
		max-width: 80%;
		margin-left: 10px;
		margin-bottom: 20px !important;
		margin-top: -10px;
	}

	.message.invalidate.mild
	{
		background-color: #fff3be;	
		color: #4f4c33;	
	}

	#dialog-box 
	{
		background-color: rgba(0, 0, 0, 0.6);
		backdrop-filter: blur(10px);
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		z-index: 9999;
		display: none;
		overflow: auto;
		transform: scale(100%);
	}

	#dialog-box .dlg 
	{
		display: block;
		margin: 0 auto;
		background-color: #EEE;
		min-width: 320px;
		max-width: 800px;
		border-radius: 8px;
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
		padding: 20px;
		color: #000;
		position: absolute;
		overflow: auto;
		top: 10px;
		left: 10px;
		right: 10px;
		bottom: 10px;
	}

	#dialog-box .dlg.wait
	{
		background-image: url(../img/ui/preloader-dark.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-color: 50px 50px;
		padding: 100px 20px;
	}

	#dialog-box .dlg-close 
	{
		position: fixed;
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
		background-image: url(../img/ui/close.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 18px 18px;
		cursor: pointer;
		background-color: #DDD;
		border-bottom-left-radius: 10px;
		border-top-right-radius: 10px;
	}

	#dialog-box .dlg-close:hover
	{
		background-color: #E5E5E5;
	}

	#wait-progress
	{
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0,0,0,0.7);
		z-index: 9999;
		background-image: url(../img/ui/preloader.svg);
		background-repeat: no-repeat;
		background-position: center center;
	}

	#wait-progress span
	{
		position: fixed;
		left: 50%;
		right: 50%;
		margin-left: -200px;
		margin-right: -200px;
		bottom: 40px;
		color: #FFF;
		text-align: center;
	}

	#wait-progress #wait-progress-close
	{
		position: fixed;
		top: 30px;
		right: 30px;
		width: 40px;
		height: 40px;
		background-image: url(../img/ui/close-light.svg);
		background-repeat: no-repeat;
		background-position: center center;
	}

	#go-top 
	{
		width: 55px;
		height: 55px;
		border-radius: 80px;
		background-color: #43bfeb;
		background-image: url(../img/ui/up.svg);
		background-repeat: no-repeat;
		background-position: center center;
		-webkit-background-size: 24px;
		background-size: 24px;
		box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 99;
		display: none;
		cursor: pointer;
	}

	#sidebar
	{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 20;
		padding: 20px;
		min-height: 80px;
		z-index: 10;
		background-color: #002067;
		padding-top: 60px;
		
	}

	.debug
	{
		position: absolute;
		top: 0;
		right: 0;
		padding: 8px 14px;
		background-color: #c4008c;
		background-image: url(../img/ui/icon-bulb.svg);
		background-size: 14px 14px;
		background-position: 14px center;
		background-repeat: no-repeat;
		padding-left: 35px;
		text-align: center;
		font-size: 12px;
		font-weight: bold;
		border-bottom-left-radius: 14px;
		z-index: 10;
	}	

	#sidebar a
	{
		color: #FFF;
		text-decoration: none;
	}

	#sidebar .logo
	{
		position: absolute;
		left: 20px;
		top: 20px;
		display: block;
		z-index: 2;
	}

	#sidebar .logo img
	{
		height: 40px;
	}

	#sidebar .orgName
	{
		position: absolute;
		bottom: 0px;
		left: 50px;
		color: #FFFFFF88;
		display: inline-block;
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		z-index: 2;
	}
	
	#sidebar #menu-button
	{
		position: absolute;
		width: 40px;
		height: 40px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 40px 40px;
		background-image: url(../img/ui/menu.svg);
		top: 20px;
		right: 20px;
	}

	#sidebar #search-box
	{
		position: relative;
		margin-top: 60px;
		border-radius: 8px;
		background-color: #00000066;
	}

	#sidebar #search-box #search
	{
		border: 1px solid rgba(0, 0, 0, 0.6);
		box-shadow: none;
		background-color: transparent;
		color: white;
		margin: 0;
	}

	#sidebar #search-box #search::-webkit-input-placeholder {
		color: #FFFFFF55;
	}
	
	#sidebar #search-box #search::-moz-placeholder {
		color: #FFFFFF55;
	}
	
	#sidebar #search-box #search:-ms-input-placeholder {
		color: #FFFFFF55;
	}
	
	#sidebar #search-box #search:-moz-placeholder {
		color: #FFFFFF55;
	}
	
	#sidebar #search-box #search:focus
	{
		outline: none;
	}

	#sidebar #search-box button
	{
		top: 0;
		right: 0;
		bottom: 0;
		width: 50px;
		opacity: 0.6;
		position: absolute;
		background-color: transparent;
		border: 0 none;
		background-image: url(../img/ui/icon-search.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 20px 20px;
	}

	#sidebar #search-box button span
	{
		display: none;
	}

	#sidebar #menu
	{
		margin-top: 30px;
		margin-left: -20px;
		margin-right: -20px;
		max-height: calc(100% - 120px);
		overflow: auto	;
	}

	#sidebar #menu .menu li a
	{
		display: block;
		padding: 15px;
		font-size: 19px;
		margin-bottom: 1px;
	}

	#sidebar #menu .menu li > a
	{
		padding-left: 70px;
		background-repeat: no-repeat;
		background-position: 24px center;
		background-size: 25px 25px;
	}

	#sidebar #menu .menu > li.active > a,
	#sidebar #menu .menu > li > a:hover
	{
		background-color: rgba(255, 255, 255, 0.1);
		border-left: 6px solid #EFAF00;
		background-position: 18px center;
		padding-left: 64px;
	}

	#sidebar #menu .menu li.active > a
	{
		font-weight: bold;
	}

	#sidebar #menu .menu li ul
	{
		margin-left: 50px;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	#sidebar #menu .menu li li a
	{
		display: block;
		padding: 5px 10px;
		padding-left: 20px;
		font-size: 16px;
		background-image: url(../img/ui/tree-node.svg);
		background-position: left center;
		background-size: 14px 20px;
	}

	#sidebar #menu .menu li li.active a,
	#sidebar #menu .menu li li a:hover
	{
		color: #EFAF00;
	}

	#account-box
	{
		position: absolute;
		bottom: 20px;
		left: 20px;
		position: absolute;
		right: 20px;
		border-top: 1px solid #FFFFFF22;
		padding-top: 20px;
	}

	#account-box > *
	{
		vertical-align: middle;
	}

	#account-box .prop-image
	{
		width: 45px;
		height: 45px;
		border-radius: 45px;
		display: inline-block;
		border: 1px solid white;
		margin-right: 10px;
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		padding-top: 11px;
	}

	#account-box .prop-name
	{
		display: inline-block;
		background-image: url(../img/ui/menu.svg);
		background-repeat: no-repeat;
		background-position: right center;
		background-size: 16px 16px;
		padding-right: 40px;
		font-size: 16px;
		width: calc(100% - 60px);
		text-transform: uppercase;
		cursor: pointer;
	}

	#account-box .prop-name span
	{
		font-size: 14px;
		color: #FFFFFF88;
	}


	#account-box #context-menu-account
	{
		position: absolute;
		top: auto;
		bottom: 60px;
		left: auto;
		right: 0;
		width: 100%;
		max-width: 350px;
	}

	#page
	{
		position: relative;
		z-index: 2;	
		background-color: #DDD;
		color: #000;
		border-radius: 20px;
		margin-top: 80px;
	}

	body.title #page
	{
		background: linear-gradient(#FFF, #EEE);
		background: linear-gradient(#153a8b, rgb(7, 43, 120));
	}

	body.title #page *
	{
		color: white;
	}

	.button.fill:hover
	{
		background-color: #194bb7 !important;
	}

	#title
	{
		text-align: center;
		padding: 40px;
	}

	#title h1
	{
		font-size: 65px;
		font-weight: 100;
		margin-bottom: 30px;
	}

	.panel,
	.widgets > .item
	{
		background-color: #eee;
		border-radius: 15px;
		margin-bottom: 10px;
		/*border-top: 6px solid rgba(0, 0, 0, 0.15);*/
		border: 1px solid #00000022;
	}

	.panel > .heading
	{
		padding-bottom: 10px;
		margin: -15px;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		padding: 25px;
		background: linear-gradient(#FAFAFA, transparent);	
	}

	.panel > .heading h2,
	.heading-label
	{
		font-size: 13px;
		line-height: 20px;
		font-weight: 300;
		letter-spacing: 0;
		color: #AAA;
		text-transform: uppercase;
		font-weight: bold;
		letter-spacing: 3px;
		margin: 0;
		margin-bottom: 8px;
	}

	.widgets
	{
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	.widgets > .item
	{
		min-width: 300px;
		max-width: 400px;
		padding: 20px;		
	}

	.widgets.large > .item
	{
		max-width: 700px;
	}

	.widgets > .item > h2
	{
		margin: 0;
		font-size: 1.3rem;
		font-weight: 300;
	}

	.widgets > .item > .count
	{
		font-size: 3.4rem;
		font-weight: bold;
	}


	#heading
	{
		margin-bottom: 20px;
	}

	#heading .text
	{
		display: inline-block;
		margin-bottom: 10px;
		vertical-align: middle;
		width: calc(100% - 100px);
	}

	
	#heading.panel .text
	{
		margin: 0;
		padding: 15px 0;
	}

	#heading h1
	{
		display: inline-block;
		padding: 0 2px;
		font-size: 38px;
		line-height: 42px;
		vertical-align: middle;
		margin: 0;
	}

	#heading a.back
	{
		display: inline-block;
		width: 45px;
		height: 40px;
		border-right: 1px solid rgba(0, 0, 0, 0.1);
		background-repeat: no-repeat;
		background-size: 20px 20px;
		background-position: center center;
		background-image: url(../img/ui/back.svg);
		vertical-align: middle;
		margin-right: 10px;
	}

	#heading a.back:hover
	{
		background-image: url(../img/ui/back-dark.svg);
	}

	#dialog-box .heading
	{
		font-size: 14px;
		line-height: 21px;
		color: #555;
	}
	
	#context-menu
	{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 999;
	}

	#context-menu ul.context-menu
	{
		display: block !important;
		position: relative;
		top: auto;
		right: auto;
	}

	ul.nav
	{
		margin: 0 7px 7px 7px;
	}

}


@media (min-width: 1024px) 
{
	.column-box
	{
		display: flex;
		align-content: flex-start;
		margin: auto;
		gap: 15px;
	}

	.panel .column-box
	{
		gap: 40px;
	}

	.column-box.reverse
	{
		flex-direction: row-reverse;
	}

	.column-2
	{
		width: 16.66%;
		flex: auto;
	}

	.column-3
	{
		width: 25%;
		flex: auto;
	}

	.column-4
	{
		width: 33.33%;
		flex: auto;
	}

	.column-5
	{
		width: 41.66%;
		flex: auto;
	}

	.column-6
	{
		width: 50%;
		flex: auto;
	}

	.column-7
	{
		width: 58.33%;
		flex: auto;
	}

	.column-8
	{
		width: 66.66%;
		flex: auto;
	}

	.column-9
	{
		width: 75%;
		flex: auto;
	}

	.column-10
	{
		width: 83.33%;
		flex: auto;
	}

	.column-filter
	{
		width: 350px;
		flex: auto;		
		background: linear-gradient(#EEE, transparent);
	}

	.column-filter fieldset
	{
		font-size: 13px;
	}

	.column-sidebar
	{
		width: 350px;
		flex: auto;		
		background: transparent;
	}

	.column-filter-content
	{
		width: calc(100% - 350px);
		flex: auto;
	}

	.column-page-content
	{
		width: calc(100% - 350px);
		flex: auto;
		background-color: #FFFFFF;
	}

	#dialog-box .dlg 
	{
		margin: 50px auto 30px auto;
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		padding: 30px;
	}

	#dialog-box .dlg-close 
	{
		position: absolute;
	}
}

@media (max-width: 1199px) 
{
	.desktop-only
	{
		display: none;
	}

	.panel .column-box > *[class*="column-"]:not(:last-child)
	{
		margin-bottom: 30px;
	}

	.column-filter-content
	{
		background-color: transparent;
		border: 0 none;
		padding: 10px 0 !important;
	}

	#page
	{
		padding-bottom: 80px;
	}

	#sidebar:not(.visible)
	{
		bottom: auto;
		height: 80px;
	}

	#sidebar:not(.visible) #menu,
	#sidebar:not(.visible) #search-box
	{
		display: none;
	}

	#context-buttons
	{
		position: fixed;
		bottom: 20px;
		right: 20px;
	}

	#context-buttons > a
	{
		display: block;
		width: 55px;
		height: 55px;
		border-radius: 80px;
		background-color: #43bfeb;
		background-size: 25px 25px;
		background-repeat: no-repeat;
		background-position: center center;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
		margin: 5px 0 0 0;
	}
	
}

@media (min-width: 1200px)
{
	html, body 
	{
		height: 1px;
		min-height: 100%;
	}

	.mobile-only
	{
		display: none !important;
	}

	.content
	{
		padding: 20px;
	}

	.panel.content
	{
		padding: 25px;
	}

	.column-page-content.panel.content
	{
		padding: 35px;
	}

	.panel > .heading
	{
		margin: -25px;
	}


	#layout
	{
		display: flex;
		align-content: flex-start;
		flex-wrap: nowrap;	
		min-height: 100%;
		height: 100%;
		position: relative;
	}

	#sidebar
	{
		position: relative;
		right: auto;
		width: 260px;
		max-width: 320px;
	}

	#sidebar .logo img
	{
		height: auto;
		width: 220px;
	}

	#sidebar .orgName
	{
		left: 65px;
	}

	#sidebar #search-box
	{
		margin-top: 70px;
	}

	#sidebar #menu
	{
		display: block !important;
		margin-top: 40px;
	}

	#sidebar #menu-button
	{
		display: none !important;
	}
	
	#page
	{
		margin-top: 0;
		min-height: auto;
		border-radius: 0;
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px;
		width: calc(100% - 260px);
		overflow: auto;
	}

	.panel
	{
		margin-bottom: 15px;
	}

	#heading a.back
	{
		width: 80px;
		height: 60px;
		background-size: 35px 35px;
	}

	#heading .text
	{
		padding: 10px 0;
	}

	#heading h1
	{
		font-size: 42px;
		line-height: 47px;
	}

}


@media (min-width: 1440px) 
{
		
	#sidebar
	{
		width: 320px;
	}

	#page
	{
		width: calc(100% - 320px);
	}
}

@media (min-width: 1920px) 
{
		
}

@media (min-width: 2400px) 
{
	
}


@media (min-width: 3841px) 
{	

}