@import url(https://fonts.googleapis.com/css?family=DM+Sans:400,400i,500,500i,700,700i&display=swap);@import url(https://unpkg.com/ionicons@4.5.10-0/dist/css/ionicons.min.css);@import url(http://fonts.googleapis.com/css?family=Lato:300,700);@charset "UTF-8";

/*********************************************************************************************

x. Imports + Fonts

*********************************************************************************************/

/*!
 * Datepicker v1.0.9
 * https://fengyuanchen.github.io/datepicker
 *
 * Copyright 2014-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2019-09-21T06:57:30.334Z
 */

.datepicker-container {
  background-color: #fff;
  direction: ltr;
  font-size: 12px;
  left: 0;
  line-height: 30px;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 210px;
  z-index: -1;
}

.datepicker-container::before,
.datepicker-container::after {
  border: 5px solid transparent;
  content: " ";
  display: none;
  height: 0;
  position: absolute;
  width: 0;
}

.datepicker-dropdown {
  border: 1px solid #C5C5C5;
  box-shadow: 0 3px 6px #ccc;
  box-sizing: content-box;
  position: absolute;
  z-index: 1;
}

.datepicker-inline {
  position: static;
}

.datepicker-top-left,
.datepicker-top-right {
  border-top-color: #C5C5C5;
}

.datepicker-top-left::before,
.datepicker-top-left::after,
.datepicker-top-right::before,
.datepicker-top-right::after {
  border-top: 0;
  left: 10px;
  top: -5px;
}

.datepicker-top-left::before,
.datepicker-top-right::before {
  border-bottom-color: #C5C5C5;
}

.datepicker-top-left::after,
.datepicker-top-right::after {
  border-bottom-color: #fff;
  top: -4px;
}

.datepicker-bottom-left,
.datepicker-bottom-right {
  border-bottom-color: #C5C5C5;
}

.datepicker-bottom-left::before,
.datepicker-bottom-left::after,
.datepicker-bottom-right::before,
.datepicker-bottom-right::after {
  border-bottom: 0;
  bottom: -5px;
  left: 10px;
}

.datepicker-bottom-left::before,
.datepicker-bottom-right::before {
  border-top-color: #C5C5C5;
}

.datepicker-bottom-left::after,
.datepicker-bottom-right::after {
  border-top-color: #fff;
  bottom: -4px;
}

.datepicker-top-right::before,
.datepicker-top-right::after,
.datepicker-bottom-right::before,
.datepicker-bottom-right::after {
  left: auto;
  right: 10px;
}

.datepicker-panel > ul {
  margin: 0;
  padding: 0;
  width: 102%;
}

.datepicker-panel > ul::before,
.datepicker-panel > ul::after {
  content: " ";
  display: table;
}

.datepicker-panel > ul::after {
  clear: both;
}

.datepicker-panel > ul > li {
  background-color: #fff;
  cursor: pointer;
  float: left;
  height: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 30px;
}

.datepicker-panel > ul > li:hover {
  background-color: #F6FCC7;
}

.datepicker-panel > ul > li.muted,
.datepicker-panel > ul > li.muted:hover {
  color: #999;
}

.datepicker-panel > ul > li.highlighted,
.datepicker-panel > ul > li.highlighted:hover {
  background-color: #F5F5F5;
}

.datepicker-panel > ul > li.picked,
.datepicker-panel > ul > li.picked:hover {
  color: #3C3C3C;
  background-color: #F6FCC7;
}

.datepicker-panel > ul > li.disabled,
.datepicker-panel > ul > li.disabled:hover {
  background-color: #fff;
  color: #ccc;
  cursor: default;
}

.datepicker-panel > ul > li.disabled.highlighted,
.datepicker-panel > ul > li.disabled:hover.highlighted {
  background-color: #F5F2E7;
}

.datepicker-panel > ul > li[data-view="years prev"],
.datepicker-panel > ul > li[data-view="year prev"],
.datepicker-panel > ul > li[data-view="month prev"],
.datepicker-panel > ul > li[data-view="years next"],
.datepicker-panel > ul > li[data-view="year next"],
.datepicker-panel > ul > li[data-view="month next"],
.datepicker-panel > ul > li[data-view=next] {
  font-size: 18px;
}

.datepicker-panel > ul > li[data-view="years current"],
.datepicker-panel > ul > li[data-view="year current"],
.datepicker-panel > ul > li[data-view="month current"] {
  width: 150px;
}

.datepicker-panel > ul[data-view=years] > li,
.datepicker-panel > ul[data-view=months] > li {
  height: 52.5px;
  line-height: 52.5px;
  width: 52.5px;
}

.datepicker-panel > ul[data-view=week] > li,
.datepicker-panel > ul[data-view=week] > li:hover {
  background-color: #fff;
  cursor: default;
}

.datepicker-hide {
  display: none;
}

/* ===========================================================
 *
 *  Name:          selectordie_dev.css
 *  Updated:       2014-10-10
 *  Created by:    Per V @ Vst.mn
 *  What?:         Base CSS for Select or Die
 *
 *  Copyright (c) 2014 Per Vestman
 *  Dual licensed under the MIT and GPL licenses.
 *
 *  No, I don't usually comment my CSS, but in this
 *  case it might "help" someone.
 *
 *  Oddny | Cogs 'n Kegs
 * =========================================================== */

/* Remove, change to fit your needs */

.sod_select,
.sod_select * {
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* The SoD - Please keep this first three lines intact, otherwise all hell will break looooooose */

.sod_select {
  display: inline-block;
  position: relative;
  line-height: 1em;
  width: 100%;
  height: 30px;
  border-bottom: 2px solid #C5C5C5;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  outline: 0;
  outline-offset: -2px;
  cursor: default;
}

.sod_select:last-child {
  margin-bottom: 0;
}

.is-invalid .sod_select {
  border-color: #FC6769;
}

.is-invalid .sod_select:after {
  color: #FC6769;
}

.is-invalid .sod_select .sod_label {
  color: #FC6769;
}

.sod_select.is-invalid {
  border-color: blue;
}

.sod_select.is-invalid .sod_label {
  color: blue;
}

.sod_select.is-invalid:after {
  color: blue;
}

.sod_select.large {
  font-size: 1.875em;
  height: 45px;
}

.sod_select.sort {
  height: auto;
  border-bottom: none;
  padding: 0;
  display: block;
}

.sod_select.sort:after {
  top: 50%;
}

.sod_select.sort .sod_list_wrapper {
  min-width: 180px;
}

/* Up/Down arrows */

.sod_select:after {
  content: "\F3D0";
  color: #3C3C3C;
  font-size: 14px;
  font-family: "Ionicons" !important;
  transform: translateY(-50%);
  position: absolute;
  top: 40%;
  right: 0;
}

.sod_select.open:after {
  transform: translateY(-50%) rotate(180deg);
}

.sod_select.large:after {
  font-size: 18px;
}

/*
.sod_select:before,
.sod_select:after {
	content: "\25B2";
	position: absolute;
	right: 10px;
	top: 12px;
	font-size: 7px;
}
*/

/* Down arrow */

/*
.sod_select:after {
	content: "\25BC";
	top: auto;
	bottom: 12px;
}
*/

/* Change the border color on hover, focus and when open */

/* When the entire SoD is disabled, go crazy! */

.sod_select.disabled {
  border-color: #828282;
  color: #b2b2b2;
  cursor: not-allowed;
}

/* The "label", or whatever we should call it. Keep the first three lines for truncating. */

.sod_select .sod_label {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 15px;
}

.sod_select .sod_prefix {
  /* Use this if you're using a prefix and want to style it */
}

.sod_select .sod_placeholder {
  /* Use this if you're using a placeholder and want to style it */
}

/* Options list wrapper */

.sod_select .sod_list_wrapper {
  line-height: 1;
  width: auto;
  height: auto;
  background: white;
  border: 1px solid #C5C5C5;
  box-shadow: 0 3px 6px #ccc;
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 999;
}

/* Shows the option list (don't edit) */

.sod_select.open .sod_list_wrapper {
  display: block;
}

/* Don't display the options when  */

.sod_select.disabled.open .sod_list_wrapper {
  display: none;
}

/* When the option list is displayed above the SoD */

.sod_select.above .sod_list_wrapper {
  top: auto;
  bottom: calc(100% + 10px);
}

/* Options list container */

.sod_select .sod_list {
  max-height: 500px !important;
  display: block;
  overflow-y: auto;
}

/* All the options. Keep the first three lines for truncating... */

.sod_select .sod_option {
  font-size: 12px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative;
  padding: 10px 15px;
  list-style-type: none;
}

.sod_select .sod_option.divider {
  border-top: 2px solid #ECECEC;
  margin: 10px 0;
  padding: 0;
}

.sod_select .sod_option.status:not(.choose-project) {
  position: relative;
}

.sod_select .sod_option.status:not(.choose-project):after {
  content: attr(title);
  font-size: 7px;
  line-height: 1em;
  text-transform: uppercase;
  letter-spacing: 0.125em;
  background: rgba(0, 0, 0, 0.1);
  padding: 5px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 5px;
}

.sod_select .sod_option.status.gray {
  background: rgba(0, 0, 0, 0.035);
}

.sod_select .sod_option.status.gray.active,
.sod_select .sod_option.status.gray.selected {
  background: rgba(0, 0, 0, 0.1);
}

/* Optgroups */

.sod_select .sod_option.optgroup,
.sod_select .sod_option.optgroup.disabled {
  background: inherit;
  color: #939393;
  font-size: 10px;
  font-style: italic;
}

/* Children of an optgroup */

.sod_select .sod_option.groupchild {
  padding-left: 20px;
}

/* Used together with placeholderOption / data-placeholder-option */

.sod_select .sod_option.is-placeholder {
  display: none;
}

/* Disabled option */

.sod_select .sod_option.disabled {
  background: inherit;
  color: #cccccc;
}

/* Hover state for options, also used when a user uses his/hers up/down keys */

.sod_select .sod_option.active {
  background: #F6FCC7;
}

/*Make room for the check mark */

.sod_select .sod_option.selected {
  background: #F6FCC7;
}

.sod_select .sod_option.selected.active {
  background: #F6FCC7;
}

/* Displays a check mark for the selected option */

/*
.sod_select .sod_option.selected:before {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	display: inline-block;
	color: #808080;
	height: 9px;
	width: 10px;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMTAgOSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAgOSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBmaWxsPSIjRDlEOUQ4IiBkPSJNNCw2LjdDMy42LDYuMywzLjUsNi4xLDMuMSw1LjdDMi42LDUuMiwyLDQuNiwxLjUsNC4xYy0wLjgtMC44LTIsMC40LTEuMiwxLjJjMC45LDAuOSwxLjksMS45LDIuOCwyLjgNCgkJYzAuNywwLjcsMS4zLDEsMiwwQzYuNyw2LDguMywzLjcsOS44LDEuNUMxMC41LDAuNSw5LTAuMyw4LjMsMC42bDAsMEM2LjcsMi45LDUuNyw0LjQsNCw2LjciLz4NCjwvZz4NCjwvc3ZnPg0K);
}
*/

.sod_select .sod_option.link {
  /* If data-link is set on a specific option */
}

.sod_select .sod_option.linkexternal {
  /* If data-link-external is set on a specific option */
}

/* Hide native select */

.sod_select select {
  display: none !important;
}

/* The native select in touch mode. Keep this first line. Sorry, keep everything. */

.sod_select.touch select {
  -webkit-appearance: menulist-button;
  position: absolute;
  top: 0;
  left: 0;
  display: block !important;
  height: 100%;
  width: 100%;
  opacity: 0;
  z-index: 1;
}

/* iCheck plugin Square skin, black
----------------------------------- */

.icheckbox,
.iradio {
  display: inline-block;
  *display: inline;
  vertical-align: middle;
  width: 22px;
  height: 22px;
  background-image: url(/images/icheck.png?4d464d8bffb6edbb98e44a642613fdd3);
  background-size: 176px 22px;
  border: none;
  cursor: pointer;
}

.label-left .icheckbox,
.label-left .iradio {
  margin: 0 0 0 10px;
}

.label-right .icheckbox,
.label-right .iradio {
  margin: 0 10px 0 0;
}

.icheckbox {
  background-position: 0 0;
}

/*
.icheckbox.hover {
    background-position: -24px 0;
}
*/

.icheckbox.checked {
  background-position: -22px 0;
}

.icheckbox.disabled {
  background-position: -44px 0;
  cursor: default;
}

.icheckbox.checked.disabled {
  background-position: -66px 0;
}

.iradio {
  background-position: -88px 0;
}

.iradio.checked {
  background-position: -110px 0;
}

.iradio.disabled {
  background-position: -132px 0;
  cursor: default;
}

.iradio.checked.disabled {
  background-position: -154px 0;
}

/*!
 * Quill Editor v1.3.6
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */

.ql-container {
  box-sizing: border-box;
  height: 100%;
  margin: 0;
  position: relative;
}

.ql-container.ql-disabled .ql-tooltip {
  visibility: hidden;
}

.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {
  pointer-events: none;
}

.ql-clipboard {
  left: -100000px;
  height: 1px;
  overflow-y: hidden;
  position: absolute;
  top: 50%;
}

.ql-clipboard p {
  margin: 0;
  padding: 0;
}

.ql-editor {
  box-sizing: border-box;
  line-height: 1.5;
  height: 100%;
  min-height: 150px;
  outline: none;
  overflow-y: auto;
  padding: 10px;
  -o-tab-size: 4;
     tab-size: 4;
  -moz-tab-size: 4;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.ql-editor > * {
  cursor: text;
}

.ql-editor p,
.ql-editor ol,
.ql-editor ul,
.ql-editor pre,
.ql-editor blockquote,
.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6 {
  margin: 0;
  padding: 0;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

.ql-editor ol,
.ql-editor ul {
  padding-left: 1.5em;
}

.ql-editor ol > li,
.ql-editor ul > li {
  list-style-type: none;
}

.ql-editor ul > li::before {
  content: "\2022";
}

.ql-editor ul[data-checked=true],
.ql-editor ul[data-checked=false] {
  pointer-events: none;
}

.ql-editor ul[data-checked=true] > li *,
.ql-editor ul[data-checked=false] > li * {
  pointer-events: all;
}

.ql-editor ul[data-checked=true] > li::before,
.ql-editor ul[data-checked=false] > li::before {
  color: #777;
  cursor: pointer;
  pointer-events: all;
}

.ql-editor ul[data-checked=true] > li::before {
  content: "\2611";
}

.ql-editor ul[data-checked=false] > li::before {
  content: "\2610";
}

.ql-editor li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

.ql-editor li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

.ql-editor li.ql-direction-rtl::before {
  margin-left: 0.3em;
  margin-right: -1.5em;
}

.ql-editor ol li:not(.ql-direction-rtl),
.ql-editor ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}

.ql-editor ol li.ql-direction-rtl,
.ql-editor ul li.ql-direction-rtl {
  padding-right: 1.5em;
}

.ql-editor ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}

.ql-editor ol li:before {
  content: counter(list-0, decimal) ". ";
}

.ql-editor ol li.ql-indent-1 {
  counter-increment: list-1;
}

.ql-editor ol li.ql-indent-1:before {
  content: counter(list-1, lower-alpha) ". ";
}

.ql-editor ol li.ql-indent-1 {
  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

.ql-editor ol li.ql-indent-2 {
  counter-increment: list-2;
}

.ql-editor ol li.ql-indent-2:before {
  content: counter(list-2, lower-roman) ". ";
}

.ql-editor ol li.ql-indent-2 {
  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

.ql-editor ol li.ql-indent-3 {
  counter-increment: list-3;
}

.ql-editor ol li.ql-indent-3:before {
  content: counter(list-3, decimal) ". ";
}

.ql-editor ol li.ql-indent-3 {
  counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
}

.ql-editor ol li.ql-indent-4 {
  counter-increment: list-4;
}

.ql-editor ol li.ql-indent-4:before {
  content: counter(list-4, lower-alpha) ". ";
}

.ql-editor ol li.ql-indent-4 {
  counter-reset: list-5 list-6 list-7 list-8 list-9;
}

.ql-editor ol li.ql-indent-5 {
  counter-increment: list-5;
}

.ql-editor ol li.ql-indent-5:before {
  content: counter(list-5, lower-roman) ". ";
}

.ql-editor ol li.ql-indent-5 {
  counter-reset: list-6 list-7 list-8 list-9;
}

.ql-editor ol li.ql-indent-6 {
  counter-increment: list-6;
}

.ql-editor ol li.ql-indent-6:before {
  content: counter(list-6, decimal) ". ";
}

.ql-editor ol li.ql-indent-6 {
  counter-reset: list-7 list-8 list-9;
}

.ql-editor ol li.ql-indent-7 {
  counter-increment: list-7;
}

.ql-editor ol li.ql-indent-7:before {
  content: counter(list-7, lower-alpha) ". ";
}

.ql-editor ol li.ql-indent-7 {
  counter-reset: list-8 list-9;
}

.ql-editor ol li.ql-indent-8 {
  counter-increment: list-8;
}

.ql-editor ol li.ql-indent-8:before {
  content: counter(list-8, lower-roman) ". ";
}

.ql-editor ol li.ql-indent-8 {
  counter-reset: list-9;
}

.ql-editor ol li.ql-indent-9 {
  counter-increment: list-9;
}

.ql-editor ol li.ql-indent-9:before {
  content: counter(list-9, decimal) ". ";
}

.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}

.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}

.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}

.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}

.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}

.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}

.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}

.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}

.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}

.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}

.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}

.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}

.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}

.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}

.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}

.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}

.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}

.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}

.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}

.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}

.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}

.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}

.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}

.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}

.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}

.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}

.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}

.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}

.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}

.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}

.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}

.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}

.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}

.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}

.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}

.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}

.ql-editor .ql-video {
  display: block;
  max-width: 100%;
}

.ql-editor .ql-video.ql-align-center {
  margin: 0 auto;
}

.ql-editor .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}

.ql-editor .ql-bg-black {
  background-color: #000;
}

.ql-editor .ql-bg-red {
  background-color: #e60000;
}

.ql-editor .ql-bg-orange {
  background-color: #f90;
}

.ql-editor .ql-bg-yellow {
  background-color: #ff0;
}

.ql-editor .ql-bg-green {
  background-color: #008a00;
}

.ql-editor .ql-bg-blue {
  background-color: #06c;
}

.ql-editor .ql-bg-purple {
  background-color: #93f;
}

.ql-editor .ql-color-white {
  color: #fff;
}

.ql-editor .ql-color-red {
  color: #e60000;
}

.ql-editor .ql-color-orange {
  color: #f90;
}

.ql-editor .ql-color-yellow {
  color: #ff0;
}

.ql-editor .ql-color-green {
  color: #008a00;
}

.ql-editor .ql-color-blue {
  color: #06c;
}

.ql-editor .ql-color-purple {
  color: #93f;
}

.ql-editor .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.ql-editor .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}

.ql-editor .ql-size-small {
  font-size: 0.75em;
}

.ql-editor .ql-size-large {
  font-size: 1.5em;
}

.ql-editor .ql-size-huge {
  font-size: 2.5em;
}

.ql-editor .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}

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

.ql-editor .ql-align-justify {
  text-align: justify;
}

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

.ql-editor.ql-blank::before {
  color: rgba(0, 0, 0, 0.6);
  content: attr(data-placeholder);
  font-style: italic;
  left: 15px;
  pointer-events: none;
  position: absolute;
  right: 15px;
}

