/*

style

*/

*
{
	box-sizing: border-box;
}

body
{
	background-color: #191c1f;
	margin: 0;
	-webkit-tap-highlight-color: transparent;
	-webkit-text-size-adjust: none;
}

body,
input,
textarea
{
	color: #373a3c;
	font-family: "helvetica neue", helvetica, arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
}

a
{
	color: #0275d8;
	outline: none;
	text-decoration: none;
}

a:active,
.no-touchevents a:hover
{
	color: #014c8c;
	text-decoration: underline;
}

strong
{
	font-weight: 500;
}

/* ---------------------------------------------------------------------------------------------------- */
/* components                                                                                           */
/* ---------------------------------------------------------------------------------------------------- */

/* -------------------------------------------------- */
/* alert                                              */
/* -------------------------------------------------- */

.alert-container
{
	overflow: hidden;
}

.alert
{
	border: 1px solid;
	border-radius: 4px;
	margin: 16px 16px 0 16px;
	padding: 12px 16px 12px 16px;
}

.alert a
{
	font-weight: 500;
}

/* success */

.alert-success
{
	background-color: #dff0d8;
	border-color: #d0e9c6;
	color: #3c763d;
}

.alert-success a,
.no-touchevents .alert-success a:hover
{
	color: #2b542c;
}

/* info */

.alert-info
{
	background-color: #d9edf7;
	border-color: #bcdff1;
	color: #31708f;
}

.alert-info a,
.no-touchevents .alert-info a:hover
{
	color: #245269;
}

/* warning */

.alert-warning
{
	background-color: #fcf8e3;
	border-color: #faf2cc;
	color: #8a6d3b;
}

.alert-warning a,
.no-touchevents .alert-warning a:hover
{
	color: #66512c;
}

/* danger */

.alert-danger
{
	background-color: #f2dede;
	border-color: #ebcccc;
	color: #a94442;
}

.alert-danger a,
.no-touchevents .alert-danger a:hover
{
	color: #843534;
}

/* -------------------------------------------------- */
/* button                                             */
/* -------------------------------------------------- */

.button
{
	-webkit-appearance: none;
	border: 1px solid transparent;
	border-radius: 4px;
	display: inline-block;
	margin: 0;
	outline: none;
	padding: 8px 12px 8px 12px;
	text-align: center;
	text-decoration: none;
}

.button:active,
.no-touchevents .button:hover
{
	color: inherit;
	cursor: pointer;
	text-decoration: none;
}

.button:disabled,
.no-touchevents .button:disabled:hover
{
	cursor: auto;
	opacity: .65;
}

/* secondary */

.button-secondary
{
	background-color: white;
	border-color: #cccccc;
	color: #373a3c;
}

.no-touchevents .button-secondary:hover
{
	background-color: #e6e6e6;
	border-color: #adadad;
}

.button-secondary:active,
.no-touchevents .button-secondary:active:hover
{
	background-color: #d4d4d4;
	border-color: #8c8c8c;
}

.button-secondary:disabled,
.no-touchevents .button-secondary:disabled:hover
{
	background-color: white;
	border-color: #cccccc;
}

/* danger */

.button-danger
{
	background-color: #d9534f;
	border-color: #d9534f;
	color: white;
	font-weight: 500;
}

.no-touchevents .button-danger:hover
{
	background-color: #c9302c;
	border-color: #c12e2a;
	color: white;
}

.button-danger:active,
.no-touchevents .button-danger:active:hover
{
	background-color: #ac2925;
	border-color: #8b211e;
	color: white;
}

.button-danger:disabled,
.no-touchevents .button-danger:disabled:hover
{
	background-color: #d9534f;
	border-color: #d9534f;
}

/* inverse */

.button-inverse
{
	background-color: #373a3c;
	color: white;
	font-weight: 500;
}

.no-touchevents .button-inverse:hover
{
	color: white;
	opacity: .8;
}

.button-inverse:active,
.no-touchevents .button-inverse:active:hover
{
	color: white;
	opacity: .9;
}

.button-inverse:disabled,
.no-touchevents .button-inverse:disabled:hover
{
	opacity: .65;
}

/* large */

.button-large
{
	min-width: 160px;
}

/* small */

.button-small
{
	padding: 6px 12px 6px 12px;
}

/* block */

.button-block
{
	display: block;
}

/* -------------------------------------------------- */
/* checkbox (switch)                                  */
/* -------------------------------------------------- */

.checkbox
{
	opacity: 0;
	position: absolute;
}

/* switch */

.checkbox + label
{
	background-color: #d9534f;
	border-radius: 14px;
	display: flex;
	height: 28px;
	padding: 2px;
	width: 46px;
}

.checkbox:active + label,
.no-touchevents .checkbox + label:hover
{
	background-color: #c9302c;
	cursor: pointer;
}

/* thumb */

.checkbox + label div
{
	background-color: white;
	border-radius: 50%;
	height: 24px;
	width: 24px;
}

/* checked (on) */

.checkbox:checked + label
{
	background-color: #5cb85c;
	justify-content: flex-end;
}

.checkbox:checked:active + label,
.no-touchevents .checkbox:checked + label:hover
{
	background-color: #449d44;
}

/* disabled */

.checkbox:disabled + label
{
	opacity: .65;
}

.no-touchevents .checkbox:disabled + label:hover
{
	background-color: #d9534f;
	cursor: auto;
}

.no-touchevents .checkbox:checked:disabled + label:hover
{
	background-color: #5cb85c;
}

/* -------------------------------------------------- */
/* form control                                       */
/* -------------------------------------------------- */

.form-control
{
	-webkit-appearance: none;
	background-color: white;
	border: 1px solid #cccccc;
	border-radius: 4px;
	color: #55595c;
	margin-bottom: 0;
	outline: none;
	padding: 8px 12px 8px 12px;
	width: 100%;
}

.form-control::-webkit-input-placeholder
{
	color: #999999;
}

.form-control:focus
{
	border-color: #66afe9;
}

/* number */

.form-control[type=number]::-webkit-inner-spin-button,
.form-control[type=number]::-webkit-outer-spin-button
{
	display: none;
}

/* textarea */

textarea.form-control
{
	display: block;
	height: 160px;
	resize: none;
}

/* label */

.form-control-label
{
	margin: 8px;
}

.no-touchevents .form-control-label:hover
{
	cursor: pointer;
}

/* disabled */

.form-control:disabled
{
	background-color: #eceeef;
	opacity: 1;
}

.no-touchevents .form-control:disabled + label:hover
{
	cursor: auto;
}

/* -------------------------------------------------- */
/* form group                                         */
/* -------------------------------------------------- */

.form-group
{
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin: 16px;
}

/* label */

.form-group-label
{
	flex-grow: 1;
}

/* help */

.form-group-help
{
	background-image: url(images/help.svg);
	height: 22px;
	width: 22px;
	z-index: 1200; /* above popover */
}

.no-touchevents .form-group-help:hover,
.form-group-help-selected
{
	background-position: 0 22px;
	cursor: pointer;
}

/* control */

.form-group-control
{
	margin-left: 16px;
	width: 360px;
}

/* responsive */

@media (max-width: 639px)
{
	.form-group-control
	{
		margin-left: 0;
		margin-top: 8px;
		width: 100%;
	}
}

/* -------------------------------------------------- */
/* jumbotron                                          */
/* -------------------------------------------------- */

.jumbotron
{
	background-color: #eceeef;
	border-radius: 4px;
	margin: 16px;
	padding: 16px;
	text-align: center;
}

.jumbotron p
{
	margin: 16px;
}

.jumbotron-title
{
	font-size: 1.4em;
	letter-spacing: 0.1em;
	margin: 16px;
	text-transform: uppercase;
}

/* collapse button */

.jumbotron-collapse-button
{
	background-image: url(images/collapse.svg);
	display: inline-block;
	height: 10px;
	width: 20px;
}

.no-touchevents .jumbotron-collapse-button:hover
{
	cursor: pointer;
}

/* collapsed */

.jumbotron.collapsed .collapsible
{
	display: none;
}

.jumbotron.collapsed .jumbotron-collapse-button
{
	background-position: 0 10px;
}

/* -------------------------------------------------- */
/* nav                                                */
/* -------------------------------------------------- */

.nav
{
	border-bottom: 1px solid #dddddd;
	display: flex;
	margin: 16px;
}