.ql-snow.ql-toolbar:after,
.ql-snow .ql-toolbar:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow.ql-toolbar button,
.ql-snow .ql-toolbar button {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: left;
  height: 24px;
  padding: 3px 5px;
  width: 28px;
}

.ql-snow.ql-toolbar button svg,
.ql-snow .ql-toolbar button svg {
  float: left;
  height: 100%;
}

.ql-snow.ql-toolbar button:active:hover,
.ql-snow .ql-toolbar button:active:hover {
  outline: none;
}

.ql-snow.ql-toolbar input.ql-image[type=file],
.ql-snow .ql-toolbar input.ql-image[type=file] {
  display: none;
}

.ql-snow.ql-toolbar button:hover,
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow .ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #9E9E9E;
}

.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #9E9E9E;
}

.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #9E9E9E;
}

@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active),
  .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: #444;
  }

  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
    fill: #444;
  }

  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
    stroke: #444;
  }
}

.ql-snow {
  box-sizing: border-box;
}

.ql-snow * {
  box-sizing: border-box;
}

.ql-snow .ql-hidden {
  display: none;
}

.ql-snow .ql-out-bottom,
.ql-snow .ql-out-top {
  visibility: hidden;
}

.ql-snow .ql-tooltip {
  position: absolute;
  transform: translateY(10px);
}

.ql-snow .ql-tooltip a {
  cursor: pointer;
  text-decoration: none;
}

.ql-snow .ql-tooltip.ql-flip {
  transform: translateY(-10px);
}

.ql-snow .ql-formats {
  display: inline-block;
  vertical-align: middle;
}

.ql-snow .ql-formats:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow .ql-stroke {
  fill: none;
  stroke: #444;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.ql-snow .ql-stroke-miter {
  fill: none;
  stroke: #444;
  stroke-miterlimit: 10;
  stroke-width: 2;
}

.ql-snow .ql-fill,
.ql-snow .ql-stroke.ql-fill {
  fill: #444;
}

.ql-snow .ql-empty {
  fill: none;
}

.ql-snow .ql-even {
  fill-rule: evenodd;
}

.ql-snow .ql-thin,
.ql-snow .ql-stroke.ql-thin {
  stroke-width: 1;
}

.ql-snow .ql-transparent {
  opacity: 0.4;
}

.ql-snow .ql-direction svg:last-child {
  display: none;
}

.ql-snow .ql-direction.ql-active svg:last-child {
  display: inline;
}

.ql-snow .ql-direction.ql-active svg:first-child {
  display: none;
}

.ql-snow .ql-editor h1 {
  font-size: 2em;
}

.ql-snow .ql-editor h2 {
  font-size: 1.5em;
}

.ql-snow .ql-editor h3 {
  font-size: 1.17em;
}

.ql-snow .ql-editor h4 {
  font-size: 1em;
}

.ql-snow .ql-editor h5 {
  font-size: 0.83em;
}

.ql-snow .ql-editor h6 {
  font-size: 0.67em;
}

.ql-snow .ql-editor a {
  text-decoration: underline;
}

.ql-snow .ql-editor blockquote {
  border-left: 4px solid #ccc;
  margin-bottom: 5px;
  margin-top: 5px;
  padding-left: 16px;
}

.ql-snow .ql-editor code,
.ql-snow .ql-editor pre {
  background-color: #f0f0f0;
  border-radius: 3px;
}

.ql-snow .ql-editor pre {
  white-space: pre-wrap;
  margin-bottom: 5px;
  margin-top: 5px;
  padding: 5px 10px;
}

.ql-snow .ql-editor code {
  font-size: 85%;
  padding: 2px 4px;
}

.ql-snow .ql-editor pre.ql-syntax {
  background-color: #23241f;
  color: #f8f8f2;
  overflow: visible;
}

.ql-snow .ql-editor img {
  max-width: 100%;
}

.ql-snow .ql-picker {
  color: #444;
  display: inline-block;
  float: left;
  font-size: 14px;
  font-weight: 500;
  height: 24px;
  position: relative;
  vertical-align: middle;
}

.ql-snow .ql-picker-label {
  cursor: pointer;
  display: inline-block;
  height: 100%;
  padding-left: 8px;
  padding-right: 2px;
  position: relative;
  width: 100%;
}

.ql-snow .ql-picker-label::before {
  display: inline-block;
  line-height: 22px;
}

.ql-snow .ql-picker-options {
  background-color: #fff;
  display: none;
  min-width: 100%;
  padding: 4px 8px;
  position: absolute;
  white-space: nowrap;
}

.ql-snow .ql-picker-options .ql-picker-item {
  cursor: pointer;
  display: block;
  padding-bottom: 5px;
  padding-top: 5px;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #ccc;
  z-index: 2;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  display: block;
  margin-top: -1px;
  top: 100%;
  z-index: 1;
}

.ql-snow .ql-color-picker,
.ql-snow .ql-icon-picker {
  width: 28px;
}

.ql-snow .ql-color-picker .ql-picker-label,
.ql-snow .ql-icon-picker .ql-picker-label {
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-label svg,
.ql-snow .ql-icon-picker .ql-picker-label svg {
  right: 4px;
}

.ql-snow .ql-icon-picker .ql-picker-options {
  padding: 4px 0px;
}

.ql-snow .ql-icon-picker .ql-picker-item {
  height: 24px;
  width: 24px;
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-options {
  padding: 3px 5px;
  width: 152px;
}

.ql-snow .ql-color-picker .ql-picker-item {
  border: 1px solid transparent;
  float: left;
  height: 16px;
  margin: 2px;
  padding: 0px;
  width: 16px;
}

.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  position: absolute;
  margin-top: -9px;
  right: 0;
  top: 50%;
  width: 18px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""])::before,
.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""])::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""])::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""])::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""])::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""])::before {
  content: attr(data-label);
}

.ql-snow .ql-picker.ql-header {
  width: 98px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  content: "Heading 1";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  content: "Heading 2";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  content: "Heading 3";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  content: "Heading 4";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  content: "Heading 5";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  content: "Heading 6";
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  font-size: 2em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  font-size: 1.5em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  font-size: 1.17em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  font-size: 1em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  font-size: 0.83em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  font-size: 0.67em;
}

.ql-snow .ql-picker.ql-font {
  width: 108px;
}

.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
  content: "Sans Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  content: "Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  content: "Monospace";
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  font-family: Georgia, Times New Roman, serif;
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  font-family: Monaco, Courier New, monospace;
}

.ql-snow .ql-picker.ql-size {
  width: 98px;
}

.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  content: "Small";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  content: "Large";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  content: "Huge";
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  font-size: 10px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  font-size: 18px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  font-size: 32px;
}

.ql-snow .ql-color-picker.ql-background .ql-picker-item {
  background-color: #fff;
}

.ql-snow .ql-color-picker.ql-color .ql-picker-item {
  background-color: #000;
}

.ql-toolbar.ql-snow {
  border: 2px solid #C5C5C5;
  box-sizing: border-box;
  margin: 10px 0 0 0;
  padding: 10px;
}

.ql-toolbar.ql-snow .ql-formats {
  margin-right: 15px;
}

.ql-toolbar.ql-snow .ql-picker-label {
  border: 1px solid transparent;
}

.ql-toolbar.ql-snow .ql-picker-options {
  border: 1px solid transparent;
  box-shadow: rgba(0, 0, 0, 0.2) 0 2px 8px;
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
  border-color: #000;
}

.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: 0px;
}

.ql-snow .ql-tooltip {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0px 0px 5px #ddd;
  color: #444;
  padding: 5px 12px;
  white-space: nowrap;
}

.ql-snow .ql-tooltip::before {
  content: "Visit URL:";
  line-height: 26px;
  margin-right: 8px;
}

.ql-snow .ql-tooltip input[type=text] {
  display: none;
  border: 1px solid #ccc;
  font-size: 13px;
  height: 26px;
  margin: 0px;
  padding: 3px 5px;
  width: 170px;
}

.ql-snow .ql-tooltip a.ql-preview {
  display: inline-block;
  max-width: 200px;
  overflow-x: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.ql-snow .ql-tooltip a.ql-action::after {
  border-right: 1px solid #ccc;
  content: "Edit";
  margin-left: 16px;
  padding-right: 8px;
}

.ql-snow .ql-tooltip a.ql-remove::before {
  content: "Remove";
  margin-left: 8px;
}

.ql-snow .ql-tooltip a {
  line-height: 26px;
}

.ql-snow .ql-tooltip.ql-editing a.ql-preview,
.ql-snow .ql-tooltip.ql-editing a.ql-remove {
  display: none;
}

.ql-snow .ql-tooltip.ql-editing input[type=text] {
  display: inline-block;
}

.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
  border-right: 0px;
  content: "Save";
  padding-right: 0px;
}

.ql-snow .ql-tooltip[data-mode=link]::before {
  content: "Enter link:";
}

.ql-snow .ql-tooltip[data-mode=formula]::before {
  content: "Enter formula:";
}

.ql-snow .ql-tooltip[data-mode=video]::before {
  content: "Enter video:";
}

.ql-snow a {
  color: #06c;
}

.ql-container.ql-snow {
  border: 2px solid #C5C5C5;
}

/*!
 * =============================================================
 * dropify v0.2.2 - Override your input files with style.
 * https://github.com/JeremyFagis/dropify
 *
 * (c) 2017 - Jeremy FAGIS <jeremy@fagis.fr> (http://fagis.fr)
 * =============================================================
 */

@font-face {
  font-family: "dropify";
  src: url(/fonts/dropify.eot?4e8b017aef78cc114006cba896850fbd);
  src: url(/fonts/dropify.eot?4e8b017aef78cc114006cba896850fbd) format("embedded-opentype"), url(/fonts/dropify.woff?950ffd1efa29c33a70dd86ea761cb3d8) format("woff"), url(/fonts/dropify.ttf?86cb1ab018f1680d8e0fa0ca6a53d64c) format("truetype"), url(/fonts/dropify.svg?b321d818cc153b16e739072ea8bc94b8) format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^=dropify-font-]:before,
[class*=" dropify-font-"]:before,
.dropify-font:before,
.dropify-wrapper .dropify-message span.file-icon:before {
  font-family: "dropify";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-left: 0.2em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
}

.dropify-font-upload:before,
.dropify-wrapper .dropify-message span.file-icon:before {
  content: "\E800";
}

.dropify-font-file:before {
  content: "\E801";
}

.dropify-wrapper {
  color: #9E9E9E;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
  width: 100%;
  height: 30px;
  max-width: 100%;
  background-image: none;
  border: 2px dotted #C5C5C5;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  display: block;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.dropify-wrapper:last-child {
  margin-bottom: 0;
}

.dropify-wrapper:hover {
  /*
  background-size: 30px 30px;
  background-image: -webkit-linear-gradient(135deg, $chiffon 25%, transparent 25%, transparent 50%, $chiffon 50%, $chiffon 75%, transparent 75%, transparent);
  background-image: linear-gradient(-45deg, $chiffon 25%, transparent 25%, transparent 50%, $chiffon 50%, $chiffon 75%, transparent 75%, transparent);
  -webkit-animation: stripes 2s linear infinite;
  animation: stripes 2s linear infinite;
  */
}

.dropify-wrapper.has-preview {
  background: #ECECEC;
  border: none;
}

.dropify-wrapper.has-preview .dropify-message {
  display: none;
}

.dropify-wrapper.has-preview .dropify-clear {
  display: block;
}

.dropify-wrapper.has-error {
  border-color: #FC6769;
}

.dropify-wrapper.has-error .dropify-message .dropify-error {
  display: block;
}

.dropify-wrapper.has-error:hover .dropify-errors-container {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.dropify-wrapper.disabled input {
  cursor: not-allowed;
}

.dropify-wrapper.disabled:hover {
  background-image: none;
  -webkit-animation: none;
  animation: none;
}

.dropify-wrapper.disabled .dropify-message {
  opacity: 0.5;
  text-decoration: line-through;
}

.dropify-wrapper.disabled .dropify-infos-message {
  display: none;
}

.dropify-wrapper input {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  cursor: pointer;
  z-index: 5;
}

.dropify-wrapper .dropify-message {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.dropify-wrapper .dropify-message p {
  margin: 0;
}

.dropify-wrapper .dropify-message span.file-icon {
  font-size: 20px;
  color: #C5C5C5;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

.dropify-wrapper .dropify-message p {
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

.dropify-wrapper .dropify-message p.dropify-error {
  color: #FC6769;
  display: none;
}

.dropify-wrapper .dropify-clear {
  display: none;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 10px;
  z-index: 7;
  cursor: pointer;
}

.dropify-wrapper .dropify-clear svg {
  fill: #9E9E9E;
  width: 8px;
  height: auto;
}

.dropify-wrapper .dropify-clear:hover svg {
  fill: #3C3C3C;
}

.dropify-wrapper .dropify-preview {
  text-align: center;
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  right: 20px;
  z-index: 1;
  overflow: hidden;
}

.dropify-wrapper .dropify-preview .dropify-render {
  display: none;
}

/*
.dropify-wrapper .dropify-preview .dropify-render img {
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: relative;
	max-width: 100%;
	max-height: 100%;
	background-color: #FFF;
	-webkit-transition: border-color 0.15s linear;
	transition: border-color 0.15s linear;
}

.dropify-wrapper .dropify-preview .dropify-render i {
	font-size: 70px;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute;
	color: #777;
}

.dropify-wrapper .dropify-preview .dropify-render .dropify-extension {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin-top: 10px;
	text-transform: uppercase;
	font-weight: 900;
	letter-spacing: -0.03em;
	font-size: 13px;
	width: 42px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
*/

.dropify-wrapper .dropify-preview .dropify-infos {
  background: #ECECEC;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
}

.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p {
  line-height: 30px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message {
  display: none;
}

/*
.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message {
	margin-top: 15px;
	padding-top: 15px;
	font-size: 12px;
	position: relative;
	opacity: 0.5;
}

.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background: #FFF;
	width: 30px;
	height: 2px;
}

.dropify-wrapper:hover .dropify-preview .dropify-infos {
	opacity: 1;
}

.dropify-wrapper:hover .dropify-preview .dropify-infos .dropify-infos-inner {
	margin-top: -5px;
}
*/

.dropify-wrapper.touch-fallback {
  height: auto !important;
}

.dropify-wrapper.touch-fallback:hover {
  background-image: none;
  -webkit-animation: none;
  animation: none;
}

.dropify-wrapper.touch-fallback .dropify-preview {
  position: relative;
  padding: 0;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-render {
  display: block;
  position: relative;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-render .dropify-font-file {
  position: relative;
  transform: translate(0, 0);
  top: 0;
  left: 0;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-render .dropify-font-file::before {
  margin-top: 30px;
  margin-bottom: 30px;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-render img {
  position: relative;
  transform: translate(0, 0);
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos {
  position: relative;
  opacity: 1;
  background: transparent;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner {
  position: relative;
  top: 0;
  transform: translate(0, 0);
  padding: 5px 90px 5px 0;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p {
  padding: 0;
  margin: 0;
  position: relative;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #777;
  text-align: left;
  line-height: 25px;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-filename {
  font-weight: bold;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message {
  margin-top: 0;
  padding-top: 0;
  font-size: 11px;
  position: relative;
  opacity: 1;
}

.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message::before {
  display: none;
}

.dropify-wrapper.touch-fallback .dropify-message {
  transform: translate(0, 0);
}

.dropify-wrapper.touch-fallback .dropify-clear {
  top: auto;
  bottom: 23px;
  opacity: 1;
  border-color: rgba(119, 119, 119, 0.7);
  color: #777;
}

.dropify-wrapper.touch-fallback.has-preview .dropify-message {
  display: none;
}

.dropify-wrapper.touch-fallback:hover .dropify-preview .dropify-infos .dropify-infos-inner {
  margin-top: 0;
}

.dropify-wrapper .dropify-loader {
  position: absolute;
  top: 15px;
  right: 15px;
  display: none;
  z-index: 9;
}

.dropify-wrapper .dropify-loader::after {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
  -webkit-animation: rotate 0.6s linear infinite;
  animation: rotate 0.6s linear infinite;
  border-radius: 100%;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #777;
  border-left: 1px solid #CCC;
  border-right: 1px solid #777;
  content: "";
}

.dropify-wrapper .dropify-errors-container {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  background: rgba(243, 65, 65, 0.8);
  text-align: left;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear 0.15s, opacity 0.15s linear;
}

.dropify-wrapper .dropify-errors-container ul {
  padding: 10px 20px;
  margin: 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.dropify-wrapper .dropify-errors-container ul li {
  margin-left: 20px;
  color: #FFF;
  font-weight: bold;
}

.dropify-wrapper .dropify-errors-container.visible {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.dropify-wrapper ~ .dropify-errors-container ul {
  padding: 0;
  margin: 15px 0;
}

.dropify-wrapper ~ .dropify-errors-container ul li {
  margin-left: 20px;
  color: #F34141;
  font-weight: bold;
}

.is-invalid .dropify-wrapper {
  color: #FC6769;
  border-color: #FC6769;
}

.is-invalid .dropify-wrapper .dropify-message span.file-icon,
.is-invalid .dropify-wrapper .dropify-message span.fuscous-gray {
  color: #FC6769;
}

@-webkit-keyframes stripes {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 60px 30px;
  }
}

@keyframes stripes {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 60px 30px;
  }
}

@-webkit-keyframes rotate {
  0% {
    transform: rotateZ(-360deg);
  }

  100% {
    transform: rotateZ(0deg);
  }
}

@keyframes rotate {
  0% {
    transform: rotateZ(-360deg);
  }

  100% {
    transform: rotateZ(0deg);
  }
}

.fc {
  direction: ltr;
  text-align: left;
}

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

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em;
}

/* Colors
--------------------------------------------------------------------------------------------------*/

.fc-highlight {
  /* when user is selecting cells */
  background: #F6FCC7;
  opacity: 0.3;
}

aside .fc-highlight {
  opacity: 1;
}

.fc-bgevent {
  /* default look for background events */
  background: #F6FCC7;
  opacity: 0.3;
}

aside .fc-row .fc-bgevent-skeleton {
  z-index: 5;
}

aside .fc-row .fc-bgevent-skeleton .fc-bgevent {
  background: #3C3C3C;
  opacity: 0.9;
}

.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #F6FCC7;
}

/* Popover
--------------------------------------------------------------------------------------------------*/

.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px;
}

.fc-rtl .fc-popover .fc-header {
  flex-direction: row-reverse;
}

.fc-popover .fc-header .fc-title {
  margin: 0 2px;
}

.fc-popover .fc-header .fc-close {
  cursor: pointer;
  opacity: 0.65;
  font-size: 1.1em;
}

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/

.fc-divider {
  border-style: solid;
  border-width: 1px;
}

hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0;
}

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-mirror-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */
}

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */
}

/* Tables
--------------------------------------------------------------------------------------------------*/

.fc table {
  width: 100%;
  box-sizing: border-box;
  /* fix scrollbar issue in firefox */
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */
}

.fc th {
  height: 50px;
}

aside .fc th {
  color: white;
  height: 40px;
  opacity: 0.3;
}

.fc th,
.fc td {
  text-align: center;
  border-style: solid;
  border-width: 2px;
  padding: 0;
  vertical-align: middle;
}

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */
}

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/

a[data-goto] {
  cursor: pointer;
}

a[data-goto]:hover {
  text-decoration: underline;
}

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/

.fc .fc-row {
  /* extra precedence to overcome themes forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0;
}

.fc-row table {
  /* don't put left/right border on anything within a fake row.
      the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent;
}

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */
}

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/

.fc-row {
  position: relative;
}

.fc-row .fc-bg {
  z-index: 1;
}

/* highlighting cells & background event skeleton */

.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */
}

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */
}

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent;
}

.fc-row .fc-bgevent-skeleton {
  z-index: 2;
}

.fc-row .fc-highlight-skeleton {
  z-index: 3;
}

/*
row content (which contains day/week numbers and events) as well as "mirror" (which contains
temporary rendered events).
*/

.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */
}

.fc-row .fc-mirror-skeleton {
  z-index: 5;
}

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-mirror-skeleton td {
  /* see-through to the background below */
  /* extra precedence to prevent theme-provided backgrounds */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent;
}

.fc-row .fc-content-skeleton td,
.fc-row .fc-mirror-skeleton td {
  /* don't put a border between events and/or the day number */
  border-bottom: 0;
}

.fc-row .fc-content-skeleton td.fc-selected,
.fc-row .fc-mirror-skeleton td.fc-selected {
  color: #3C3C3C;
  opacity: 1 !important;
}

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-mirror-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0;
}

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/

.fc-scroller {
  height: auto !important;
  overflow: visible !important;
  -webkit-overflow-scrolling: touch;
}

/* TODO: move to timegrid/daygrid */

.fc-scroller > .fc-day-grid,
.fc-scroller > .fc-time-grid {
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/

.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: 0.85em;
  line-height: 1.4;
  border-radius: 3px;
  border: 1px solid #3788d8;
}

.fc-event,
.fc-event-dot {
  background-color: #3788d8;
  /* default BACKGROUND color */
}

.fc-event,
.fc-event:hover {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
}

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */
}

.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed;
}