.nav-item
{
	border: 1px solid transparent;
	border-radius: 4px 4px 0 0;
	color: inherit;
	flex-grow: 1;
	margin-bottom: -1px;
	padding: 10px 0 10px 0;
	text-align: center;
}

.nav-item:last-child
{
	flex-grow: 1.01; /* fix gap */
}

.nav-item:active,
.no-touchevents .nav-item:hover,
.no-touchevents .nav-item:active:hover
{
	background-color: #eceeef;
	border-bottom-color: #dddddd;
	color: inherit;
	text-decoration: none;
}

/* active */

.nav-item.active,
.no-touchevents .nav-item.active:hover
{
	background-color: white;
	border-color: #dddddd;
	border-bottom-color: white;
	color: #55595c;
}

/* responsive */

.nav-item-small
{
	display: none;
}

@media (max-width: 639px)
{
	.nav-item-big
	{
		display: none;
	}

	.nav-item-small
	{
		display: initial;
	}
}

/* -------------------------------------------------- */
/* panel                                              */
/* -------------------------------------------------- */

.panel
{
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	margin: 16px;
}

.panel-heading
{
	align-items: center;
	background-color: #f5f5f5;
	border-bottom: 1px solid #e5e5e5;
	border-radius: 3.8px 3.8px 0 0;
	display: flex;
	justify-content: space-between;
	padding: 10px 16px 10px 16px;
}

.no-touchevents .panel-heading:hover
{
	cursor: pointer;
}

.panel-heading-title
{
	font-weight: 500;
}

.panel-heading-collapse
{
	background-image: url(images/panel-collapse.svg);
	height: 22px;
	width: 22px;
}

.panel-body
{
	/* */
}

/* collapsed */

.panel.collapsed .panel-heading
{
	border-bottom: none;
	border-radius: 3.8px;
}

.panel.collapsed .panel-heading-collapse
{
	background-position: 0 22px;
}

.panel.collapsed .panel-body
{
	display: none;
}

/* -------------------------------------------------- */
/* popover                                            */
/* -------------------------------------------------- */

.popover
{
	background-color: #373a3c;
	border-radius: 4px;
	display: none;
	max-width: 240px;
	position: relative;
	z-index: 1100;
}

/* arrow */

.popover-arrow
{
	background-color: #373a3c;
	height: 8px;
	position: absolute;
	top: 50%;
	transform: translateY(-4px) rotate(45deg);
	width: 8px;
}

.popover-left.popover-arrow
{
	left: -4px;
}

.popover-right.popover-arrow
{
	right: -4px;
}

/* content */

.popover-content
{
	color: white;
	font-size: .8em;
	padding: 8px 12px 8px 12px;
}

.popover-content ul
{
	margin: 0;
	padding-left: 14px;
}

/* dismiss */

.popover-dismiss
{
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1000;

	/* background-color: rgba(255, 0, 0, 0.25); */
}


/* -------------------------------------------------- */
/* radio (segmented control)                          */
/* -------------------------------------------------- */

.radio-group
{
	display: flex;
}

.radio
{
	opacity: 0;
	position: absolute;
}

/* segmented control */

.radio + label
{
	background-color: white;
	border: 1px solid #cccccc;
	flex-basis: 0;
	flex-grow: 1;
	padding: 8px 12px 8px 12px;
	text-align: center;
}

.radio + label:not(:first-of-type)
{
	margin-left: -1px;
}

.radio + label:first-of-type
{
	border-radius: 4px 0 0 4px;
}

.radio + label:last-of-type
{
	border-radius: 0 4px 4px 0;
}

.no-touchevents .radio + label:hover
{
	background-color: #e6e6e6;
	border-color: #adadad;
	cursor: pointer;
	z-index: 200;
}

/* checked (selected) */

.radio:checked + label
{
	background-color: #e6e6e6;
	border-color: #adadad;
	z-index: 100;
}

.no-touchevents .radio:checked + label:hover
{
	background-color: #d4d4d4;
	border-color: #8c8c8c;
}

/* disabled */

.radio:disabled + label,
.no-touchevents .radio:disabled + label:hover
{
	background-color: white;
	border-color: #cccccc;
	cursor: auto;
	opacity: .65;
	z-index: auto;
}

.radio:checked:disabled + label,
.no-touchevents .radio:checked:disabled + label:hover
{
	background-color: #e6e6e6;
	border-color: #adadad;
	z-index: 100;
}

/* -------------------------------------------------- */
/* text                                               */
/* -------------------------------------------------- */

.text-center
{
	text-align: center;
}

.text-left
{
	text-align: left;
}

.text-right
{
	text-align: right;
}

/* ---------------------------------------------------------------------------------------------------- */
/* pages                                                                                                */
/* ---------------------------------------------------------------------------------------------------- */

/* -------------------------------------------------- */
/* demos                                              */
/* -------------------------------------------------- */

.demos-item
{
	padding: 8px;
}

.demos-item:not(:last-child)
{
	border-bottom: 1px solid #e5e5e5;
}

.demos-item div
{
	margin: 8px;
}

.demos-item-title
{
	font-size: 1.2em;
	font-weight: 500;
}

.demos-item-button
{
	text-align: right;
}

/* active */

.demos-item.active
{
	background-color: #d9edf7;
	color: #31708f;
}

/* -------------------------------------------------- */
/* editor                                             */
/* -------------------------------------------------- */

/* templates */

.editor-templates
{
	/* */
}

.editor-templates-item
{
	align-items: center;
	border-bottom: 1px solid #e5e5e5;
	color: #555555;
	display: flex;
	padding: 10px 16px 10px 16px;
}

.editor-templates-item:active,
.no-touchevents .editor-templates-item:hover
{
	background-color: #f5f5f5;
	color: #555555;
	text-decoration: none;
}

.editor-templates-item-name
{
	flex-shrink: 0;
	width: 160px;
}

.editor-templates-item-description
{
	font-size: .9em;
}

.editor-templates-footnote
{
	font-size: .9em;
	opacity: .75;
	padding: 10px 16px 10px 16px;
}

/* textarea */

.editor-textarea
{
	visibility: hidden;
}

/* -------------------------------------------------- */
/* error                                              */
/* -------------------------------------------------- */

.error-container
{
	margin: auto;
	max-width: 360px;
	min-width: 320px;
}

.error
{
	background-color: white;
	border-radius: 8px;
	padding: 16px;
	text-align: center;
}

.error-title
{
	font-size: 1.4em;
	letter-spacing: 0.1em;
	margin: 16px;
	text-transform: uppercase;
}

.error-message
{
	margin: 16px;
}

.error-button
{
	margin: 24px 16px 16px 16px;
}

/* -------------------------------------------------- */
/* footer                                             */
/* -------------------------------------------------- */

.footer
{
	color: white;
	display: flex;
	justify-content: space-between;
	margin: 16px 2px 100px 2px;
}

.footer-copyright
{
	opacity: .5;
}

.footer-link,
.footer-link:active,
.no-touchevents .footer-link:hover
{
	color: inherit;
}

/* -------------------------------------------------- */
/* header                                             */
/* -------------------------------------------------- */

.header-logo
{
	background-image: url(images/logo.svg);
	display: block;
	height: 60px;
	margin: 30px auto 30px auto;
	width: 252px;
}

/* -------------------------------------------------- */
/* main                                               */
/* -------------------------------------------------- */

.main
{
	margin: auto;
	max-width: 640px;
	min-width: 320px;
}

.main-heading
{
	background-color: #f7f7f9;
	border-radius: 8px 8px 0 0;
	display: flex;
	flex-wrap: wrap;
	padding: 8px 16px 8px 16px;
}

.main-heading-enabled
{
	align-items: center;
	display: flex;
}

.main-heading-enabled-label
{
	margin: 0 8px 0 8px;
}

@media (max-width: 639px)
{
	.main-heading-enabled-label
	{
		display: none;
	}
}

.no-touchevents .main-heading-enabled-label:hover
{
	cursor: pointer;
}

.main-heading-account
{
	align-items: center;
	display: flex;
	flex-grow: 1;
	justify-content: flex-end;
}

.main-heading-account-text
{
	margin: 0 8px 0 8px;
}

.main-body
{
	background-color: white;
	border-radius: 0 0 8px 8px;
	padding: 0.1px; /* fix margin */
	position: relative;
}

.main-spacing
{
	margin: 16px;
}

/* -------------------------------------------------- */
/* home                                               */
/* -------------------------------------------------- */