.fc-event .fc-content {
  position: relative;
  z-index: 2;
}

/* resizer (cursor AND touch devices) */

.fc-event .fc-resizer {
  position: absolute;
  z-index: 4;
}

/* resizer (touch devices) */

.fc-event .fc-resizer {
  display: none;
}

.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
  /* only show when hovering or selected (with touch) */
  display: block;
}

/* hit area */

.fc-event.fc-selected .fc-resizer:before {
  /* 40x40 touch area */
  content: "";
  position: absolute;
  z-index: 9999;
  /* user of this util can scope within a lower z-index */
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
}

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/

.fc-event.fc-selected {
  z-index: 9999 !important;
  /* overcomes inline z-index */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.fc-event.fc-selected:after {
  content: "";
  position: absolute;
  z-index: 1;
  /* same z-index as fc-bg, behind text */
  /* overcome the borders */
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  /* darkening effect */
  background: #000;
  opacity: 0.25;
}

/* Event Dragging
--------------------------------------------------------------------------------------------------*/

.fc-event.fc-dragging.fc-selected {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
}

.fc-event.fc-dragging:not(.fc-selected) {
  opacity: 0.75;
}

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/

/* bigger touch area when selected */

.fc-h-event.fc-selected:before {
  content: "";
  position: absolute;
  z-index: 3;
  /* below resizers */
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */

.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* resizer (cursor AND touch devices) */

/* left resizer  */

.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer {
  cursor: w-resize;
  left: -1px;
  /* overcome border */
}

/* right resizer */

.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
  cursor: e-resize;
  right: -1px;
  /* overcome border */
}

/* resizer (mouse devices) */

.fc-h-event.fc-allow-mouse-resize .fc-resizer {
  width: 7px;
  top: -1px;
  /* overcome top border */
  bottom: -1px;
  /* overcome bottom border */
}

/* resizer (touch devices) */

.fc-h-event.fc-selected .fc-resizer {
  /* 8x8 little dot */
  border-radius: 4px;
  border-width: 1px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* vertically center */
  top: 50%;
  margin-top: -4px;
}

/* left resizer  */

.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  margin-left: -4px;
  /* centers the 8x8 dot on the left edge */
}

/* right resizer */

.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  margin-right: -4px;
  /* centers the 8x8 dot on the right edge */
}

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/

.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 0 1px;
}

tr:first-child > td > .fc-day-grid-event {
  margin-top: 2px;
  /* a little bit more space before the first event */
}

.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
  margin-top: 0;
  /* except for mirror skeleton */
}

.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden;
}

.fc-day-grid-event .fc-time {
  font-weight: bold;
}

/* resizer (cursor devices) */

/* left resizer  */

.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  margin-left: -2px;
  /* to the day cell's edge */
}

/* right resizer */

.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  margin-right: -2px;
  /* to the day cell's edge */
}

/* Event Limiting
--------------------------------------------------------------------------------------------------*/

/* "more" link that represents hidden events */

a.fc-more {
  margin: 1px 3px;
  font-size: 0.85em;
  cursor: pointer;
  text-decoration: none;
}

a.fc-more:hover {
  text-decoration: underline;
}

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none;
}

/* popover that appears when "more" link is clicked */

.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */
}

.fc-more-popover {
  z-index: 2;
  width: 220px;
}

.fc-more-popover .fc-event-container {
  padding: 10px;
}

/* Now Indicator
--------------------------------------------------------------------------------------------------*/

.fc-now-indicator {
  position: absolute;
  border: 0 solid red;
}

/* Utilities
--------------------------------------------------------------------------------------------------*/

.fc-unselectable {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*
TODO: more distinction between this file and common.css
*/

/* Colors
--------------------------------------------------------------------------------------------------*/

.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #C5C5C5;
}

aside .fc-unthemed th,
aside .fc-unthemed td,
aside .fc-unthemed thead,
aside .fc-unthemed tbody,
aside .fc-unthemed .fc-divider,
aside .fc-unthemed .fc-row,
aside .fc-unthemed .fc-content,
aside .fc-unthemed .fc-popover,
aside .fc-unthemed .fc-list-view,
aside .fc-unthemed .fc-list-heading td {
  border-width: 0;
  border-color: rgba(255, 255, 255, 0.05);
}

.fc-unthemed .fc-popover {
  background-color: #fff;
}

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background: #eee;
}

.fc-unthemed td.fc-selected .fc-day-number {
  color: white;
  line-height: 26px;
  text-align: center;
  width: 26px;
  height: 26px;
  background: #3C3C3C;
  border-radius: 50%;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.fc-unthemed td.fc-today {
  background: none;
}

.fc-unthemed td.fc-today .fc-day-number {
  position: relative;
}

.fc-unthemed td.fc-today .fc-day-number:before {
  content: "";
  width: 100%;
  height: 2px;
  background: #3C3C3C;
  position: absolute;
  bottom: 0;
  left: 0;
}

aside .fc-unthemed td.fc-today .fc-day-number:before {
  background: white;
}

.fc-unthemed .fc-disabled-day {
  background: #d7d7d7;
  opacity: 0.3;
}

aside .fc-unthemed .fc-disabled-day {
  background: none;
}

/* Icons
--------------------------------------------------------------------------------------------------
from https://feathericons.com/ and built with IcoMoon
*/

@font-face {
  font-family: "fcicons";
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
  font-weight: normal;
  font-style: normal;
}

.fc-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "fcicons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fc-icon-chevron-left:before {
  content: "\E900";
}

.fc-icon-chevron-right:before {
  content: "\E901";
}

.fc-icon-chevrons-left:before {
  content: "\E902";
}

.fc-icon-chevrons-right:before {
  content: "\E903";
}

.fc-icon-minus-square:before {
  content: "\E904";
}

.fc-icon-plus-square:before {
  content: "\E905";
}

.fc-icon-x:before {
  content: "\E906";
}

.fc-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  text-align: center;
}

/* Buttons
--------------------------------------------------------------------------------------------------
Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
*/

.fc-button {
  border-radius: 0;
  overflow: visible;
  text-transform: none;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.fc-button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

.fc-button {
  -webkit-appearance: button;
}

.fc-button:not(:disabled) {
  cursor: pointer;
}

.fc-button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

.fc-button {
  display: inline-block;
  font-weight: 400;
  color: #646464;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  font-size: 1em;
  line-height: 1.5;
}

.fc-button:hover {
  color: #3C3C3C;
  text-decoration: none;
}

aside .fc-button:hover {
  color: #9E9E9E;
}

.fc-button:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
}

.fc-button:disabled {
  opacity: 0.65;
}

/* "primary" coloring */

/* icons within buttons */

.fc-button .fc-icon {
  vertical-align: middle;
  font-size: 1.5em;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/

.fc-button-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.fc-button-group > .fc-button {
  position: relative;
  flex: 1 1 auto;
}

.fc-button-group > .fc-button:hover {
  z-index: 1;
}

.fc-button-group > .fc-button:focus,
.fc-button-group > .fc-button:active,
.fc-button-group > .fc-button.fc-button-active {
  z-index: 1;
}

.fc-button-group > .fc-button:not(:first-child) {
  margin-left: -1px;
}

.fc-button-group > .fc-button:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-button-group > .fc-button:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/

.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid;
}

/* List View
--------------------------------------------------------------------------------------------------*/

.fc-unthemed .fc-list-item:hover td {
  background-color: #f5f5f5;
}

/* Toolbar
--------------------------------------------------------------------------------------------------*/

.fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fc-toolbar.fc-header-toolbar {
  margin-bottom: 1.5em;
}

.fc-toolbar.fc-footer-toolbar {
  margin-top: 1.5em;
}

aside .fc-toolbar.fc-header-toolbar h1,
aside .fc-toolbar.fc-header-toolbar h2,
aside .fc-toolbar.fc-header-toolbar h3 {
  font-size: 1.25em;
}

/* inner content */

.fc-toolbar > * > :not(:first-child) {
  margin-left: 0.75em;
}

.fc-toolbar h2 {
  font-size: 1.75em;
  margin: 0;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/

.fc-view-container {
  position: relative;
}

/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */

/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */

.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  box-sizing: content-box;
}

.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1;
}

@media print {
  .fc {
    max-width: 100% !important;
  }

  /* Global Event Restyling
   --------------------------------------------------------------------------------------------------*/

  .fc-event {
    background: #fff !important;
    color: #000 !important;
    page-break-inside: avoid;
  }

  .fc-event .fc-resizer {
    display: none;
  }

  /* Table & Day-Row Restyling
   --------------------------------------------------------------------------------------------------*/

  .fc th,
  .fc td,
  .fc hr,
  .fc thead,
  .fc tbody,
  .fc-row {
    border-color: #ccc !important;
    background: #fff !important;
  }

  /* kill the overlaid, absolutely-positioned components */

  /* common... */

  .fc-bg,
  .fc-bgevent-skeleton,
  .fc-highlight-skeleton,
  .fc-mirror-skeleton,
  .fc-bgevent-container,
  .fc-business-container,
  .fc-highlight-container,
  .fc-mirror-container {
    display: none;
  }

  /* don't force a min-height on rows (for DayGrid) */

  .fc tbody .fc-row {
    height: auto !important;
    /* undo height that JS set in distributeHeight */
    min-height: 0 !important;
    /* undo the min-height from each view's specific stylesheet */
  }

  .fc tbody .fc-row .fc-content-skeleton {
    position: static;
    /* undo .fc-rigid */
    padding-bottom: 0 !important;
    /* use a more border-friendly method for this... */
  }

  .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
    /* only works in newer browsers */
    padding-bottom: 1em;
    /* ...gives space within the skeleton. also ensures min height in a way */
  }

  .fc tbody .fc-row .fc-content-skeleton table {
    /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
         making it look more like 3em. for other browers, it will already be this tall */
    height: 1em;
  }

  /* Undo month-view event limiting. Display all events and hide the "more" links
   --------------------------------------------------------------------------------------------------*/

  .fc-more-cell,
  .fc-more {
    display: none !important;
  }

  .fc tr.fc-limited {
    display: table-row !important;
  }

  .fc td.fc-limited {
    display: table-cell !important;
  }

  .fc-popover {
    display: none;
    /* never display the "more.." popover in print mode */
  }

  /* TimeGrid Restyling
   --------------------------------------------------------------------------------------------------*/

  /* undo the min-height 100% trick used to fill the container's height */

  .fc-time-grid {
    min-height: 0 !important;
  }

  /* don't display the side axis at all ("all-day" and time cells) */

  .fc-timeGrid-view .fc-axis {
    display: none;
  }

  /* don't display the horizontal lines */

  .fc-slats,
  .fc-time-grid hr {
    /* this hr is used when height is underused and needs to be filled */
    display: none !important;
    /* important overrides inline declaration */
  }

  /* let the container that holds the events be naturally positioned and create real height */

  .fc-time-grid .fc-content-skeleton {
    position: static;
  }

  /* in case there are no events, we still want some height */

  .fc-time-grid .fc-content-skeleton table {
    height: 4em;
  }

  /* kill the horizontal spacing made by the event container. event margins will be done below */

  .fc-time-grid .fc-event-container {
    margin: 0 !important;
  }

  /* TimeGrid *Event* Restyling
   --------------------------------------------------------------------------------------------------*/

  /* naturally position events, vertically stacking them */

  .fc-time-grid .fc-event {
    position: static !important;
    margin: 3px 2px !important;
  }

  /* for events that continue to a future day, give the bottom border back */

  .fc-time-grid .fc-event.fc-not-end {
    border-bottom-width: 1px !important;
  }

  /* indicate the event continues via "..." text */

  .fc-time-grid .fc-event.fc-not-end:after {
    content: "...";
  }

  /* for events that are continuations from previous days, give the top border back */

  .fc-time-grid .fc-event.fc-not-start {
    border-top-width: 1px !important;
  }

  /* indicate the event is a continuation via "..." text */

  .fc-time-grid .fc-event.fc-not-start:before {
    content: "...";
  }

  /* time */

  /* undo a previous declaration and let the time text span to a second line */

  .fc-time-grid .fc-event .fc-time {
    white-space: normal !important;
  }

  /* hide the the time that is normally displayed... */

  .fc-time-grid .fc-event .fc-time span {
    display: none;
  }

  /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */

  .fc-time-grid .fc-event .fc-time:after {
    content: attr(data-full);
  }

  /* Vertical Scroller & Containers
   --------------------------------------------------------------------------------------------------*/

  /* kill the scrollbars and allow natural height */

  .fc-scroller,
  .fc-day-grid-container,
  .fc-time-grid-container {
    /* */
    overflow: visible !important;
    height: auto !important;
  }

  /* kill the horizontal border/padding used to compensate for scrollbars */

  .fc-row {
    border: 0 !important;
    margin: 0 !important;
  }

  /* Button Controls
   --------------------------------------------------------------------------------------------------*/

  .fc-button-group,
  .fc button {
    display: none;
    /* don't display any button-related controls */
  }
}

/* DayGridView
--------------------------------------------------------------------------------------------------*/

/* day row structure */

.fc-dayGridWeek-view .fc-content-skeleton,
.fc-dayGridDay-view .fc-content-skeleton {
  /* there may be week numbers in these views, so no padding-top */
  padding-bottom: 1em;
  /* ensure a space at bottom of cell for user selecting/clicking */
}

.fc-dayGrid-view .fc-body .fc-row {
  height: auto !important;
  /* ensure that all rows are at least this tall */
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */

.fc-row.fc-rigid {
  overflow: hidden;
}

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* week and day number styling */

.fc-content-skeleton thead td {
  height: 50px;
}

aside .fc-content-skeleton thead td {
  height: 40px;
}

.fc-day-top.fc-other-month {
  opacity: 0.25;
}

.fc-dayGrid-view .fc-week-number,
.fc-dayGrid-view .fc-day-number {
  padding: 2px;
}

.fc-dayGrid-view th.fc-week-number,
.fc-dayGrid-view th.fc-day-number {
  padding: 0 2px;
  /* column headers can't have as much v space */
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
  float: none;
}

.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {
  float: none;
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {
  float: none;
  border-radius: 0 0 3px 0;
}

.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {
  float: none;
  border-radius: 0 0 0 3px;
}

.fc-dayGrid-view .fc-day-top .fc-week-number {
  min-width: 1.5em;
  text-align: center;
  background-color: #f2f2f2;
  color: #808080;
}

/* when week/day number have own column */

.fc-dayGrid-view td.fc-week-number {
  text-align: center;
}

.fc-dayGrid-view td.fc-week-number > * {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em;
}

/* This is the core CSS of Tooltipster */

/* GENERAL STRUCTURE RULES (do not edit this section) */

.tooltip {
  z-index: 9999;
}

.tooltipster-base {
  /* this ensures that a constrained height set by functionPosition,
  if greater that the natural height of the tooltip, will be enforced
  in browsers that support display:flex */
  display: flex;
  pointer-events: none;
  /* this may be overriden in JS for fixed position origins */
  position: absolute;
}

.tooltipster-box {
  /* see .tooltipster-base. flex-shrink 1 is only necessary for IE10-
  and flex-basis auto for IE11- (at least) */
  flex: 1 1 auto;
}

.tooltipster-content {
  /* prevents an overflow if the user adds padding to the div */
  box-sizing: border-box;
  /* these make sure we'll be able to detect any overflow */
  max-height: 100%;
  max-width: 100%;
  overflow: auto;
}

.tooltipster-ruler {
  /* these let us test the size of the tooltip without overflowing the window */
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
}

/* ANIMATIONS */

/* Open/close animations */

/* fade */

.tooltipster-fade {
  opacity: 0;
  transition-property: opacity;
}

.tooltipster-fade.tooltipster-show {
  opacity: 1;
}

/* grow */

.tooltipster-grow {
  transform: scale(0, 0);
  transition-property: transform;
  -webkit-backface-visibility: hidden;
}

.tooltipster-grow.tooltipster-show {
  transform: scale(1, 1);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

/* swing */

.tooltipster-swing {
  opacity: 0;
  transform: rotateZ(4deg);
  transition-property: transform;
}

.tooltipster-swing.tooltipster-show {
  opacity: 1;
  transform: rotateZ(0deg);
  transition-timing-function: cubic-bezier(0.23, 0.635, 0.495, 2.4);
}

/* fall */

.tooltipster-fall {
  transition-property: top;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.tooltipster-fall.tooltipster-initial {
  top: 0 !important;
}

.tooltipster-fall.tooltipster-dying {
  transition-property: all;
  top: 0 !important;
  opacity: 0;
}

/* slide */

.tooltipster-slide {
  transition-property: left;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.tooltipster-slide.tooltipster-initial {
  left: -40px !important;
}

.tooltipster-slide.tooltipster-dying {
  transition-property: all;
  left: 0 !important;
  opacity: 0;
}

/* Update animations */

/* We use animations rather than transitions here because
 transition durations may be specified in the style tag due to
 animationDuration, and we try to avoid collisions and the use
 of !important */

/* fade */

@-webkit-keyframes tooltipster-fading {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes tooltipster-fading {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.tooltipster-update-fade {
  -webkit-animation: tooltipster-fading 400ms;
          animation: tooltipster-fading 400ms;
}

/* rotate */

@-webkit-keyframes tooltipster-rotating {
  25% {
    transform: rotate(-2deg);
  }

  75% {
    transform: rotate(2deg);
  }

  100% {
    transform: rotate(0);
  }
}

@keyframes tooltipster-rotating {
  25% {
    transform: rotate(-2deg);
  }

  75% {
    transform: rotate(2deg);
  }

  100% {
    transform: rotate(0);
  }
}

.tooltipster-update-rotate {
  -webkit-animation: tooltipster-rotating 600ms;
          animation: tooltipster-rotating 600ms;
}

/* scale */

@-webkit-keyframes tooltipster-scaling {
  50% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes tooltipster-scaling {
  50% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

.tooltipster-update-scale {
  -webkit-animation: tooltipster-scaling 600ms;
          animation: tooltipster-scaling 600ms;
}

/**
 * DEFAULT STYLE OF THE SIDETIP PLUGIN
 *
 * All styles are "namespaced" with .tooltipster-sidetip to prevent
 * conflicts between plugins.
 */

/* .tooltipster-box */

.tooltipster-sidetip .tooltipster-box {
  background: #3C3C3C;
  border: 2px solid #3C3C3C;
  border-radius: 4px;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-box {
  margin-top: 8px;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-box {
  margin-right: 8px;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-box {
  margin-left: 8px;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-box {
  margin-bottom: 8px;
}

/* .tooltipster-content */

.tooltipster-sidetip .tooltipster-content {
  color: white;
  font-size: 0.75rem;
  padding: 5px 10px;
}

/* .tooltipster-arrow : will keep only the zone of .tooltipster-arrow-uncropped that
corresponds to the arrow we want to display */

.tooltipster-sidetip .tooltipster-arrow {
  overflow: hidden;
  position: absolute;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
  height: 10px;
  /* half the width, for centering */
  margin-left: -10px;
  top: 0;
  width: 20px;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow {
  height: 20px;
  margin-top: -10px;
  right: 0;
  /* top 0 to keep the arrow from overflowing .tooltipster-base when it has not
  been positioned yet */
  top: 0;
  width: 10px;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {
  height: 20px;
  margin-top: -10px;
  left: 0;
  /* same as .tooltipster-left .tooltipster-arrow */
  top: 0;
  width: 10px;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
  bottom: 0;
  height: 10px;
  margin-left: -10px;
  width: 20px;
}

/* common rules between .tooltipster-arrow-background and .tooltipster-arrow-border */

.tooltipster-sidetip .tooltipster-arrow-background,
.tooltipster-sidetip .tooltipster-arrow-border {
  height: 0;
  position: absolute;
  width: 0;
}

/* .tooltipster-arrow-background */

.tooltipster-sidetip .tooltipster-arrow-background {
  border: 10px solid transparent;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {
  border-bottom-color: #3C3C3C;
  left: 0;
  top: 3px;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {
  border-left-color: #3C3C3C;
  left: -3px;
  top: 0;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {
  border-right-color: #3C3C3C;
  left: 3px;
  top: 0;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
  border-top-color: #3C3C3C;
  left: 0;
  top: -3px;
}

/* .tooltipster-arrow-border */

.tooltipster-sidetip .tooltipster-arrow-border {
  border: 10px solid transparent;
  left: 0;
  top: 0;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border {
  border-bottom-color: black;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border {
  border-left-color: black;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border {
  border-right-color: black;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border {
  border-top-color: black;
}

/* tooltipster-arrow-uncropped */

.tooltipster-sidetip .tooltipster-arrow-uncropped {
  position: relative;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped {
  top: -10px;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped {
  left: -10px;
}

@font-face {
  font-family: "Syne Regular";
  src: url(/fonts/Syne-Regular.woff2?fffc55f5c3d60fcd908f719ba6556fb1) format("woff2"), url(/fonts/Syne-Regular.woff?0adbcc2af5c9fedcaee53079a79b5ca6) format("woff");
  font-weight: normal;
  font-style: normal;
}

/*********************************************************************************************

x. CSS Reset

*********************************************************************************************/

* {
  margin: 0;
  padding: 0;
  min-height: 0;
  outline: none;
}

/*********************************************************************************************

x. Basic Setup (Body, Fonts, etc.)

********************************************************************************************/

html,
body {
  font: 16px "DM Sans", Arial, Helvetica, sans-serif;
  font-variant-numeric: lining-nums;
  color: #3C3C3C;
  width: auto;
  height: 100%;
  background: white;
}

a {
  color: red;
}

a.label-left .label {
  margin: 0 5px 0 0;
}

a.label-right .label {
  margin: 0 0 0 5px;
}

a.expandable-content-link {
  color: #3C3C3C;
  text-decoration: none;
  padding: 0 20px 0 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
  position: relative;
}

a.expandable-content-link:after {
  content: "\F3D0";
  font-family: "Ionicons" !important;
  font-size: 14px;
  display: block;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
}

a.expandable-content-link:hover .count {
  background: #9E9E9E;
}

a.expandable-content-link.is-invalid {
  color: #FC6769;
}

a.expandable-content-link.open:after {
  transform: translateY(-50%) rotate(180deg);
}

a.expandable-content-link .count {
  color: white;
  font-size: 0.4em;
  line-height: 25px;
  text-align: center;
  width: 25px;
  height: 25px;
  background: #3C3C3C;
  border-radius: 50%;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

a.expandable-content-link .count.hidden {
  display: none;
}

a.icon {
  color: #9E9E9E;
  text-decoration: none;
}

a.icon:hover {
  color: #3C3C3C;
}

a.icon:hover span.icon svg {
  fill: #3C3C3C;
}

a.icon span.icon {
  width: 20px;
  height: 20px;
  margin: 0 5px 0 0;
}

a.icon span.icon svg {
  fill: #9E9E9E;
}

a .icon,
a .label {
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

a:hover {
  color: red;
}

a img {
  border: none;
}

#app {
  min-height: 100%;
}

.center {
  text-align: center;
}

.clear:after {
  content: ".";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}

.gray {
  color: #9E9E9E;
}

h1,
h2,
h3,
h4,
h5 {
  color: #9E9E9E;
  font-weight: normal;
  line-height: 1em;
}

h1.fuscous-gray,
h2.fuscous-gray,
h3.fuscous-gray,
h4.fuscous-gray,
h5.fuscous-gray {
  color: #3C3C3C;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
  color: #9E9E9E;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover {
  color: #9E9E9E;
}

h1 a.add-new,
h2 a.add-new,
h3 a.add-new,
h4 a.add-new,
h5 a.add-new {
  font-size: 0.75rem;
  margin: 0 0 0 10px;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: bottom;
  position: relative;
  top: 5px;
}

h1 a.add-new:hover,
h2 a.add-new:hover,
h3 a.add-new:hover,
h4 a.add-new:hover,
h5 a.add-new:hover {
  color: #3C3C3C;
}

h1 {
  font-size: 2.813em;
}

h2 {
  font-size: 1.875em;
}

h2 i {
  font-size: 1.5rem;
  margin: 0 10px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

h3 {
  font-size: 1.375em;
  line-height: 1.5em;
}

h4 {
  font-size: 1.124em;
  line-height: 1.5em;
}

h5 {
  font-size: 1em;
  line-break: 1.5em;
}

.image.user {
  border-radius: 50%;
  display: block;
  position: relative;
  overflow: hidden;
}

.image.user img {
  width: 100%;
  height: 100%;
}

.image img,
.image svg {
  width: 100%;
  height: auto;
  display: block;
}

.left {
  float: left;
}

p {
  line-height: 1.5em;
}

p.label {
  color: #9E9E9E;
  font-size: 0.75em;
  margin-top: -10px;
  display: block;
}

p.small {
  font-size: 0.75em;
}

.red {
  color: #FC6769;
}

.right {
  float: right;
}

span.fuscous-gray {
  color: #3C3C3C;
}

span.pastel-red {
  color: #FC6769;
}

svg {
  display: block;
  overflow: hidden;
}

.uppercase {
  text-transform: uppercase;
}

.wrapper {
  position: relative;
}

.wrapper.border-bottom {
  border-bottom: 2px solid #C5C5C5;
  padding-bottom: 50px;
}

.wrapper.border-top {
  border-top: 2px solid #C5C5C5;
  padding-top: 50px;
}

/*********************************************************************************************

x. Margin + Padding

*********************************************************************************************/

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6,
.content ol,
.content p,
.content ul {
  margin-bottom: 20px;
}

.no-margin {
  margin: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

/*********************************************************************************************

x. Button

*********************************************************************************************/

.button {
  color: white;
  font-size: 0.75rem;
  letter-spacing: 0.025em;
  line-height: 35px;
  text-decoration: none;
  white-space: nowrap;
  width: auto;
  height: 35px;
  background: #3C3C3C;
  border: none;
  border-radius: 17.5px;
  padding: 0 20px;
  display: inline-block;
  zoom: 1;
  *display: inline;
  cursor: pointer;
}

.button.small {
  color: white;
  font-size: 0.625rem;
  line-height: 1em;
  width: auto;
  height: auto;
  border-radius: 9999px;
  padding: 7.5px 10px;
}

.button.small:hover {
  color: white;
  background: #646464;
}

.button:hover {
  color: #3C3C3C;
  background: #F6FCC7;
}

/*********************************************************************************************

x. Columns & Widths

*********************************************************************************************/

.columns {
  margin: 0 -30px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}

.columns.borders {
  margin: 0 -50px;
}

.columns.borders:first-child {
  margin-top: 0;
}

.columns.borders .column .inside {
  padding: 0 50px;
}

.columns.jammed {
  margin: 0 -25px;
}

.columns.jammed .column .inside {
  padding: 0 25px;
}

.columns.no-negative-top-margin {
  margin-top: 0 !important;
}

.columns:first-child {
  margin-top: -30px;
}

.columns .column.border-right {
  border-right: 2px solid #C5C5C5;
  box-sizing: border-box;
}

.columns .column.border-right:last-child {
  border-right: none;
}

.columns .column.right {
  margin-left: auto !important;
  float: none;
}

.columns .column .inside {
  padding: 30px 30px 0 30px;
}

.width-10 {
  width: 10%;
}

.width-15 {
  width: 15%;
}

.width-16 {
  width: 16.66%;
}

.width-20 {
  width: 20%;
}

.width-25 {
  width: 25%;
}

.width-28 {
  width: 28.33%;
}

.width-26 {
  width: 26%;
}

.width-30 {
  width: 30%;
}

.width-33 {
  width: 33.33%;
}

.width-35 {
  width: 35%;
}

.width-37 {
  width: 37%;
}

.width-40 {
  width: 40%;
}

.width-45 {
  width: 45%;
}

.width-50 {
  width: 50%;
}

.width-55 {
  width: 55%;
}

.width-60 {
  width: 60%;
}

.width-65 {
  width: 65%;
}

.width-66 {
  width: 66.66%;
}

.width-70 {
  width: 70%;
}

.width-74 {
  width: 74%;
}

.width-75 {
  width: 75%;
}

.width-80 {
  width: 80%;
}

.width-85 {
  width: 85%;
}

.width-90 {
  width: 80%;
}

.width-95 {
  width: 95%;
}

.width-100 {
  width: 100%;
}

/*********************************************************************************************

x. Content

*********************************************************************************************/

.content {
  margin: 0 0 30px 0;
}

.content:last-child {
  margin-bottom: 0;
}

.content.quill ol,
.content.quill ul {
  margin-left: 40px;
}

.content.white {
  color: white;
}

.content ol,
.content ul {
  margin-left: 40px;
}

.content ol li,
.content ul li {
  line-height: 1.5em;
}

.content > :last-child {
  margin-bottom: 0 !important;
}

/*********************************************************************************************

x. Expandable Content

*********************************************************************************************/

.expandable-content {
  padding: 0 0 30px 0;
  display: none;
}

.expandable-content.is-invalid,
.expandable-content.open {
  display: block;
}

/*********************************************************************************************

x. Footer

*********************************************************************************************/

footer {
  text-align: center;
  background: #F5F2E7;
  padding: 20px 30px;
  display: none;
}

footer .navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

footer .navigation li a {
  display: block;
}

footer .navigation li a:hover svg {
  fill: #3C3C3C;
}

footer .navigation li a svg {
  fill: #9E9E9E;
  width: auto;
  height: 20px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

footer .navigation li .billable-internal {
  font-size: 0;
  margin: 15px 0 0 0;
  padding: 0 10px;
  list-style: none;
}

footer .navigation li .billable-internal li {
  color: #3C3C3C;
  font-size: 0.75rem;
  border-top: none;
  margin: 0 10px 0 0;
  padding: 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

footer .navigation li .billable-internal li:last-child {
  margin-right: 0;
}

footer .navigation li .billable-internal li .label {
  color: #9E9E9E;
  margin: 2.5px 0 0 0;
}

footer .navigation li .label {
  margin: 0 0 15px 0;
  display: block;
}

/*********************************************************************************************

x. Holidays Pop-Up

*********************************************************************************************/

.holidays-pop-up {
  pointer-events: none;
  background: rgba(100, 100, 100, 0);
  padding: 70px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: background 0.25s ease 0.125s;
}

.holidays-pop-up.open {
  pointer-events: all;
  background: rgba(100, 100, 100, 0.9);
  transition: background 0.25s ease;
}

.holidays-pop-up.open .wrapper {
  transform: translateY(0);
  transition: transform 0.25s ease 0.125s;
}

.holidays-pop-up .close {
  position: absolute;
  top: 60px;
  right: 50px;
}

.holidays-pop-up .close a {
  display: block;
}

.holidays-pop-up .close a svg {
  fill: #646464;
  width: 10px;
  height: auto;
}

.holidays-pop-up .close a:hover svg {
  fill: #3C3C3C;
}

.holidays-pop-up .wrapper {
  width: 600px;
  height: auto;
  background: #ECECEC;
  border-radius: 20px;
  margin: 0 auto;
  padding: 50px 60px;
  box-sizing: border-box;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  -o-transform: 0 3px 6px rgba(0, 0, 0, 0.25);
  -ms-transform: 0 3px 6px rgba(0, 0, 0, 0.25);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  transform: translateY(-200%);
  transition: transform 0.25s ease;
}

/*********************************************************************************************

x. Search Pop-Up

*********************************************************************************************/

.search-pop-up {
  pointer-events: none;
  background: rgba(100, 100, 100, 0);
  padding: 70px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: background 0.25s ease 0.125s;
}

.search-pop-up.open {
  pointer-events: all;
  background: rgba(100, 100, 100, 0.9);
  transition: background 0.25s ease;
}

.search-pop-up.open .wrapper {
  transform: translateY(0);
  transition: transform 0.25s ease 0.125s;
}

.search-pop-up form {
  padding: 0 50px;
  position: relative;
}

.search-pop-up form .close {
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 10px;
}

.search-pop-up form .close a {
  display: block;
}

.search-pop-up form .close a svg {
  fill: #646464;
  width: 10px;
  height: auto;
}

.search-pop-up form .close a:hover svg {
  fill: #3C3C3C;
}

.search-pop-up form .icon {
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 10px;
}

.search-pop-up form .icon svg {
  fill: #646464;
}

.search-pop-up form input[type=text] {
  width: 100%;
  height: 50px;
  border-bottom: 0;
  margin: 0;
  padding: 0;
}

.search-pop-up .results .columns .column:first-child:last-child .inside {
  padding: 0;
}

.search-pop-up .results .columns .column:first-child .inside {
  padding: 0 50px 0 0;
}

.search-pop-up .results .columns .column:last-child .inside {
  padding: 0 0 0 50px;
}

.search-pop-up .results .content {
  padding: 0 10px;
}

.search-pop-up .results .list {
  list-style: none;
}

.search-pop-up .results .list li.result {
  padding: 10px;
  position: relative;
}

.search-pop-up .results .list li.result.icon {
  padding: 10px 10px 10px 40px;
}

.search-pop-up .results .list li.result:hover {
  background: #F6FCC7;
}

.search-pop-up .results .list li.result a {
  color: #3C3C3C;
  text-decoration: none;
  display: block;
}

.search-pop-up .results .list li.result a.icon {
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 10px;
}

.search-pop-up .results .list li.result a.icon:hover svg {
  fill: #3C3C3C;
}

.search-pop-up .results .list li.result a.icon svg {
  fill: #646464;
  width: auto;
  height: 20px;
}

.search-pop-up .results .list li.result a:hover {
  color: #3C3C3C;
}

.search-pop-up .results .list li.title {
  margin: 0 0 10px 0;
  padding: 0 10px;
}

.search-pop-up .results .scroller {
  max-height: calc(100vh - 320px);
  overflow: auto;
  overflow-x: hidden;
}

.search-pop-up .results .spacer {
  width: 100%;
  height: 30px;
}

.search-pop-up .wrapper {
  background: #ECECEC;
  border-radius: 20px;
  margin: 0 auto;
  padding: 50px 60px;
  box-sizing: border-box;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  -o-transform: 0 3px 6px rgba(0, 0, 0, 0.25);
  -ms-transform: 0 3px 6px rgba(0, 0, 0, 0.25);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  transform: translateY(-200%);
  transition: transform 0.25s ease;
}

/*********************************************************************************************

x. Header

*********************************************************************************************/

header {
  text-align: center;
  background: #F5F2E7;
  width: 200px;
  height: auto;
  padding: 50px 0 0 0;
  transition: width 0.5s ease;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
}

header .bottom-navigation {
  list-style: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

header .bottom-navigation li {
  border-top: 2px solid white;
  padding: 25px 0;
  display: block;
}

header .bottom-navigation li:first-child {
  border-top: none;
  padding-top: 0;
}

header .bottom-navigation li a {
  display: block;
}

header .bottom-navigation li a:hover svg {
  fill: #3C3C3C;
}

header .bottom-navigation li a svg {
  fill: #9E9E9E;
  width: auto;
  height: 20px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

header .bottom-navigation li .billable-internal {
  font-size: 0;
  margin: 15px 0 0 0;
  padding: 0 10px;
  list-style: none;
}

header .bottom-navigation li .billable-internal li {
  color: #3C3C3C;
  font-size: 0.75rem;
  border-top: none;
  margin: 0 10px 0 0;
  padding: 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

header .bottom-navigation li .billable-internal li:last-child {
  margin-right: 0;
}

header .bottom-navigation li .billable-internal li .label {
  color: #9E9E9E;
  margin: 2.5px 0 0 0;
}

header .bottom-navigation li .label {
  margin: 0 0 15px 0;
  display: block;
}

header .image {
  width: 100px;
  height: 100px;
  margin: 0 auto 30px auto;
}

header .top-navigation {
  margin: 30px 0 0 0;
  list-style: none;
}

header .top-navigation li {
  margin: 0 0 15px 0;
  display: block;
}

header .top-navigation li:last-child {
  margin-bottom: 0;
}

header .top-navigation li a {
  display: block;
}

header .top-navigation li a:hover svg {
  fill: #3C3C3C;
}

header .top-navigation li a svg {
  fill: #9E9E9E;
  width: auto;
  height: 25px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

/*********************************************************************************************

x. Main

*********************************************************************************************/

main {
  width: auto;
  height: 100%;
  min-height: 100%;
  margin: 0 0 0 200px;
  padding: 100px 70px 70px 70px;
  display: block;
  transition: margin 0.5s ease;
}

main section {
  margin: 0 0 50px 0;
}

main section:last-child {
  margin-bottom: 0;
}

main section.border-bottom,
main section.border-top {
  margin-left: -70px;
  margin-right: -70px;
  padding-left: 70px;
  padding-right: 70px;
}

main section.border-bottom {
  border-bottom: 2px solid #ECECEC;
  padding-bottom: 50px;
}

main section.border-bottom:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

main section.border-top {
  border-top: 2px solid #ECECEC;
  padding-top: 50px;
}

main section.border-top:first-child {
  border-top: none;
  padding-top: 0;
}

main section .area.hidden {
  display: none;
}

.has-sidebar main {
  padding-right: 120px;
}

.open-sidebar.no-animation main {
  transition: none !important;
  transition-delay: 0 !important;
}

.open-sidebar main {
  margin-right: 400px;
}

/*********************************************************************************************

x. Aside

*********************************************************************************************/

aside {
  background: #3C3C3C;
  width: 400px;
  height: auto;
  padding: 0 0 0 50px;
  transform: translateX(400px);
  transition: transform 0.5s ease;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 30;
}

aside .area.hidden {
  display: none;
}

aside .area .button.small {
  color: white;
  background: #646464;
}

aside .area .button.small:hover {
  background: #838383;
}

aside .area .content {
  color: white;
}

aside .area .content.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

aside .area .content.flex h3 {
  margin: 0 20px 0 0;
}

aside .area .content.small-margin {
  margin: 0 0 5px 0;
}

aside .area .content h3 sup {
  font-size: 0.636em;
  margin: 0 0 0 5px;
}

aside .area .content p {
  font-size: 0.778em;
}

aside .area table.table.jammed {
  color: white !important;
  font-size: 0.813em;
  width: 100%;
  margin: 0 0 20px 0;
}

aside .area table.table.jammed:last-child {
  margin: 0;
}

aside .area table.table.jammed td.divider .divider {
  width: 100%;
  height: 2px;
  background: #363636;
}

aside .area table.table.jammed td.divider .divider.dashed {
  width: calc(100% + 80px);
  height: 0;
  border-top: 2px dashed #363636;
  background: transparent;
}

aside .area table.table.jammed td a {
  color: white;
}

aside .area table.table.jammed td a:hover {
  color: #F6FCC7;
}

aside .area table.table.jammed th {
  font-size: 1em;
}

aside .area table.table.jammed tr.gray {
  background: rgba(0, 0, 0, 0.05);
}

aside .area table.table.jammed tr:first-child td.divider {
  display: none;
}

aside .scroller {
  position: absolute;
  top: 90px;
  bottom: 30px;
  left: 90px;
  right: 40px;
  overflow: auto;
  overflow-x: hidden;
}

aside .scroller.no-tabs {
  top: 50px;
}

aside .opener {
  display: block;
  background: #646464;
  width: 50px;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

aside .opener:after {
  content: "\F117";
  color: #9E9E9E;
  font-family: "Ionicons" !important;
  font-size: 2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translateX(-50%) translateY(-50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

aside ul.options.icons {
  top: 0;
}

aside ul.options.icons li a:hover svg {
  fill: #F6FCC7;
}

aside ul.options.icons li a svg {
  height: 16px;
}

.open-sidebar.no-animation aside {
  transition: none !important;
  transition-delay: 0 !important;
}

.open-sidebar aside {
  transform: translateX(0);
}

.open-sidebar aside .opener:after {
  content: "\F119";
}

/*********************************************************************************************

x. Aside: Tabs

*********************************************************************************************/

aside .tabs .navigation {
  list-style: none;
}

aside .tabs .navigation li.current-menu-item a {
  color: #9E9E9E;
  background: none;
}

aside .tabs .navigation li a {
  color: #9E9E9E;
  font-size: 0.75em;
  line-height: 50px;
  text-decoration: none;
  width: auto;
  height: 50px;
  background: #646464;
  display: block;
  padding: 0 20px;
  position: relative;
}

/*********************************************************************************************

x. Footer

*********************************************************************************************/

footer {
  /*
  width: auto; height: auto;
  margin: 50px 0 0 200px;
  display: block;
     */
}

/*********************************************************************************************

x. Alert

*********************************************************************************************/

section.alert {
  font-size: 0.75em;
  border-bottom: 2px solid white;
  margin: -100px -70px 100px -70px;
  padding: 20px 0;
}

section.alert.alert-failed {
  background: #F5E5E5;
}

section.alert.alert-success {
  background: #E8F8EE;
}

.alert + .tabs {
  margin-top: -100px;
}

/*********************************************************************************************

x. Arrow Link

*********************************************************************************************/

a.arrow:after {
  content: "\F119";
  font-family: "Ionicons" !important;
  font-size: 2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 0 0 10px;
  display: inline-block;
  zoom: 1;
  *display: inline;
  position: relative;
  top: 0.2em;
}

/*********************************************************************************************

x. Birthday Screen

*********************************************************************************************/

#birthday-screen {
  background: rgba(246, 252, 199, 0.9);
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 30;
}

#birthday-screen .instructions {
  width: auto;
  height: 20vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
}

#birthday-screen .instructions .content {
  color: black;
  padding: 50px;
}

#birthday-screen .instructions .content .button {
  background: black;
}

#birthday-screen .instructions .content .button:hover {
  color: white;
  background: #3C3C3C;
}

#birthday-screen .marquee {
  width: 100%;
  height: 20vh;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

#birthday-screen .marquee:nth-child(1) .inside,
#birthday-screen .marquee:nth-child(3) .inside {
  -webkit-animation: marquee-forwards 180s linear infinite;
          animation: marquee-forwards 180s linear infinite;
}

#birthday-screen .marquee:nth-child(1) .inside .content h1,
#birthday-screen .marquee:nth-child(3) .inside .content h1 {
  margin: 0 10vh 0 0;
}

#birthday-screen .marquee:nth-child(2),
#birthday-screen .marquee:nth-child(4) {
  justify-content: flex-end;
}

#birthday-screen .marquee:nth-child(2) .inside,
#birthday-screen .marquee:nth-child(4) .inside {
  -webkit-animation: marquee-backwards 180s linear infinite;
          animation: marquee-backwards 180s linear infinite;
}

#birthday-screen .marquee:nth-child(2) .inside .content h1,
#birthday-screen .marquee:nth-child(4) .inside .content h1 {
  margin: 0 0 0 10vh;
}

#birthday-screen .marquee:nth-child(2) {
  top: 20vh;
}

#birthday-screen .marquee:nth-child(3) {
  top: 40vh;
}

#birthday-screen .marquee:nth-child(4) {
  top: 60vh;
}

#birthday-screen .marquee .inside .content {
  white-space: nowrap;
  display: flex;
}

#birthday-screen .marquee .inside .content h1 {
  color: black;
  font-size: 12.5vh;
  line-height: 20vh;
  display: flex;
  align-items: center;
}

/*********************************************************************************************

x. Form

*********************************************************************************************/

form ::-moz-placeholder {
  color: #3C3C3C;
  opacity: 1;
}

form :-ms-input-placeholder {
  color: #3C3C3C;
  opacity: 1;
}

form ::placeholder {
  color: #3C3C3C;
  opacity: 1;
}

form button {
  color: white;
  ffamily: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: 0.75rem;
  font-variant-numeric: lining-nums;
  letter-spacing: 0.025em;
  white-space: nowrap;
  background: #3C3C3C;
  border: none;
  border-radius: 17.5px;
  padding: 10px 20px;
  display: block;
  cursor: pointer;
}

form button:hover {
  color: #3C3C3C;
  background: #F6FCC7;
}

form .dates {
  width: 400px;
  height: auto;
  max-width: 100%;
  display: flex;
}

form .dates.wide {
  width: 100%;
}

form .dates:not(:last-child) {
  margin: 0 25px 0 0;
}

form .dates .date {
  width: 50%;
  height: auto;
  border: 2px solid #C5C5C5;
  padding: 15px;
  box-sizing: border-box;
  position: relative;
}

form .dates .date:first-child {
  border-right: none;
}

form .dates .date input[type=text] {
  line-height: normal;
  height: auto;
  border: none;
  padding: 0 0 0 35px;
}

form .dates .date:before {
  content: "\F3F4";
  color: #3C3C3C;
  font-size: 22px;
  font-family: "Ionicons" !important;
  line-height: 50px;
  text-align: center;
  width: 50px;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

form .dollar {
  margin: 0 0 10px 0;
  position: relative;
}

form .dollar input[type=email],
form .dollar input[type=number],
form .dollar input[type=password],
form .dollar input[type=text] {
  padding-left: 30px;
}

form .dollar .symbol {
  font-size: 0.75rem;
  line-height: 20px;
  text-align: center;
  width: 20px;
  height: 20px;
  background: #C5C5C5;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
}

form .error {
  color: #FC6769;
  font-size: 0.75em;
  line-height: 1.25em;
  margin: 10px 0 0 0;
  display: block;
}

form .errors {
  list-style: none;
}

form .errors li {
  color: #FC6769;
  font-size: 0.75em;
}

form label {
  color: #9E9E9E;
  font-size: 0.75em;
  line-height: 1em;
  display: block;
}

form label.checkbox,
form label.radio {
  color: #3C3C3C;
  font-size: 0.889rem;
}

form label.checkbox.label-left input[type=checkbox],
form label.checkbox.label-left input[type=radio],
form label.radio.label-left input[type=checkbox],
form label.radio.label-left input[type=radio] {
  margin: 0 0 0 10px;
}

form label.checkbox.label-right input[type=checkbox],
form label.checkbox.label-right input[type=radio],
form label.radio.label-right input[type=checkbox],
form label.radio.label-right input[type=radio] {
  margin: 0 10px 0 0;
}

form label.large {
  font-size: 1em;
}

form label.hidden {
  visibility: hidden;
  margin: 0 0 10px 0;
}

form input[type=email],
form input[type=number],
form input[type=password],
form input[type=text] {
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-variant-numeric: lining-nums;
  line-height: 30px;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  height: 30px;
  background: none;
  border: none;
  border-bottom: 2px solid #C5C5C5;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  display: block;
  overflow: hidden;
}

form input[type=email]:disabled,
form input[type=number]:disabled,
form input[type=password]:disabled,
form input[type=text]:disabled {
  color: #3C3C3C;
}

form input[type=email]:last-child,
form input[type=number]:last-child,
form input[type=password]:last-child,
form input[type=text]:last-child {
  margin-bottom: 0;
}

form input[type=email].large,
form input[type=number].large,
form input[type=password].large,
form input[type=text].large {
  font-size: 1.875em;
  height: 45px;
}

form .is-invalid {
  color: #FC6769;
}

form .is-invalid .dollar .symbol {
  color: white;
  background: #FC6769;
}

form .is-invalid input[type=email],
form .is-invalid input[type=number],
form .is-invalid input[type=password],
form .is-invalid input[type=text] {
  color: #FC6769;
  border-color: #FC6769;
}

form .is-invalid label {
  color: #FC6769;
}

form .is-invalid .override .overlay {
  display: none;
}

form .multiselect-checkboxes {
  position: relative;
}

form .multiselect-checkboxes.open span.values:after {
  transform: translateY(-50%) rotate(180deg);
}

form .multiselect-checkboxes .dropdown {
  width: auto;
  height: auto;
  max-height: 500px !important;
  background: white;
  border: 1px solid #C5C5C5;
  box-shadow: 0 3px 6px #ccc;
  display: none;
  list-style: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 999;
  overflow-y: auto;
}

form .multiselect-checkboxes .dropdown li {
  padding: 10px 15px;
}

form .multiselect-checkboxes .dropdown li:hover {
  background: #F6FCC7;
}

form .multiselect-checkboxes .dropdown li.checked {
  background: #F6FCC7;
}

form .multiselect-checkboxes .dropdown li label.checkbox,
form .multiselect-checkboxes .dropdown li label.radio {
  font-size: 12px;
}

form .multiselect-checkboxes span.values {
  font-variant-numeric: lining-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  height: 30px;
  background: none;
  border-bottom: 2px solid #C5C5C5;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 0 15px 10px 0;
  display: block;
  position: relative;
  overflow: hidden;
  cursor: default;
}

form .multiselect-checkboxes span.values:after {
  content: "\F3D0";
  color: #3C3C3C;
  font-size: 14px;
  font-family: "Ionicons" !important;
  transform: translateY(-50%);
  position: absolute;
  top: 40%;
  right: 0;
}

form .multiselect-checkboxes span.values span.placeholder {
  display: block;
}

form .multiselect-checkboxes span.values span.placeholder.hidden {
  display: none;
}

form .multiselect-checkboxes span.values span.value {
  margin: 0 5px 0 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

form .multiselect-checkboxes span.values span.value:after {
  content: ", ";
}

form .multiselect-checkboxes span.values span.value:last-child {
  margin-right: 0;
}

form .multiselect-checkboxes span.values span.value:last-child:after {
  display: none;
}

form .override,
form .preview {
  margin: 0 0 10px 0;
  position: relative;
}

form .override .overlay,
form .preview .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

form .override .overlay a.label,
form .preview .overlay a.label {
  font-size: 14px;
  text-align: center;
}

form .override .overlay a.label:hover,
form .preview .overlay a.label:hover {
  color: #3C3C3C;
}

form .override .overlay a.close,
form .preview .overlay a.close {
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 10px;
  z-index: 20;
}

form .override .overlay a.close:hover svg,
form .preview .overlay a.close:hover svg {
  fill: #3C3C3C;
}

form .override .overlay a.close svg,
form .preview .overlay a.close svg {
  fill: #9E9E9E;
}

form .override .overlay .label,
form .preview .overlay .label {
  color: #9E9E9E;
  line-height: 30px;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #ECECEC;
  padding: 0 30px 0 10px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  overflow: hidden;
}

form .override .overlay a.close svg {
  width: auto;
  height: 15px;
}

form .preview .overlay a.close svg {
  width: 8px;
  height: auto;
}

form .required {
  color: #FC6769;
  margin: 0 0 0 2.5px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

form textarea {
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-variant-numeric: lining-nums;
  line-height: 1.5em;
  width: 100%;
  height: 100px;
  background: none;
  border: none;
  border: 2px solid #C5C5C5;
  box-sizing: border-box;
  margin: 10px 0 0 0;
  padding: 10px;
  display: block;
  resize: vertical;
}

form textarea:last-child {
  margin-bottom: 0;
}

select {
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  width: 100%;
  height: 30px;
  background: none;
  border: none;
  border-bottom: 2px solid #C5C5C5;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  visibility: hidden;
  display: block;
}

select[data-action=select-or-die] {
  font-size: 1rem;
}

select[data-action=select-or-die-large] {
  font-size: 1.875em;
  height: 45px;
}

select:last-child {
  margin-bottom: 0;
}

/*********************************************************************************************

x. Name

*********************************************************************************************/

.name.large {
  font-size: 1.875em;
  line-height: 1em;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  height: 45px;
  border-bottom: 2px solid #C5C5C5;
  box-sizing: border-box;
  display: block;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  overflow: hidden;
}

.name.large:last-child {
  margin-bottom: 0;
}

/*********************************************************************************************

x. Options

*********************************************************************************************/

ul.options {
  font-size: 0;
  list-style: none;
  display: flex;
  align-items: center;
}

ul.options.dash li {
  line-height: normal;
  margin: 0 10px 0 0;
}

ul.options.dash li.dash:after {
  content: "";
  width: 10px;
  height: 2px;
  background: #C5C5C5;
  margin: 0 0 0 10px;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

ul.options.dash li.dash:last-child:after {
  display: none;
}

ul.options.dash li.right {
  order: 1;
  float: none;
}

ul.options.dash li:last-child {
  margin-right: 0;
}

ul.options:after {
  content: "";
  flex-grow: 1;
  order: 0;
}

ul.options.icons {
  text-align: right;
  width: auto;
  height: 20px;
  white-space: nowrap;
  position: relative;
  top: 2px;
}

ul.options.icons li {
  margin: 0 0 0 10px;
}

ul.options.icons li:first-child {
  margin-left: 0;
}

ul.options li {
  color: #9E9E9E;
  font-size: 0.75rem;
  line-height: normal;
  margin: 0 20px 0 0;
}

ul.options li.rotate {
  transform: rotate(45deg);
}

ul.options li:last-child {
  margin-right: 0;
}

ul.options li a {
  color: #9E9E9E;
  text-decoration: none;
  display: block;
}

ul.options li a.icon {
  color: #3C3C3C;
  text-decoration: none;
}

ul.options li a.icon:hover {
  color: #9E9E9E;
}

ul.options li a.icon:hover span.icon svg {
  fill: #9E9E9E;
}

ul.options li a.icon span.icon {
  width: 15px;
  height: 15px;
}

ul.options li a.icon span.icon svg {
  fill: #3C3C3C;
}

ul.options li a:hover {
  color: #3C3C3C;
}

ul.options li a:hover svg {
  fill: #3C3C3C;
}

ul.options li a svg {
  fill: #646464;
  width: auto;
  height: 20px;
}

/*********************************************************************************************

x. Table

*********************************************************************************************/

/*
table {
	line-height: 1.5em;
	width: 100%; height: auto;
	padding: 30px 0 0 0;
	&:first-child {
		padding-top: 0;
	}
	&.hover {
		tr {
            &.blue {
                &:hover {
                    td {
                        &:not(.no-hover) {
                            background: darken($solitude, 1.5%);
                        }
                    }
                }
            }
            &.green {
                &:hover {
                    td {
                        &:not(.no-hover) {
                            background: darken($tara, 1.5%);
                        }
                    }
                }
            }
			&.selected {
				td {
					&:not(.no-hover) {
						background: $ottoman;
                        background: $chiffon;
					}
				}
			}
			&:hover {
				td {
					&:not(.no-hover) {
						background: $ottoman;
                        background: $chiffon;
					}
				}
			}
		}
	}
	&.jammed {
        width: auto;
		td,
		th {
			padding: 5px 30px 5px 0;
		}
	}
    &.lines {
        &.spaced {
            &.hover {
                width: calc(100% + 140px);
                margin: 0 -70px;
                padding-top: 0;
                table {
                    td,
                    th {
                        background: none !important;
                        border: none !important;
                        padding: 15px 30px 15px 0 !important;
                    }
                    tr {
                        &:first-child {
                            td,
                            th {
                                padding-top: 0 !important;
                            }
                        }
                        &:last-child {
                            td,
                            th {
                                padding-bottom: 0 !important;
                            }
                        }
                    }
                }
                tbody {
                    border-collapse: collapse;
                    tr {

                    }
                }
                td,
                th {
                    padding: 30px !important;
                }
                td {
                    border-bottom: 1px solid $iron;
                    &:not(:last-child) {
                        border-right: 1px solid $iron;
                    }
                }
                th {
                    color: white;
                    font-size: 1em;
                    white-space: nowrap;
                    background-color: $storm-dust;
                    vertical-align: middle;
                    &.sorter {
                        background-image: url(../img/sort-arrows.svg);
                        background-position: right 30px center;
                        background-repeat: no-repeat;
                        background-size: 15px auto;
                        padding-right: 60px !important;
                    }
                    &.sorter-asc {
                        background-color: darken($storm-dust, 5%);
                        background-image: url(../img/sort-arrows-up.svg);
                    }
                    &.sorter-desc {
                        background-color: darken($storm-dust, 10%);
                        background-image: url(../img/sort-arrows-down.svg);
                    }
                    &:not(:last-child) {
                        border-right: 1px solid $charcoal;
                    }
                }
                tr {
                    &.blue {
                        td {
                            &:not(:last-child) {
                                border-color: darken($solitude, 5%);
                            }
                        }
                    }
                    &.green {
                        td {
                            &:not(:last-child) {
                                border-color: darken($tara, 10%);
                            }
                        }
                    }
                }
            }
        }
    }
	&.spaced {
		&.hover {
			width: calc(100% + 30px);
			margin: -15px;
			padding-top: 35px;
			td,
			th {
				&:first-child {
					padding-left: 15px;
				}
				&:last-child {
					padding-right: 15px;
				}
			}
			tr {
				&:first-child {
					td,
					th {
						padding-top: 15px;
					}
				}
				&:last-child {
					td,
					th {
						padding-bottom: 15px;
					}
				}
			}
		}
		td,
		th {
			padding: 15px 30px 15px 0;
		}
	}
	a {
		color: $fuscous-gray;
		&:hover {
			color: $fuscous-gray;
		}
	}
	td,
	th {
		text-align: left;
        padding: 5px 10px;
		vertical-align: top;
        &.scrunched {
            white-space: nowrap;
            width: 0; height: auto;
        }
        &.centered {
            vertical-align: middle;
        }
		&.gray {
			color: $star-dust;
		}
		&.label {
			text-align: right;
		}
        &:first-child {
            padding-left: 0;
        }
		&:last-child {
			padding-right: 0;
		}
	}
	td {
		.divider {
			width: 100%; height: 2px;
			background: $pumice;
		}
	}
	th {
		color: $star-dust;
		font-size: 0.750em;
		font-weight: normal;
		white-space: nowrap;
	}
	tr {
        &.blue {
            td {
                background: $solitude;
            }
        }
        &.gray {
            td {
                background: rgba(0, 0, 0, 0.035);
            }
        }
        &.green {
            td {
                background: $tara;
            }
        }
		&:first-child {
			td,
			th {
				padding-top: 0;
			}
		}
		&:last-child {
			td,
			th {
				padding-bottom: 0;
			}
		}
	}
}
*/

table.table {
  line-height: 1.5em;
  width: calc(100% + 30px);
  height: auto;
  margin: 0 -15px;
}

table.table.hover tr.blue:hover td:not(.no-hover) {
  background: #e3edfe;
}

table.table.hover tr.green:hover td:not(.no-hover) {
  background: #ddf4e4;
}

table.table.hover tr.selected td:not(.no-hover) {
  background: #F6FCC7;
}

table.table.hover tr:hover td:not(.no-hover) {
  background: #F6FCC7;
}

table.table.jammed {
  width: auto;
  margin: 0;
}

table.table.jammed td,
table.table.jammed th {
  padding: 7.5px 30px 7.5px 0;
}

table.table.jammed td:last-child,
table.table.jammed th:last-child {
  padding-right: 0;
}

table.table.jammed tr:first-child td,
table.table.jammed tr:first-child th {
  padding-top: 0 !important;
}

table.table.jammed tr:last-child td,
table.table.jammed tr:last-child th {
  padding-bottom: 0 !important;
}

table.table.jammed tr:not(:last-child) td,
table.table.jammed tr:not(:last-child) th {
  border-bottom: none;
}

table.table.no-lines td,
table.table.no-lines th {
  border-bottom: none !important;
}

table.table.no-lines tr:first-child td,
table.table.no-lines tr:first-child th {
  padding-top: 0 !important;
}

table.table.no-lines tr:last-child td,
table.table.no-lines tr:last-child th {
  padding-bottom: 0 !important;
}

table.table a {
  color: #3C3C3C;
}

table.table a:hover {
  color: #3C3C3C;
}

table.table tr.blue td {
  background: #EAF2FE;
}

table.table tr.gray td {
  background: rgba(0, 0, 0, 0.035);
}

table.table tr.green td {
  background: #E3F6E9;
}

table.table tr:not(:last-child) td,
table.table tr:not(:last-child) th {
  border-bottom: 2px solid #f2f2f2;
}

table.table tr:not(:last-child) td.divider,
table.table tr:not(:last-child) th.divider {
  border-bottom: none;
}

table td,
table th {
  text-align: left;
  vertical-align: top;
  padding: 15px;
}

table td.centered,
table th.centered {
  vertical-align: middle;
}

table td.gray,
table th.gray {
  color: #9E9E9E;
}

table td.label,
table th.label {
  text-align: right;
}

table td.scrunched,
table th.scrunched {
  white-space: nowrap;
  width: 0;
  height: auto;
}

table th {
  color: #9E9E9E;
  font-size: 0.75em;
  font-weight: normal;
  white-space: nowrap;
}

/*********************************************************************************************

x. Tabs

*********************************************************************************************/

ul.tabs {
  margin: 0 -25px 25px 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

ul.tabs:after {
  content: "";
  flex-grow: 1;
  order: 0;
}

ul.tabs li {
  margin: 0 25px 15px 0;
}

ul.tabs li.current-menu-item a.button.small {
  color: white;
  background: #3C3C3C;
}

ul.tabs li.current-menu-item a.button.small:hover {
  background: #3C3C3C;
}

ul.tabs li.right {
  order: 1;
  float: none;
}

ul.tabs li a.button.small {
  color: #838383;
  background: #ECECEC;
}

ul.tabs li a.button.small:hover {
  background: #e6e6e6;
}

/*********************************************************************************************

x. Tooltip

*********************************************************************************************/

.tooltip {
  margin: 0 0 2.5px 0;
  padding: 0 0 5px 0;
  position: relative;
}

.tooltip .arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #3C3C3C transparent transparent transparent;
  position: absolute;
  bottom: 0;
}

.tooltip .tooltip-inner {
  color: white;
  font-size: 0.75em;
  background: #3C3C3C;
  border-radius: 3px;
  padding: 5px 10px;
}

/*********************************************************************************************

x. Users

*********************************************************************************************/

ul.users {
  margin: 0 -2.5px 7.5px 0;
  display: block;
  list-style: none;
}

ul.users:last-child {
  margin: 0 -2.5px -2.5px 0;
}

ul.users li {
  margin: 0 2.5px 2.5px 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
  transition: all 0.2s ease;
  /*
  &.hover-ancestor-next {
      -moz-transform: translateX(0.3rem);
      -webkit-transform: translateX(0.3rem);
      -o-transform: translateX(0.3rem);
      -ms-transform: translateX(0.3rem);
      transform: translateX(0.3rem);
  }
  &.hover-ancestor-previous {
      -moz-transform: translateX(-0.3rem);
      -webkit-transform: translateX(-0.3rem);
      -o-transform: translateX(-0.3rem);
      -ms-transform: translateX(-0.3rem);
      transform: translateX(-0.3rem);
  }
  &.hover-child-next {
      -moz-transform: translateX(0.3rem) scale(1.1);
      -webkit-transform: translateX(0.3rem) scale(1.1);
      -o-transform: translateX(0.3rem) scale(1.1);
      -ms-transform: translateX(0.3rem) scale(1.1);
      transform: translateX(0.3rem) scale(1.1);
  }
  &.hover-child-previous {
      -moz-transform: translateX(-0.3rem) scale(1.1);
      -webkit-transform: translateX(-0.3rem) scale(1.1);
      -o-transform: translateX(-0.3rem) scale(1.1);
      -ms-transform: translateX(-0.3rem) scale(1.1);
      transform: translateX(-0.3rem) scale(1.1);
  }
  &:hover {
      -moz-transform: translateX(0) scale(1.3);
      -webkit-transform: translateX(0) scale(1.3);
      -o-transform: translateX(0) scale(1.3);
      -ms-transform: translateX(0) scale(1.3);
      transform: translateX(0) scale(1.3);
  }
  */
}

ul.users li:last-child {
  margin-right: 0;
}

ul.users li.active a .image.user,
ul.users li.checked a .image.user {
  border: 2px solid #3C3C3C;
  outline: 2px solid white;
  outline-offset: -4px;
}

ul.users li.archived {
  display: none;
}

ul.users li a {
  display: block;
}

ul.users li a .image.user {
  width: 45px;
  height: 45px;
  border: 2px solid transparent;
}

ul.users li label {
  display: none;
}

.selected-users {
  list-style: none;
}

.selected-users li {
  display: none;
}

.selected-users li.visible {
  display: block;
}

.selected-users li:not(:last-child) {
  margin: 0 0 5px 0;
}

/*********************************************************************************************

x. Companies: Name

*********************************************************************************************/

section.companies.name .columns .column.width-26:last-child .inside {
  padding-left: 0;
}

section.companies.name .content {
  text-align: right;
}

/*********************************************************************************************

x. Companies: Projects

*********************************************************************************************/

section.companies.projects {
  display: none;
}

section.companies.projects .close {
  position: absolute;
  top: 0;
  right: 0;
}

section.companies.projects .close a {
  display: block;
}

section.companies.projects .close a svg {
  fill: #9E9E9E;
  width: 8px;
  height: auto;
}

section.companies.projects .close a:hover svg {
  fill: #3C3C3C;
}

section.companies.projects .content.flex {
  display: flex;
}

section.companies.projects .content.flex h2 {
  margin: 0 20px 0 0;
}

/*********************************************************************************************

x. Companies: Submit
x. Projects: Submit

*********************************************************************************************/

section.companies.submit,
section.projects.submit {
  width: auto;
  height: 90px;
  background: #F6FCC7;
  padding: 0 70px;
  position: fixed;
  bottom: 0;
  left: 200px;
  right: 0;
  z-index: 20;
  transition: right 0.5s ease;
}

section.companies.submit.filler,
section.projects.submit.filler {
  width: auto;
  height: 40px;
  background: none;
  margin: 0;
  padding: 0;
  position: relative;
  top: auto;
  bottom: auto;
  left: 0;
  right: 9;
  transition: none !important;
}

section.companies.submit .wrapper,
section.projects.submit .wrapper {
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
}

section.companies.submit .wrapper button:hover,
section.projects.submit .wrapper button:hover {
  color: white;
  background: #646464;
}

.open-sidebar section.companies.submit,
.open-sidebar section.projects.submit {
  right: 400px;
}

/*********************************************************************************************

x. PTO: Entry
x. Holidays: Entry

*********************************************************************************************/

section.holidays.holidays-entry .area,
section.holidays.pto-entry .area,
section.pto.holidays-entry .area,
section.pto.pto-entry .area {
  position: relative;
}

section.holidays.holidays-entry .area .close,
section.holidays.pto-entry .area .close,
section.pto.holidays-entry .area .close,
section.pto.pto-entry .area .close {
  position: absolute;
  top: 0;
  right: 0;
}

section.holidays.holidays-entry .area .close a,
section.holidays.pto-entry .area .close a,
section.pto.holidays-entry .area .close a,
section.pto.pto-entry .area .close a {
  display: block;
}

section.holidays.holidays-entry .area .close a svg,
section.holidays.pto-entry .area .close a svg,
section.pto.holidays-entry .area .close a svg,
section.pto.pto-entry .area .close a svg {
  fill: #9E9E9E;
  width: 8px;
  height: auto;
}

section.holidays.holidays-entry .area .close a:hover svg,
section.holidays.pto-entry .area .close a:hover svg,
section.pto.holidays-entry .area .close a:hover svg,
section.pto.pto-entry .area .close a:hover svg {
  fill: #3C3C3C;
}

section.holidays.holidays-entry .columns .column:nth-child(1) .inside,
section.holidays.pto-entry .columns .column:nth-child(1) .inside,
section.pto.holidays-entry .columns .column:nth-child(1) .inside,
section.pto.pto-entry .columns .column:nth-child(1) .inside {
  padding-right: 15px;
}

section.holidays.holidays-entry .columns .column:nth-child(2) .inside,
section.holidays.pto-entry .columns .column:nth-child(2) .inside,
section.pto.holidays-entry .columns .column:nth-child(2) .inside,
section.pto.pto-entry .columns .column:nth-child(2) .inside {
  padding-left: 15px;
}

/*********************************************************************************************

x. Home

*********************************************************************************************/

section.home .area {
  position: relative;
}

section.home .area.border {
  border: 2px solid #C5C5C5;
  -webkit-border-radius: 20px;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius: 20px;
  -moz-border-radius-bottomleft: 0;
  border-radius: 20px;
  border-bottom-left-radius: 0;
  padding: 50px;
}

section.home .area.border-bottom {
  border-bottom: 2px solid #C5C5C5;
  padding: 0 0 50px 0;
}

section.home .area.border-bottom:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

section.home .area.border-bottom .content.table:last-child,
section.home .area.border-bottom table.table:last-child {
  margin-bottom: 0;
}

section.home .area:not(:last-child) {
  margin: 0 0 50px 0;
}

section.home .area .balloon {
  width: 45px;
  height: auto;
  -webkit-animation: balloon-float 6s 0.5s ease-in-out infinite alternate;
          animation: balloon-float 6s 0.5s ease-in-out infinite alternate;
  position: absolute;
  top: 10px;
  right: 10%;
}

section.home .area .calendar {
  width: 45px;
  height: auto;
  -webkit-animation: calendar-sway 4s 0.5s linear infinite;
          animation: calendar-sway 4s 0.5s linear infinite;
  position: absolute;
  top: 10px;
  right: 10%;
}

section.home .area .content span.number {
  color: #3C3C3C;
  line-height: 60px;
  width: 60px;
  height: 60px;
  background: #F6FCC7;
  border-radius: 50%;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

section.home .area .ribbon {
  width: 45px;
  height: auto;
  -webkit-animation: ribbon-wiggle 1s 0.5s linear infinite;
          animation: ribbon-wiggle 1s 0.5s linear infinite;
  position: absolute;
  top: 10px;
  right: 10%;
}

section.home .area .slug-scene {
  width: auto;
  height: 85px;
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
}

section.home .area .slug-scene .slug {
  width: 65px;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 60%;
  -webkit-animation: slug-pan 40s linear infinite;
          animation: slug-pan 40s linear infinite;
}

section.home .area .slug-scene .sun {
  width: 30px;
  height: auto;
  position: absolute;
  top: -20px;
  left: 55%;
  -webkit-animation: sun-rotate 10s 2.5s linear infinite;
          animation: sun-rotate 10s 2.5s linear infinite;
}

section.home .area table.table:not(:last-child) {
  margin: 0 0 20px 0;
}

section.home .area table.table td.image .image.user {
  width: 35px;
  height: 35px;
}

/*********************************************************************************************

x. Login

*********************************************************************************************/

section.login {
  background: #F5F2E7;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

section.login a {
  color: #9E9E9E;
}

section.login a:hover {
  color: #3C3C3C;
}

section.login form button {
  display: inline-block;
  zoom: 1;
  *display: inline;
}

section.login .ghost {
  width: 50px;
  height: auto;
  margin: 0 auto 50px auto;
  -webkit-animation: ghost-float 6s 0.5s ease-in-out infinite alternate;
          animation: ghost-float 6s 0.5s ease-in-out infinite alternate;
}

section.login table.table td a {
  font-size: 0.75rem;
}

section.login .wrapper {
  width: 350px;
  height: auto;
  transform: translateX(-50%) translateY(-50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

/*********************************************************************************************

x. Pagination

*********************************************************************************************/

section.pagination nav ul.pagination {
  text-align: center;
  margin: 0 -5px -5px -5px;
  padding: 50px 0 0 0;
  list-style: none;
}

section.pagination nav ul.pagination li {
  color: white;
  font-size: 0.75em;
  line-height: 30px;
  margin: 0 5px 5px 5px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

section.pagination nav ul.pagination li.active,
section.pagination nav ul.pagination li.disabled {
  pointer-events: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

section.pagination nav ul.pagination li.active {
  color: #3C3C3C;
  background: #F6FCC7;
}

section.pagination nav ul.pagination li.disabled {
  color: #3C3C3C;
  background: #ECECEC;
}

section.pagination nav ul.pagination li a {
  color: white;
  text-decoration: none;
  background: #646464;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: block;
}

section.pagination nav ul.pagination li a:hover {
  color: white;
  background: #404040;
}

/*********************************************************************************************

x. Projects: Expenses

*********************************************************************************************/

section.projects.expenses .columns:first-child {
  margin-top: 20px;
}

/*********************************************************************************************

x. Projects: Invoices

*********************************************************************************************/

section.projects.invoices.border-bottom {
  padding-bottom: 0;
}

section.projects.invoices .invoice-group {
  margin: 0 -70px;
  padding: 20px 70px 50px 70px;
}

section.projects.invoices .invoice-group:nth-child(even) {
  background: #F5F5F5;
}

section.projects.invoices .invoice-group .columns:first-child {
  margin-top: 0;
}

section.projects.invoices .invoice-group .wrapper {
  margin: 0;
}

section.projects.invoices .content:last-child {
  margin-bottom: 0;
}

section.projects.invoices .content h4 {
  color: #3C3C3C;
}

section.projects.invoices ul.commission-users {
  margin: 0 -20px -10px 0;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

section.projects.invoices ul.commission-users li {
  color: #9E9E9E;
  margin: 0 20px 10px 0;
  display: block;
}

section.projects.invoices .wrapper {
  margin: 0 0 50px 0;
}

/*********************************************************************************************

x. Projects: Name

*********************************************************************************************/

section.projects.name .columns .column.width-26:last-child .inside {
  padding-left: 0;
}

section.projects.name .content {
  text-align: right;
}

/*********************************************************************************************

x. Settings

*********************************************************************************************/

section.settings .content.border-bottom {
  border-bottom: 2px solid #C5C5C5;
  margin-bottom: 50px;
  padding-bottom: 50px;
}

section.settings table.table td.commission .users:last-child,
section.settings table.table td.users .users:last-child {
  margin-bottom: -2.5px;
  margin-right: -2.5px;
}

section.settings table.table td.commission .users li,
section.settings table.table td.users .users li {
  margin: 0 2.5px 2.5px 0;
}

section.settings table.table td.commission .users li .image.user,
section.settings table.table td.users .users li .image.user {
  width: 25px;
  height: 25px;
}

section.settings .tabs {
  margin-bottom: 35px;
}

section.settings table + .content {
  margin-top: 20px;
}

/*********************************************************************************************

x. PTO: Calendar

*********************************************************************************************/

section.pto.pto-calendar .legend {
  margin: 15px 0 0 0;
  list-style: none;
}

section.pto.pto-calendar .legend li {
  margin: 0 30px 0 0;
  padding: 0 0 0 20px;
  display: inline-block;
  zoom: 1;
  *display: inline;
  position: relative;
}

section.pto.pto-calendar .legend li:last-child {
  margin-right: 0;
}

section.pto.pto-calendar .legend li.personal:before,
section.pto.pto-calendar .legend li.vacation:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: block;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
}

section.pto.pto-calendar .legend li.personal:before {
  background: #A4E0B6;
}

section.pto.pto-calendar .legend li.vacation:before {
  background: #ACCAF2;
}

/*********************************************************************************************

x. PTO: Types

*********************************************************************************************/

section.pto.pto-select .columns {
  align-items: center;
}

section.pto.pto-select .content .available,
section.pto.pto-select .content .hours {
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

section.pto.pto-select .content .available {
  color: #9E9E9E;
  margin: 0 30px 0 0;
}

/*********************************************************************************************

x. Analytics: Data

*********************************************************************************************/

section.analytics.data {
  margin: 0 -70px -70px -70px;
  overflow: hidden;
}

section.analytics.data .button {
  color: #3C3C3C;
  background: #ECECEC;
}

section.analytics.data .button:hover {
  background: #F6FCC7;
}

section.analytics.data .chart {
  width: calc(100% + 40px);
  height: auto;
  margin: -20px;
  position: relative;
}

section.analytics.data .chart:not(:last-child) {
  margin-bottom: 20px;
}

section.analytics.data .columns {
  border-top: 1px solid #ECECEC;
  margin: 0 -1px 0 0;
  overflow: hidden;
}

section.analytics.data .columns .column {
  border-right: 1px solid #ECECEC;
  box-sizing: border-box;
  position: relative;
}

section.analytics.data .columns .column.no-bottom-border:after {
  display: none;
}

section.analytics.data .columns .column.with-title .inside {
  padding-top: 0;
}

section.analytics.data .columns .column:after {
  content: "";
  width: 9999px;
  height: 1px;
  background: #ECECEC;
  position: absolute;
  bottom: 0;
  left: 0;
}

section.analytics.data .columns .column .inside {
  padding: 50px;
}

section.analytics.data .columns .column .title {
  background: #ECECEC;
  margin: 0 -50px 50px -50px;
  padding: 20px 50px;
}

section.analytics.data .legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
}

section.analytics.data .legend li {
  margin: 0 20px 10px 0;
}

section.analytics.data .legend li .box,
section.analytics.data .legend li .label {
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

section.analytics.data .legend li .box {
  width: 10px;
  height: 10px;
  margin: 0 5px 0 0;
}

section.analytics.data .legend li .label {
  font-size: 0.75em;
  line-height: 1em;
}

section.analytics.data .bubbles {
  margin-top: -10px;
  margin-right: -10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
}

section.analytics.data .bubbles li {
  font-size: 0.75em;
  margin: 10px 10px 0 0;
}

section.analytics.data .bubbles li.bubble {
  border-radius: 5px;
  padding: 5px 10px;
}

section.analytics.data .bubbles li.bubble.gray {
  color: #9E9E9E;
  background: #f1f1f1;
}

section.analytics.data .bubbles li.bubble.green {
  color: #529B2B;
  background: #edf8e6;
}

section.analytics.data .bubbles li.bubble.orange {
  color: #FB6E23;
  background: #fff2eb;
}

section.analytics.data .bubbles li.bubble.red {
  color: #EA5A65;
  background: #fdedee;
}

section.analytics.data .bubbles li.icon.arrow-down:before {
  content: "\F39A";
}

section.analytics.data .bubbles li.icon.arrow-up:before {
  content: "\F399";
}

section.analytics.data .bubbles li.icon:before {
  font-family: "Ionicons" !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 10px 0 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

section.analytics.data .list {
  margin: 0 -10px 0 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}

section.analytics.data .list li {
  margin: 0 10px 0 0;
}

section.analytics.data .list li.bubble {
  color: #9E9E9E;
  font-size: 0.75em;
  background: #f1f1f1;
  border-radius: 5px;
  padding: 5px 10px;
}

/*********************************************************************************************

x. Analytics: Filters

*********************************************************************************************/

section.analytics.filters {
  margin-left: -20px;
  margin-right: -20px;
}

section.analytics.filters a {
  color: #9E9E9E;
}

section.analytics.filters a:hover {
  color: #3C3C3C;
}

section.analytics.filters .columns {
  margin: 0 -12.5px;
  align-items: center;
  justify-content: space-between;
}

section.analytics.filters .columns:after {
  content: "";
  flex-grow: 1;
  order: 0;
}

section.analytics.filters .columns .column.right {
  order: 1;
  float: none;
}

section.analytics.filters .columns .column .inside {
  padding: 0 12.5px;
}

/*********************************************************************************************

x. Reports: Data

*********************************************************************************************/

section.reports.data {
  margin: 0;
}

section.reports.data .columns {
  margin: -10px -20px;
}

section.reports.data .columns:first-child {
  margin-top: 0;
}

section.reports.data .columns .column .inside {
  padding: 30px 20px 0 20px;
}

section.reports.data .invoice {
  margin: -10px -10px 10px -10px;
  display: flex;
  list-style: none;
}

section.reports.data .invoice li .inside {
  padding: 10px;
}

section.reports.data .invoice li .inside a {
  color: #9E9E9E;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #ECECEC;
  padding: 0 30px 0 10px;
  display: block;
}

section.reports.data .invoice li .inside a:hover {
  color: #3C3C3C;
}

section.reports.data .invoice li .inside .label {
  color: #9E9E9E;
  font-size: 0.75em;
  line-height: 1em;
  margin-top: 0;
}

section.reports.data .invoice li .inside .line {
  width: 100%;
  height: 2px;
  background: #C5C5C5;
  margin: 10px 0;
}

section.reports.data .separator {
  width: 100%;
  height: 2px;
  background: #C5C5C5;
}

section.reports.data table.table {
  width: calc(100% + 140px);
  margin: 0 -70px;
}

section.reports.data table.table td,
section.reports.data table.table th {
  padding: 20px !important;
}

section.reports.data table.table td.more-information {
  background: #F5F5F5;
  padding: 0 20px 30px 20px !important;
  display: none;
  overflow: hidden;
}

section.reports.data table.table td:not(:last-child) {
  border-right: 2px solid #f2f2f2;
}

section.reports.data table.table th {
  color: white;
  font-size: 1em;
  white-space: nowrap;
  background-color: #646464;
  vertical-align: middle;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
}

section.reports.data table.table th.sorter {
  background-image: url(/images/sort-arrows.svg?6169a434973cf7a22176a17e44045953);
  background-position: right 30px center;
  background-repeat: no-repeat;
  background-size: 15px auto;
  padding-right: 60px !important;
}

section.reports.data table.table th.sorter-asc {
  background-color: #575757;
  background-image: url(/images/sort-arrows-up.svg?dde499625256298a066355ef32be2139);
}

section.reports.data table.table th.sorter-desc {
  background-color: #4b4b4b;
  background-image: url(/images/sort-arrows-down.svg?442b5c6f29a29a98d9e2a27ab2cf914f);
}

section.reports.data table.table th:not(:last-child) {
  border-right: 1px solid #404040;
}

section.reports.data table.table tr.blue td:not(:last-child) {
  border-color: #d2e3fd;
}

section.reports.data table.table tr.green td:not(:last-child) {
  border-color: #bceacb;
}

section.reports.data table.table tr.subtotal td,
section.reports.data table.table tr.total td {
  color: white;
  border-bottom: none;
}

section.reports.data table.table tr.subtotal:not(:first-child) td {
  border-top: 1px solid #404040;
}

section.reports.data table.table tr.subtotal td {
  background-color: #646464;
}

section.reports.data table.table tr.subtotal td:not(:last-child) {
  border-right: 1px solid #404040;
}

section.reports.data table.table tr.total td {
  background: #3C3C3C;
}

section.reports.data table.table tr.total td:not(:last-child) {
  border-right: 1px solid black;
}

section.reports.data ul.commission-users,
section.reports.data ul.selected-users {
  margin: 0 -20px -10px 0;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

section.reports.data ul.commission-users li,
section.reports.data ul.selected-users li {
  margin: 0 20px 10px 0;
  display: block;
}

section.reports.data ul.commission-users li .icon,
section.reports.data ul.commission-users li .label,
section.reports.data ul.selected-users li .icon,
section.reports.data ul.selected-users li .label {
  display: inline-block;
  zoom: 1;
  *display: inline;
  vertical-align: middle;
}

section.reports.data ul.commission-users li .icon,
section.reports.data ul.selected-users li .icon {
  margin: 0 5px 0 0;
}

section.reports.data ul.commission-users li .icon svg,
section.reports.data ul.selected-users li .icon svg {
  fill: #C5C5C5;
  width: auto;
  height: 15px;
}

section.reports.data ul.options {
  justify-content: center;
}

/*********************************************************************************************

x. Reports: Filters

*********************************************************************************************/

section.reports.filters .columns {
  justify-content: space-between;
}

section.reports.filters .columns .column:last-child {
  align-self: flex-end;
}

section.reports.filters .content .amount-and-sort {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  list-style: none;
}

section.reports.filters .content .amount-and-sort li:not(:first-child) {
  margin: 0 0 0 25px;
}

section.reports.filters .content .amount-and-sort li:last-child {
  min-width: 100px;
  margin: 0 0 0 10px;
}

section.reports.filters .content .amount-and-sort li:last-child form select {
  border-bottom: none;
  padding: 0;
}

/*********************************************************************************************

x. Tabs

*********************************************************************************************/

section.tabs {
  margin: -100px -70px 70px -70px;
}

section.tabs .navigation {
  background: #ECECEC;
  list-style: none;
  position: relative;
}

section.tabs .navigation li.current-menu-item a {
  color: #3C3C3C;
  background: white;
}

section.tabs .navigation li.current-menu-item a:hover {
  background: white;
}

section.tabs .navigation li:last-child a {
  border-right: none;
}

section.tabs .navigation li:last-child a:after {
  display: none;
}

section.tabs .navigation li a {
  color: #9E9E9E;
  font-size: 0.75em;
  line-height: 50px;
  text-decoration: none;
  width: auto;
  height: 50px;
  border-right: 2px solid white;
  display: block;
  padding: 0 20px;
  position: relative;
}

section.tabs .navigation li a:after {
  content: "";
  width: 2px;
  height: auto;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
}

section.tabs .navigation li a:hover {
  background: #e6e6e6;
}

/*********************************************************************************************

x. Times: Entry

*********************************************************************************************/

section.times.time-entry .area {
  position: relative;
}

section.times.time-entry .area .close {
  position: absolute;
  top: 0;
  right: 0;
}

section.times.time-entry .area .close a {
  display: block;
}

section.times.time-entry .area .close a svg {
  fill: #9E9E9E;
  width: 8px;
  height: auto;
}

section.times.time-entry .area .close a:hover svg {
  fill: #3C3C3C;
}

/*********************************************************************************************

x. Times: Priority List

*********************************************************************************************/

section.times.priority-list table.table td.progress-bar {
  vertical-align: middle;
}

section.times.priority-list table.table td.progress-bar .percentage {
  width: 100%;
  height: 10px;
  background: #ECECEC;
  border-radius: 999px;
  list-style: none;
  overflow: hidden;
}

section.times.priority-list table.table td.progress-bar .percentage li {
  width: 50%;
  height: 10px;
  background: #3C3C3C;
  position: relative;
}

section.times.priority-list table.table td.progress-bar .percentage li:after {
  content: "";
  width: 2px;
  height: auto;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
}

section.times.priority-list table.table td.progress-bar .percentage li.buffer {
  background: none;
}

section.times.priority-list table.table td.progress-bar .percentage li.buffer:after {
  display: none;
}

/*********************************************************************************************

x. Times: Progress Bar

*********************************************************************************************/

section.times.progress-bar .area .percentages {
  width: 100%;
  height: 30px;
  background: #ECECEC;
  border-radius: 15px;
  list-style: none;
  overflow: hidden;
}

section.times.progress-bar .area .percentages li {
  width: auto;
  height: 30px;
  background: #646464;
}

section.times.progress-bar .area .percentages li.buffer {
  background: none;
}

section.times.progress-bar .area .percentages li.highlighted {
  background: #3C3C3C;
}

section.times.progress-bar .area .percentages li a,
section.times.progress-bar .area .percentages li div {
  width: 100%;
  height: 30px;
  display: block;
  position: relative;
}

section.times.progress-bar .area .percentages li a:after,
section.times.progress-bar .area .percentages li div:after {
  content: "";
  width: 2px;
  height: auto;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
}

section.times.progress-bar .columns {
  align-items: flex-start;
}

section.times.progress-bar .content {
  margin: 0 0 10px 0;
}

section.times.progress-bar .content a {
  text-decoration: none;
}

section.times.progress-bar .content a:not(.button) {
  color: #9E9E9E;
  font-size: 0.75em;
  text-align: right;
  display: block;
}

section.times.progress-bar .content a:not(.button):hover {
  color: #3C3C3C;
}

/*********************************************************************************************

x. Times: Project Select

*********************************************************************************************/

section.times.project-select .columns .column.width-26:last-child .inside {
  padding-left: 0;
}

section.times.project-select .content {
  text-align: right;
}

/*********************************************************************************************

x. Times: User Select

*********************************************************************************************/

section.times.user-select .content a {
  text-decoration: none;
}

section.times.user-select .content a:not(.button) {
  color: #9E9E9E;
  text-align: right;
  display: block;
}

section.times.user-select .content a:not(.button):hover {
  color: #3C3C3C;
}

section.times.user-select .content h2 {
  line-height: 45px;
}

/*********************************************************************************************

x. Times: Project Times

*********************************************************************************************/

section.times.project-times .inner-area.hidden {
  display: none;
}

/*********************************************************************************************

x. Animations

*********************************************************************************************/

@-webkit-keyframes balloon-float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }

  33% {
    transform: translateY(-15px) rotate(2deg);
  }

  66% {
    transform: translateY(-25px) rotate(-2deg);
  }
}

@keyframes balloon-float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }

  33% {
    transform: translateY(-15px) rotate(2deg);
  }

  66% {
    transform: translateY(-25px) rotate(-2deg);
  }
}

@-webkit-keyframes calendar-sway {
  0%, 50%, 100% {
    transform: translateX(0px) translateY(0px) rotate(0deg);
  }

  25% {
    transform: translateX(-10px) translateY(0px) rotate(-3deg);
  }

  75% {
    transform: translateX(10px) translateY(0px) rotate(3deg);
  }
}

@keyframes calendar-sway {
  0%, 50%, 100% {
    transform: translateX(0px) translateY(0px) rotate(0deg);
  }

  25% {
    transform: translateX(-10px) translateY(0px) rotate(-3deg);
  }

  75% {
    transform: translateX(10px) translateY(0px) rotate(3deg);
  }
}

/*
@keyframes makeItRain {
    from {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    to {
        transform: translateY(200px);
    }
}
*/

@-webkit-keyframes ghost-float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }

  33% {
    transform: translateY(-15px) rotate(2deg);
  }

  66% {
    transform: translateY(-20px) rotate(-2deg);
  }
}

@keyframes ghost-float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }

  33% {
    transform: translateY(-15px) rotate(2deg);
  }

  66% {
    transform: translateY(-20px) rotate(-2deg);
  }
}

@-webkit-keyframes marquee-backwards {
  100% {
    transform: translateX(100%);
  }
}

@keyframes marquee-backwards {
  100% {
    transform: translateX(100%);
  }
}

@-webkit-keyframes marquee-forwards {
  100% {
    transform: translateX(-100%);
  }
}

@keyframes marquee-forwards {
  100% {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes ribbon-wiggle {
  0%, 25%, 50% {
    transform: rotate(0deg);
  }

  12.5% {
    transform: rotate(3deg);
  }

  37.5% {
    transform: rotate(-3deg);
  }
}

@keyframes ribbon-wiggle {
  0%, 25%, 50% {
    transform: rotate(0deg);
  }

  12.5% {
    transform: rotate(3deg);
  }

  37.5% {
    transform: rotate(-3deg);
  }
}

@-webkit-keyframes slug-pan {
  0%, 100% {
    left: 60%;
    transform: scaleX(1);
  }

  10% {
    left: 70%;
    transform: scaleX(1);
  }

  10.01% {
    transform: scaleX(-1);
  }

  60% {
    left: 20%;
    transform: scaleX(-1);
  }

  60.01% {
    transform: scaleX(1);
  }
}

@keyframes slug-pan {
  0%, 100% {
    left: 60%;
    transform: scaleX(1);
  }

  10% {
    left: 70%;
    transform: scaleX(1);
  }

  10.01% {
    transform: scaleX(-1);
  }

  60% {
    left: 20%;
    transform: scaleX(-1);
  }

  60.01% {
    transform: scaleX(1);
  }
}

@-webkit-keyframes sun-rotate {
  0% {
    transform: rotate(0deg);
  }

  5%, 100% {
    transform: rotate(360deg);
  }
}

@keyframes sun-rotate {
  0% {
    transform: rotate(0deg);
  }

  5%, 100% {
    transform: rotate(360deg);
  }
}

/*********************************************************************************************

x. Responsive

*********************************************************************************************/

/*********************************************************************************************

x. Basic Setup (Body, Fonts, etc.)

********************************************************************************************/

@media only screen and (max-width: 1800px) {
  html,
  body {
    font-size: 15px;
  }
}

@media only screen and (max-width: 1590px) {
  .wrapper {
    width: auto;
  }
}

@media only screen and (max-width: 1500px) {
  html,
  body {
    font-size: 14px;
  }
}

@media only screen and (max-width: 700px) {
  h1 {
    font-size: 2.25em;
  }

  h2 {
    font-size: 1.5em;
  }
}

/*********************************************************************************************

x. Alert

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  section.alert {
    margin: -100px -50px 70px -50px;
  }

  .alert + .tabs {
    margin-top: -100px;
  }
}

@media only screen and (max-width: 700px) {
  section.alert {
    margin: -50px -30px 50px -30px;
  }

  .alert + .tabs {
    margin-top: -50px;
  }
}

/*********************************************************************************************

x. Analytics: Filters

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  section.analytics.data {
    margin: 0 -50px -50px -50px;
  }
}

@media only screen and (max-width: 1000px) {
  section.analytics.data .columns .column {
    border-right: none;
  }

  section.analytics.data .columns .column .inside {
    padding: 30px;
  }

  section.analytics.filters .columns {
    margin: -15px;
  }

  section.analytics.filters .columns .column .inside {
    padding: 15px;
  }
}

@media only screen and (max-width: 700px) {
  section.analytics.data {
    margin: 0 -30px -30px -30px;
  }

  section.analytics.filters {
    margin-left: 0;
    margin-right: 0;
  }
}

/*********************************************************************************************

x. Aside

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  aside {
    width: 300px;
    transform: translateX(300px);
  }

  aside .scroller {
    top: 90px;
    bottom: 20px;
    left: 70px;
    right: 20px;
  }
}

@media only screen and (max-width: 1100px) {
  aside {
    display: none;
  }
}

@media only screen and (max-width: 700px) {
  aside {
    width: auto;
    padding: 50px 30px;
    display: block;
    transform: translateX(0);
    position: relative;
    z-index: 10;
  }

  aside .opener {
    display: none;
  }

  aside .scroller {
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  aside .scroller.no-tabs {
    top: 0;
  }

  aside .tabs {
    margin: -50px -30px 50px -30px;
  }
}

/*********************************************************************************************

x. Birthday Screen

*********************************************************************************************/

@media only screen and (max-height: 800px) {
  #birthday-screen .instructions {
    height: 25vh;
  }

  #birthday-screen .marquee {
    height: 25vh;
  }

  #birthday-screen .marquee:nth-child(2) {
    top: 25vh;
  }

  #birthday-screen .marquee:nth-child(3) {
    top: 50vh;
  }

  #birthday-screen .marquee:nth-child(4) {
    display: none;
  }

  #birthday-screen .marquee .inside .content h1 {
    font-size: 18vh;
    line-height: 25vh;
  }
}

@media only screen and (max-height: 700px) {
  #birthday-screen .instructions {
    height: 33.33vh;
  }

  #birthday-screen .marquee {
    height: 33.33vh;
  }

  #birthday-screen .marquee:nth-child(2) {
    top: 33.33vh;
  }

  #birthday-screen .marquee:nth-child(3) {
    display: none;
  }

  #birthday-screen .marquee .inside .content h1 {
    font-size: 25vh;
    line-height: 33.33vh;
  }
}

/*********************************************************************************************

x. Columns & Widths

*********************************************************************************************/

@media only screen and (max-width: 1800px) {
  .open-sidebar .columns {
    margin: -25px;
  }

  .open-sidebar .columns.borders {
    margin: -50px;
  }

  .open-sidebar .columns.borders .column .inside {
    padding: 50px;
  }

  .open-sidebar .columns.no-negative-top-margin {
    margin-top: -25px !important;
  }

  .open-sidebar .columns .column .inside {
    padding: 25px;
  }
}

@media only screen and (max-width: 1500px) {
  .columns.borders {
    margin: 0 -50px;
  }

  .open-sidebar .columns .column {
    width: 50%;
  }

  .open-sidebar .columns .column.width-100 {
    width: 100%;
  }
}

@media only screen and (max-width: 1300px) {
  .columns {
    margin: -25px;
  }

  .columns.borders {
    margin: -50px;
  }

  .columns.borders .column .inside {
    padding: 50px;
  }

  .columns.no-negative-top-margin {
    margin-top: -25px !important;
  }

  .columns .column .inside {
    padding: 25px;
  }
}

@media only screen and (max-width: 1100px) {
  .columns .column {
    width: 50%;
  }

  .columns .column.width-100 {
    width: 100%;
  }
}

@media only screen and (max-width: 1000px) {
  .columns.borders {
    margin: -25px;
  }

  .columns.borders .column .inside {
    padding: 25px;
  }

  .columns .column {
    width: 100%;
  }

  .columns .column.border-right {
    border-right: 0;
  }

  .columns .column.border-right:not(:last-child) {
    margin: 0 0 20px 0;
  }

  .open-sidebar .columns.borders {
    margin: -25px;
  }

  .open-sidebar .columns.borders .column .inside {
    padding: 25px;
  }

  .open-sidebar .columns .column {
    width: 100%;
  }

  .open-sidebar .columns .column.border-right {
    border-right: 0;
  }
}

@media only screen and (max-width: 700px) {
  .columns {
    margin: -15px;
  }

  .columns.borders {
    margin: -15px;
  }

  .columns.borders .column .inside {
    padding: 15px;
  }

  .columns.jammed {
    margin: -15px;
  }

  .columns.jammed .column .inside {
    padding: 15px;
  }

  .columns.no-negative-top-margin {
    margin-top: -15px !important;
  }

  .columns:first-child {
    margin-top: -15px;
  }

  .columns .column .inside {
    padding: 15px;
  }

  .open-sidebar .columns {
    margin: -15px;
  }

  .open-sidebar .columns.borders {
    margin: -15px;
  }

  .open-sidebar .columns.borders .column .inside {
    padding: 15px;
  }

  .open-sidebar .columns.jammed {
    margin: -15px;
  }

  .open-sidebar .columns.jammed .column .inside {
    padding: 15px;
  }

  .open-sidebar .columns.no-negative-top-margin {
    margin-top: -15px !important;
  }

  .open-sidebar .columns:first-child {
    margin-top: -15px;
  }

  .open-sidebar .columns .column .inside {
    padding: 15px;
  }
}

/*********************************************************************************************

x. Companies: Submit
x. Projects: Submit

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  section.companies.submit:not(.filler),
  section.projects.submit:not(.filler) {
    padding: 0 50px;
    left: 180px;
  }

  .open-sidebar section.companies.submit:not(.filler),
  .open-sidebar section.projects.submit:not(.filler) {
    right: 350px;
  }
}

@media only screen and (max-width: 1400px) {
  section.companies.submit:not(.filler),
  section.projects.submit:not(.filler) {
    left: 140px;
  }

  .open-sidebar section.companies.submit:not(.filler),
  .open-sidebar section.projects.submit:not(.filler) {
    right: 300px;
  }
}

@media only screen and (max-width: 1100px) {
  section.companies.submit:not(.filler),
  section.projects.submit:not(.filler) {
    right: 0;
    transition: none !important;
  }

  .open-sidebar section.companies.submit:not(.filler),
  .open-sidebar section.projects.submit:not(.filler) {
    right: 0;
  }
}

@media only screen and (max-width: 700px) {
  section.companies.submit.filler,
  section.projects.submit.filler {
    display: none;
  }

  section.companies.submit:not(.filler),
  section.projects.submit:not(.filler) {
    margin: 0 -30px -50px -30px;
    padding: 0 30px;
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    left: 0;
  }
}

/*********************************************************************************************

x. Footer

*********************************************************************************************/

@media only screen and (max-width: 700px) {
  footer {
    display: block;
  }
}

@media only screen and (max-width: 600px) {
  footer .navigation li a svg {
    height: 15px;
  }
}

/*********************************************************************************************

x. Form

*********************************************************************************************/

@media only screen and (max-width: 1000px) {
  form label.hidden {
    display: none;
  }
}

@media only screen and (max-width: 700px) {
  form input[type=email].large,
  form input[type=number].large,
  form input[type=password].large,
  form input[type=text].large {
    font-size: 1.5em;
  }
}

/*********************************************************************************************

x. Header

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  header {
    width: 180px;
  }

  header .image {
    width: 80px;
    height: 80px;
  }
}

@media only screen and (max-width: 1400px) {
  header {
    width: 140px;
  }

  header .image {
    width: 60px;
    height: 60px;
  }
}

@media only screen and (max-width: 700px) {
  header {
    width: auto;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    position: relative;
  }

  header:after {
    content: "";
    flex-grow: 1;
    order: 0;
  }

  header .bottom-navigation {
    order: 1;
    position: relative;
  }

  header .bottom-navigation li {
    border-top: none;
    padding: 0;
  }

  header .bottom-navigation li:not(:first-child) {
    display: none;
  }

  header .image {
    margin: 0 10px 0 0;
  }

  header .top-navigation {
    margin: 0 0 0 30px;
    display: flex;
    align-items: center;
  }

  header .top-navigation li {
    margin: 0 30px 0 0;
  }

  header .top-navigation li:last-child {
    margin-right: 0;
  }
}

@media only screen and (max-width: 600px) {
  header .bottom-navigation li a svg {
    height: 15px;
  }

  header .image {
    width: 40px;
    height: 40px;
    margin: 0;
  }

  header h2 {
    display: none;
  }

  header .top-navigation {
    margin: 0 0 0 20px;
  }

  header .top-navigation li {
    margin: 0 20px 0 0;
  }

  header .top-navigation li:last-child {
    margin-right: 0;
  }

  header .top-navigation li a svg {
    height: 20px;
  }
}

@media only screen and (max-width: 400px) {
  header .image {
    display: none !important;
  }

  header .top-navigation {
    margin: 0;
  }
}

@media only screen and (max-height: 850px) {
  header .bottom-navigation li:first-child:last-child {
    display: block;
  }

  header .bottom-navigation li:last-child {
    display: none;
  }
}

@media only screen and (max-height: 690px) {
  header .bottom-navigation li:nth-child(2) {
    display: none;
  }
}

@media only screen and (max-height: 520px) {
  header .image {
    display: none !important;
  }
}

/*********************************************************************************************

x. Home

*********************************************************************************************/

@media only screen and (max-width: 1100px) {
  section.home .columns .column.width-50 {
    width: 100%;
  }
}

@media only screen and (max-width: 700px) {
  section.home .area.border {
    padding: 30px;
  }

  section.home .area.border-bottom {
    padding: 0 0 30px 0;
  }

  section.home .area:not(:last-child) {
    margin: 0 0 30px 0;
  }

  section.home .area .balloon,
  section.home .area .ribbon {
    right: 0;
  }
}

@media only screen and (max-width: 500px) {
  section.home .area.border {
    border: none;
    border-top: 2px solid #C5C5C5;
    border-radius: 0;
    padding: 30px 0 0 0;
  }

  section.home .area .balloon,
  section.home .area .ribbon,
  section.home .area .slug-scene {
    display: none;
  }
}

/*********************************************************************************************

x. Login

*********************************************************************************************/

@media only screen and (max-width: 500px) {
  section.login .ghost {
    margin: 50px auto 30px auto;
  }

  section.login table td {
    width: 100%;
    height: auto;
    display: block;
  }

  section.login table ul.options {
    flex-direction: column;
  }

  section.login table ul.options li {
    margin: 0 0 10px 0;
  }

  section.login table ul.options li:first-child {
    margin: 0 0 10px 0;
  }

  section.login table ul.options li:last-child {
    margin: 0;
  }

  section.login .wrapper {
    width: auto;
    margin: 0 30px;
    transform: translateX(0) translateY(0);
    position: relative;
    top: 0;
    left: 0;
  }
}

/*********************************************************************************************

x. Main

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  main {
    margin: 0 0 0 180px;
    padding: 100px 50px 70px 50px;
  }

  main section.border-bottom,
  main section.border-top {
    margin-left: -50px;
    margin-right: -50px;
    padding-left: 50px;
    padding-right: 50px;
  }

  .has-sidebar main {
    padding-right: 100px;
  }

  .open-sidebar main {
    margin-right: 300px;
  }
}

@media only screen and (max-width: 1400px) {
  main {
    margin: 0 0 0 140px;
  }
}

@media only screen and (max-width: 1100px) {
  .has-sidebar main {
    padding-right: 50px;
  }

  .open-sidebar main {
    margin-right: 0;
  }
}

@media only screen and (max-width: 700px) {
  main {
    margin: 0;
    padding: 50px 30px;
  }

  main section {
    margin: 0 0 30px 0;
  }

  main section.border-bottom,
  main section.border-top {
    margin-left: -30px;
    margin-right: -30px;
    padding-left: 30px;
    padding-right: 30px;
  }

  main section.border-bottom {
    padding-bottom: 30px;
  }

  main section.border-top {
    padding-top: 30px;
  }

  .has-sidebar main {
    padding-right: 30px;
  }
}

/*********************************************************************************************

x. Companies: Name
x. Projects: Name

*********************************************************************************************/

@media only screen and (max-width: 1100px) {
  section.companies.name .columns .column.width-26,
  section.projects.name .columns .column.width-26 {
    width: 100%;
  }

  section.companies.name .columns .column.width-26:last-child .inside,
  section.projects.name .columns .column.width-26:last-child .inside {
    padding: 25px;
  }

  section.companies.name .content,
  section.projects.name .content {
    text-align: left;
  }
}

@media only screen and (max-width: 700px) {
  section.companies.name .columns .column.width-26:last-child .inside,
  section.projects.name .columns .column.width-26:last-child .inside {
    padding: 15px;
  }
}

/*********************************************************************************************

x. Projects: Invoices

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  section.projects.invoices .invoice-group {
    margin: 0 -50px;
    padding: 20px 50px 50px 50px;
  }
}

@media only screen and (max-width: 700px) {
  section.projects.invoices .invoice-group {
    margin: 0 -30px;
    padding: 20px 30px 50px 30px;
  }
}

/*********************************************************************************************

x. Reports

*********************************************************************************************/

@media only screen and (max-width: 1700px) {
  section.reports.data table.table {
    width: calc(100% + 100px);
    margin: 0 -50px;
  }

  section.reports.data table col.billing-type,
  section.reports.data table col.invoiced-amount,
  section.reports.data table col.project-status,
  section.reports.data table td.billing-type,
  section.reports.data table td.invoiced-amount,
  section.reports.data table td.project-status,
  section.reports.data table th.billing-type,
  section.reports.data table th.invoiced-amount,
  section.reports.data table th.project-status {
    display: none;
  }
}

@media only screen and (max-width: 1500px) {
  section.reports.data table col.target-hours,
  section.reports.data table td.target-hours,
  section.reports.data table th.target-hours {
    display: none;
  }

  section.reports.filters .columns .column.width-20,
  section.reports.filters .columns .column.width-30,
  section.reports.filters .columns .column.width-40 {
    width: 50%;
  }

  section.reports.filters.projects .columns .column:nth-child(4) {
    width: 100%;
    order: -1;
  }

  section.reports.filters.users .columns .column:nth-child(3) {
    width: 100%;
    order: -1;
  }
}

@media only screen and (max-width: 1400px) {
  section.reports.data .invoice {
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 1300px) {
  section.reports.data .columns {
    margin: 0 -50px;
  }

  section.reports.data table.table {
    width: calc(100% + 100px);
    margin: 0 -50px;
  }

  section.reports.data table col.date,
  section.reports.data table td.date,
  section.reports.data table th.date {
    display: none;
  }
}

@media only screen and (max-width: 1200px) {
  section.reports.filters .columns .column:last-child {
    width: 100%;
  }

  section.reports.filters .content .amount-and-sort {
    justify-content: flex-start;
    margin: 0 -20px -10px 0;
  }

  section.reports.filters .content .amount-and-sort li:not(:first-child),
  section.reports.filters .content .amount-and-sort li:not(:last-child) {
    margin: 0 20px 10px 0;
  }
}

@media only screen and (max-width: 1100px) {
  section.reports.data table col.description,
  section.reports.data table col.low-amount,
  section.reports.data table col.high-amount,
  section.reports.data table td.description,
  section.reports.data table td.low-amount,
  section.reports.data table td.high-amount,
  section.reports.data table th.description,
  section.reports.data table th.low-amount,
  section.reports.data table th.high-amount {
    display: none;
  }
}

@media only screen and (max-width: 900px) {
  section.reports.filters .columns .column.width-20,
  section.reports.filters .columns .column.width-30,
  section.reports.filters .columns .column.width-40 {
    width: 100%;
  }
}

@media only screen and (max-width: 700px) {
  section.reports.data table.table {
    width: calc(100% + 60px);
    margin: 0 -30px;
  }

  section.reports.data .columns {
    margin: -15px;
  }

  section.reports.data .columns .column .inside {
    padding: 15px;
  }
}

@media only screen and (max-width: 600px) {
  section.reports.data table col.spent-hours,
  section.reports.data table td.spent-hours,
  section.reports.data table th.spent-hours {
    display: none;
  }

  section.reports.data table tfoot {
    display: none;
  }

  section.reports.data.users table tfoot {
    display: none;
  }

  section.reports.data.users table td.company,
  section.reports.data.users table th.company {
    display: none;
  }
}

/*********************************************************************************************

x. Search

********************************************************************************************/

@media only screen and (max-width: 1990px) {
  .search .wrapper {
    width: 1200px;
  }
}

@media only screen and (max-width: 1590px) {
  .search .wrapper {
    width: 1200px;
  }
}

@media only screen and (max-width: 1500px) {
  .search {
    padding: 50px;
  }

  .search .wrapper {
    padding: 50px;
  }
}

@media only screen and (max-width: 1340px) {
  .search .wrapper {
    width: auto;
  }
}

@media only screen and (max-width: 1000px) {
  .search .results .columns {
    flex-wrap: wrap;
  }

  .search .results .columns .column {
    width: 100%;
  }

  .search .results .columns .column:first-child:last-child .inside {
    padding: 0;
  }

  .search .results .columns .column:first-child .inside {
    padding: 0 0 20px 0;
  }

  .search .results .columns .column:last-child .inside {
    padding: 0;
  }
}

@media only screen and (max-width: 700px) {
  .search {
    padding: 30px;
  }

  .search .wrapper {
    padding: 30px;
  }
}

/*********************************************************************************************

x. Settings

*********************************************************************************************/

@media only screen and (max-width: 1300px) {
  section.settings table td.birthday,
  section.settings table td.pricing-exemptions,
  section.settings table td.users,
  section.settings table th.birthday,
  section.settings table th.pricing-exemptions,
  section.settings table th.users {
    display: none;
  }
}

@media only screen and (max-width: 1200px) {
  section.settings table td.last-invoiced,
  section.settings table th.last-invoiced {
    display: none;
  }
}

@media only screen and (max-width: 1100px) {
  section.settings table td.personal-time,
  section.settings table td.vacation-time,
  section.settings table th.personal-time,
  section.settings table th.vacation-time {
    display: none;
  }
}

@media only screen and (max-width: 1000px) {
  section.settings table td.invoiced-amount,
  section.settings table th.invoiced-amount {
    display: none;
  }

  section.settings ul.tabs li.break {
    flex-basis: 100%;
  }

  section.settings ul.tabs li.right {
    order: 0;
  }
}

@media only screen and (max-width: 900px) {
  section.settings table td.commission,
  section.settings table td.permission,
  section.settings table td.status,
  section.settings table th.commission,
  section.settings table th.permission,
  section.settings table th.status {
    display: none;
  }
}

@media only screen and (max-width: 600px) {
  section.settings table td.category,
  section.settings table td.email,
  section.settings table th.category,
  section.settings table th.email {
    display: none;
  }
}

@media only screen and (max-width: 500px) {
  section.settings table td.spent-hours,
  section.settings table th.spent-hours {
    display: none;
  }
}

@media only screen and (max-width: 400px) {
  section.settings table td.internal,
  section.settings table th.internal {
    display: none;
  }

  section.settings table td.options:last-child,
  section.settings table th.options:last-child {
    display: none;
  }
}

/*********************************************************************************************

x. Table

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  table.lines.spaced.hover {
    width: calc(100% + 100px);
    margin: 0 -50px;
  }
}

@media only screen and (max-width: 700px) {
  table.lines.spaced.hover {
    width: calc(100% + 60px);
    margin: 0 -30px;
  }

  table.lines.spaced.hover td,
  table.lines.spaced.hover th {
    padding: 20px !important;
  }

  table.lines.spaced.hover th.sorter {
    background-position: right 20px center;
    padding-right: 50px !important;
  }
}

/*********************************************************************************************

x. Tabs

*********************************************************************************************/

@media only screen and (max-width: 1500px) {
  section.tabs {
    margin: -100px -50px 70px -50px;
  }
}

@media only screen and (max-width: 700px) {
  section.tabs {
    margin: -48px -30px 50px -30px;
  }
}

@media only screen and (max-width: 600px) {
  section.tabs .navigation li a {
    line-height: 40px;
    height: 40px;
  }
}

@media only screen and (max-width: 500px) {
  section.tabs .navigation li a {
    padding: 0 10px;
  }
}

/*********************************************************************************************

x. Times: Priority List

*********************************************************************************************/

@media only screen and (max-width: 1600px) {
  section.times.priority-list table col.progress-bar,
  section.times.priority-list table td.progress-bar,
  section.times.priority-list table th.progress-bar {
    display: none;
  }
}

@media only screen and (max-width: 1300px) {
  section.times.priority-list table col.category,
  section.times.priority-list table td.category,
  section.times.priority-list table th.category {
    display: none;
  }
}

@media only screen and (max-width: 1000px) {
  section.times.priority-list table col.status,
  section.times.priority-list table td.status,
  section.times.priority-list table th.status {
    display: none;
  }
}

@media only screen and (max-width: 900px) {
  section.times.priority-list table col.project-total-hours,
  section.times.priority-list table td.project-total-hours,
  section.times.priority-list table th.project-total-hours {
    display: none;
  }
}

@media only screen and (max-width: 500px) {
  section.times.priority-list ul.tabs li.break {
    flex-basis: 100%;
  }

  section.times.priority-list ul.tabs li.right {
    order: 0;
  }

  section.times.priority-list table col.your-total-hours,
  section.times.priority-list table td.your-total-hours,
  section.times.priority-list table th.your-total-hours {
    display: none;
  }
}

@media only screen and (max-width: 400px) {
  section.times.priority-list table col.options:last-child,
  section.times.priority-list table td.options:last-child,
  section.times.priority-list table th.options:last-child {
    display: none;
  }
}

/*********************************************************************************************

x. Times: Project Times

*********************************************************************************************/

@media only screen and (max-width: 900px) {
  section.times.project-times table col.description,
  section.times.project-times table td.description,
  section.times.project-times table th.description {
    display: none;
  }
}

@media only screen and (max-width: 500px) {
  section.times.project-times table col.options:last-child,
  section.times.project-times table td.options:last-child,
  section.times.project-times table th.options:last-child {
    display: none;
  }
}

/*********************************************************************************************

x. Times: User Select

*********************************************************************************************/

@media only screen and (max-width: 1100px) {
  section.times.user-select .columns .column {
    width: 100%;
  }

  section.times.user-select .content a:not(.button) {
    text-align: left;
  }
}

/*********************************************************************************************

x. Tooltip

*********************************************************************************************/

@media only screen and (max-width: 700px) {
  .tooltip {
    display: none;
  }
}

/*********************************************************************************************

x. Users

*********************************************************************************************/

@media only screen and (max-width: 500px) {
  ul.users li a .image.user {
    width: 35px;
    height: 35px;
  }
}

/*********************************************************************************************

x. Safari

*********************************************************************************************/

input,
select,
textarea {
  border-radius: 0;
  -webkit-appearance: none;
}