.home-news-version
{
	margin: 16px;
	opacity: .5;
}

.home-location-map
{
	border-radius: 0 0 3.8px 3.8px;
	height: 360px;
}

/* -------------------------------------------------- */
/* more                                               */
/* -------------------------------------------------- */

.more-body
{
	margin: 64px 16px 64px 16px;
	text-align: center;
}

.more-buttons
{
	display: inline-block;
	width: 176px;
}

.more-buttons *:not(:last-child)
{
	margin-bottom: 8px;
}

/* -------------------------------------------------- */
/* reset                                              */
/* -------------------------------------------------- */

.reset-body
{
	margin: 64px 16px 64px 16px;
	text-align: center;
}

.reset-message
{
	font-size: 1.1em;
	margin: 32px;
}

/* -------------------------------------------------- */
/* settings                                           */
/* -------------------------------------------------- */



/* -------------------------------------------------- */
/* sign in                                            */
/* -------------------------------------------------- */

.sign-in-container
{
	margin: auto;
	max-width: 360px;
	min-width: 320px;
}

.sign-in
{
	background-color: white;
	border-radius: 8px;
	padding: 4px;
}

.sign-in-group
{
	align-items: center;
	display: flex;
	margin: 16px;
}

.sign-in-group-label
{
	flex-grow: 1;
}

.sign-in-group-control
{
	width: 160px;
}

/* ---------------------------------------------------------------------------------------------------- */
/* misc                                                                                                 */
/* ---------------------------------------------------------------------------------------------------- */

.arrow
{
	bottom: .1em;
	position: relative;
}

.hide-lastpass
{
	background-position: -100% !important;
}

.slash-spacing
{
	letter-spacing: 0.1em;
}

/* -------------------------------------------------- */
/* advanced                                           */
/* -------------------------------------------------- */

.advanced
{
	bottom: 16px;
	color: inherit;
	opacity: .1;
	position: absolute;
	right: 16px;
}

.advanced:active,
.no-touchevents .advanced:hover,
.no-touchevents .advanced:active:hover
{
	color: inherit;
	opacity: .2;
	text-decoration: none;
}

/* -------------------------------------------------- */
/* chat                                               */
/* -------------------------------------------------- */

.chat
{
	background-image: url(images/chat.svg);
	background-size: cover;
	bottom: 20px;
	height: 60px;
	position: fixed;
	right: 20px;
	width: 60px;
	z-index: 2000;
}

.no-touchevents .chat:hover
{
	cursor: pointer;
}

/* -------------------------------------------------- */
/* retina                                             */
/* -------------------------------------------------- */

/* @2x */

@media
(min-resolution: 2dppx),
(-webkit-min-device-pixel-ratio: 2)
{
	/* */
}

/* @3x */

@media
(min-resolution: 3dppx),
(-webkit-min-device-pixel-ratio: 3)
{
	/* */
}

/* ---------------------------------------------------------------------------------------------------- */
/* libraries                                                                                            */
/* ---------------------------------------------------------------------------------------------------- */

/* -------------------------------------------------- */
/* froala                                             */
/* -------------------------------------------------- */

.fr-toolbar
{
	border-bottom: 1px solid #e5e5e5 !important;
	border-radius: 0 !important;
	border-top: none !important;
	box-shadow: none !important;
}

.fr-btn
{
	margin: 0 !important;
}

.fr-wrapper
{
	border-radius: 0 0 3.8px 3.8px !important;
	box-shadow: none !important;
}

.fr-box:not(.fr-fullscreen) .fr-wrapper
{
	background-color: #959595 !important;
	padding: 16px;
}

.fr-box:not(.fr-fullscreen) .fr-view
{
	background-color: white;
	border-radius: 6px;
	max-width: 375px;
	min-height: 627px !important;
	margin: 0 auto 0 auto !important; /* override theme */
}

/* reset */

/*
.fr-view
{
	font-family: initial;
	font-size: initial;
	line-height: initial;
}

.fr-view a,
.no-touchevents .fr-view a:hover
{
	color: inherit;
	text-decoration: underline;
}
*/

.fr-view *
{
	all: revert; /* TODO test */
}

/* ---------------------------------------------------------------------------------------------------- */
/* test                                                                                                 */
/* ---------------------------------------------------------------------------------------------------- */
