/*------------------------------------------------------------------
[5. Typography]
*/
/* Standard elements
--------------------------------------------------
*/
/* To Load Hinted Fonts for Windows */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  /*src: local('Montserrat-Regular'), url(http://fonts.gstatic.com/s/montserrat/v5/zhcz-_WihjSQC0oHJ9TCYAzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2'), url(http://fonts.gstatic.com/s/montserrat/v5/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff) format('woff'), url('../fonts/montserrat/Montserrat-Regular.ttf') format('truetype');*/
  src: local('Montserrat-Regular'), url('../fonts/montserrat/Montserrat-Regular.woff2') format('woff2'), url('../fonts/montserrat/Montserrat-Regular.woff') format('woff'), url('../fonts/montserrat/Montserrat-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  /*src: local('Montserrat-Bold'), url(http://fonts.gstatic.com/s/montserrat/v5/IQHow_FEYlDC4Gzy_m8fcmaVI6zN22yiurzcBKxPjFE.woff2) format('woff2'), url(http://fonts.gstatic.com/s/montserrat/v5/IQHow_FEYlDC4Gzy_m8fcnbFhgvWbfSbdVg11QabG8w.woff) format('woff'), url('../fonts/montserrat/Montserrat-Bold.ttf') format('truetype');*/
  src: local('Montserrat-Bold'), url('../fonts/montserrat/Montserrat-Bold.woff2') format('woff2'), url('../fonts/montserrat/Montserrat-Bold.woff') format('woff'), url('../fonts/montserrat/Montserrat-Bold.ttf') format('truetype');
}


/*------------------------------------------------------------------
[15. Form Elements]
*/
label,
input,
button,
select,
textarea {
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
}
input[type="radio"],
input[type="checkbox"] {
  margin-top: 1px 0 0;
  line-height: normal;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
select[multiple],
select[size] {
  height: auto !important;
}
input:focus,
select:focus,
textarea:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
form legend {
  margin: 15px 0px 10px 0px;
}
.form-control {
  background-color: #ffffff;
  background-image: none;
  border: 1px solid rgba(0, 0, 0, 0.07);
  font-family: Arial, sans-serif;
  -webkit-appearance: none;
  color: #2c2c2c;
  outline: 0;
  height: 35px;
  padding: 9px 12px;
  line-height: normal;
  font-size: 14px;
  font-weight: normal;
  vertical-align: middle;
  min-height: 35px;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-transition: background 0.2s linear 0s;
  transition: background 0.2s linear 0s;
}
.form-control:focus {
  border-color: rgba(0, 0, 0, 0.1);
  background-color: #f0f0f0;
  outline: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-control:focus::-moz-placeholder {
  color: inherit;
  opacity: 0.7;
}
.form-control:focus:-ms-input-placeholder {
  color: inherit;
  opacity: 0.7;
}
.form-control:focus::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.7;
}
.form-control::-moz-placeholder {
  color: inherit;
  opacity: 0.33;
}
.form-control:-ms-input-placeholder {
  color: inherit;
  opacity: 0.33;
}
.form-control::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.33;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background: #f8f8f8;
  color: rgba(98, 98, 98, 0.23);
}
/* Input Sizes
--------------------------------------------------
*/
.input-sm,
.form-horizontal .form-group-sm .form-control {
  font-size: 13px;
  min-height: 32px;
  height: 32px;
  padding: 8px 9px;
}
.input-lg,
.form-horizontal .form-group-lg .form-control {
  border-radius: 3px;
  font-size: 18px;
  height: 45px;
  padding: 11px 13px;
}
.input-xlg {
  height: 51px;
  font-size: 18px;
  line-height: 22px;
}
/* Checkboxes and Radio buttons 
--------------------------------------------------
*/
.radio,
.checkbox {
  margin-bottom: 10px;
  margin-top: 10px;
  padding-left: 0px;
}
.radio label,
.checkbox label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 25px !important;
  margin-right: 15px;
  font-size: 13px;
}
.radio label:before,
.checkbox label:before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 10px;
  position: absolute;
  left: 0px;
  background-color: #ffffff;
  border: 1px solid #d0d0d0;
}
.radio label {
  margin-bottom: 6px;
}
.radio label:before {
  bottom: 2.5px;
  border-radius: 99px;
  -webkit-transition: border 0.3s 0s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  transition: border 0.3s 0s cubic-bezier(0.455, 0.03, 0.215, 1.33);
}
.radio input[type=radio]:checked + label:before {
  border-width: 5px;
}
.radio input[type="radio"]:focus + label {
  color: #2c2c2c;
}
.radio input[type="radio"]:focus + label:before {
  background-color: #e6e6e6;
}
.radio input[type=radio] {
  opacity: 0;
  width: 0;
  height: 0;
}
.radio input[type=radio][disabled] + label {
  opacity: 0.65;
}
.radio.radio-success input[type=radio]:checked + label:before {
  border-color: #10cfbd;
}
.radio.radio-primary input[type=radio]:checked + label:before {
  border-color: #6d5cae;
}
.radio.radio-info input[type=radio]:checked + label:before {
  border-color: #3b4752;
}
.radio.radio-warning input[type=radio]:checked + label:before {
  border-color: #f8d053;
}
.radio.radio-danger input[type=radio]:checked + label:before {
  border-color: #f55753;
}
.radio.radio-complete input[type=radio]:checked + label:before {
  border-color: #48b0f7;
}
.checkbox input[type=radio][disabled] + label:after {
  background-color: #e6e6e6;
}
.checkbox label {
  transition: border 0.2s linear 0s, color 0.2s linear 0s;
  white-space: nowrap;
}
.checkbox label:before {
  top: 1.4px;
  border-radius: 3px;
  transition: border 0.2s linear 0s, color 0.2s linear 0s;
}
.checkbox label::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 3.2px;
  top: 0px;
  font-size: 11px;
  transition: border 0.2s linear 0s, color 0.2s linear 0s;
}
.checkbox label:after {
  border-radius: 3px;
}
.checkbox input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0;
}
.checkbox.checkbox-circle label:after {
  border-radius: 99px;
}
.checkbox.checkbox-circle label:before {
  border-radius: 99px;
}
.checkbox input[type=checkbox]:checked + label:before {
  border-width: 8.5px;
}
.checkbox input[type=checkbox]:checked + label::after {
  font-family: 'FontAwesome';
  content: "\F00C";
  color: #fff;
}
.checkbox input[type="checkbox"]:focus + label {
  color: #2c2c2c;
}
.checkbox input[type="checkbox"]:focus + label:before {
  background-color: #e6e6e6;
}
.checkbox input[type=checkbox][disabled] + label {
  opacity: 0.65;
}
.checkbox input[type=checkbox][disabled] + label:before {
  background-color: #eceff3;
}
.checkbox.right label {
  margin-right: 35px;
  padding-left: 0 !important;
}
.checkbox.right label:before {
  right: -35px;
  left: auto;
}
.checkbox.right input[type=checkbox]:checked + label {
  position: relative;
}
.checkbox.right input[type=checkbox]:checked + label::after {
  font-family: 'FontAwesome';
  content: "\F00C";
  position: absolute;
  right: -27px;
  left: auto;
}
.checkbox.check-success input[type=checkbox]:checked + label:before {
  border-color: #10cfbd;
}
.checkbox.check-primary input[type=checkbox]:checked + label:before {
  border-color: #6d5cae;
}
.checkbox.check-complete input[type=checkbox]:checked + label:before {
  border-color: #48b0f7;
}
.checkbox.check-warning input[type=checkbox]:checked + label:before {
  border-color: #f8d053;
}
.checkbox.check-danger input[type=checkbox]:checked + label:before {
  border-color: #f55753;
}
.checkbox.check-info input[type=checkbox]:checked + label:before {
  border-color: #3b4752;
}
.checkbox.check-success input[type=checkbox]:checked + label::after,
.checkbox.check-primary input[type=checkbox]:checked + label::after,
.checkbox.check-complete input[type=checkbox]:checked + label::after,
.checkbox.check-warning input[type=checkbox]:checked + label::after,
.checkbox.check-danger input[type=checkbox]:checked + label::after,
.checkbox.check-info input[type=checkbox]:checked + label::after {
  color: #ffffff;
}
.input-group.transparent .input-group-addon {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.07);
}
/* Form layouts
--------------------------------------------------
*/
@media only screen and (min-width: 768px) {
  form .row {
    margin-left: 0;
    margin-right: 0;
  }
  form .row [class*='col-']:not(:first-child),
  form .row [class*='col-']:not(:last-child) {
    padding-right: 7px;
    padding-left: 7px;
  }
  form .row [class*='col-']:first-child {
    padding-left: 0;
  }
  form .row [class*='col-']:last-child {
    padding-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  form .row [class*="col-md-"]:not(:first-child),
  form .row [class*="col-md-"]:not(:last-child) {
    padding-right: 0;
    padding-left: 0;
  }
}
/* Form layouts  : Horizontal
--------------------------------------------------
*/
.form-horizontal .form-group {
  border-bottom: 1px solid #e6e6e6;
  padding-top: 19px;
  padding-bottom: 19px;
  margin-bottom: 0;
}
.form-horizontal .form-group:last-child {
  border-bottom: none;
}
.form-horizontal .form-group:hover .control-label {
  opacity: .6;
}
.form-horizontal .form-group.focused .control-label {
  opacity: 1;
}
.form-horizontal .form-group .control-label {
  text-align: left;
  opacity: .42;
  -webkit-transition: opacity ease 0.3s;
  transition: opacity ease 0.3s;
}
/* Form layouts  : Attached
--------------------------------------------------
*/
.form-group-attached .form-group.form-group-default {
  border-radius: 0;
  margin-bottom: 0;
}
.form-group-attached > div {
  margin: 0;
}
.form-group-attached > div:first-child.row > [class*='col-']:first-child .form-group-default {
  border-top-left-radius: 2px;
}
.form-group-attached > div:first-child.row > [class*='col-']:last-child .form-group-default {
  border-top-right-radius: 2px;
}
.form-group-attached > div:first-child.form-group-default {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.form-group-attached > div:last-child.row > [class*='col-']:first-child .form-group-default {
  border-bottom-left-radius: 2px;
}
.form-group-attached > div:last-child.row > [class*='col-']:last-child .form-group-default {
  border-bottom-right-radius: 2px;
}
.form-group-attached > div:last-child.form-group-default {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
.form-group-attached > div.row > [class*='col-'] {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.form-group-attached > div.row > [class*='col-'] > .form-group-default {
  display: table;
  width: 100%;
}
.form-group-attached > div.row > [class*='col-']:not(:only-child):not(:last-child) > .form-group-default {
  border-right-color: transparent;
}
.form-group-attached > div:not(:last-child) .form-group-default,
.form-group-attached > div:not(:last-child).form-group-default {
  border-bottom-color: transparent;
}
/* Form layouts  : Responsive Handlers
--------------------------------------------------
*/
@media (max-width: 767px) {
  .form-group-attached .form-group-default {
    border-right-color: rgba(0, 0, 0, 0.07) !important;
  }
}
@media only screen and (min-width: 768px) {
  .form-group-attached > div.row {
    display: table;
    width: 100%;
  }
  .form-group-attached > div.row > [class*='col-'] {
    display: table-cell;
    height: 100%;
    float: none;
    vertical-align: top;
  }
  .form-group-attached > div.row > [class*='col-'] .form-group {
    height: 100%;
    width: 100%;
  }
}
/* Form Groups 
--------------------------------------------------
*/
.form-group {
  margin-bottom: 10px;
}
.form-group label:not(.error) {
  font-family: 'Montserrat';
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 600;
}
.form-group label .help {
  margin-left: 8px;
}
.form-group .help {
  font-size: 12px;
  color: rgba(98, 98, 98, 0.55);
}
.form-group-default {
  background-color: #fff;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 2px;
  padding-top: 7px;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 4px;
  overflow: hidden;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.form-group-default.required:after {
  color: #f55753;
  content: "*";
  font-family: arial;
  font-size: 20px;
  position: absolute;
  right: 15px;
  top: 9px;
}
.form-group-default.disabled {
  background: #f8f8f8;
  color: rgba(98, 98, 98, 0.23);
}
.form-group-default.disabled input {
  opacity: .6;
}
.form-group-default.disabled.focused {
  background: #f8f8f8;
}
.form-group-default.disabled.focused label {
  opacity: 1;
}
.form-group-default.focused {
  border-color: rgba(0, 0, 0, 0.1) !important;
  background-color: #f0f0f0;
}
.form-group-default.focused label {
  opacity: .4;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.form-group-default.has-error {
  background-color: rgba(245, 87, 83, 0.1);
}
.form-group-default.has-success .form-control-feedback,
.form-group-default.has-error .form-control-feedback {
  display: none !important;
}
.form-group-default.has-success .form-control,
.form-group-default.has-success .form-control:focus,
.form-group-default.has-error .form-control,
.form-group-default.has-error .form-control:focus {
  border: none;
  box-shadow: none;
}
.form-group-default.input-group {
  padding: 0;
}
.form-group-default.input-group > label {
  margin-top: 6px;
  padding-left: 12px;
}
.form-group-default.input-group > .form-control {
  margin-top: -2px;
  margin-bottom: 3px;
  padding-left: 12px;
}
.form-group-default.input-group .input-group-addon {
  height: calc(50px);
  min-width: calc(50px);
  border-radius: 0;
  border: none;
}
.form-group-default.input-group.focused .input-group-addon {
  border-color: rgba(0, 0, 0, 0.1);
}
.form-group-default .form-control {
  border: none;
  height: 25px;
  min-height: 25px;
  padding: 0;
  margin-top: -4px;
  background: none;
}
.form-group-default .form-control.error {
  color: #2c2c2c;
}
.form-group-default .form-control:focus {
  background: none;
}
.form-group-default textarea.form-control {
  padding-top: 5px;
}
.form-group-default label {
  margin: 0;
  display: block;
  opacity: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.form-group-default label.label-lg {
  font-size: 13px;
  left: 13px;
  top: 9px;
}
.form-group-default label.label-sm {
  font-size: 11px;
  left: 11px;
  top: 6px;
}
.form-group-default label.highlight {
  opacity: 1;
}
.form-group-default label.fade {
  opacity: .5;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.form-group-default > .input-lg {
  height: 29px;
  min-height: 29px;
  padding-left: 1px;
}
.form-group-default > .input-sm {
  min-height: 18px;
  height: 18px;
}
.form-group-default.form-group-default-select {
  overflow: visible;
}
.form-group-default.form-group-default-select .ui-select-container.ui-select-bootstrap.dropdown .ui-select-match {
  padding-top: 6px;
  height: 23px;
}
.form-group-default.form-group-default-select2 {
  padding: 0;
}
.form-group-default.form-group-default-select2 > label {
  position: absolute;
  z-index: 10;
  padding: 7px 12px 0 12px;
}
.form-group-default.form-group-default-select2 > label.label-lg {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-select2 > label.label-sm {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choice {
  padding-top: 20px;
  height: 52px;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choice .select2-arrow b:before {
  top: 20px;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choice .select2-chosen {
  padding-left: 3px;
  padding-top: 1px;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choices {
  padding-top: 20px;
  height: 52px;
  border: 0px;
}
.form-group-default.form-group-default-select2 > .input-lg {
  height: auto;
  padding: 0;
}
.form-group-default.form-group-default-select2 > .input-lg .select2-choice {
  padding-top: 20px;
  height: 56px;
}
.form-group-default.form-group-default-select2 > .input-sm {
  height: auto;
  padding: 0;
}
.form-group-default.form-group-default-select2 > .input-sm .select2-choice {
  padding-top: 20px;
  height: 46px;
}
.form-group-default.form-group-default-selectFx {
  padding: 0;
}
.form-group-default.form-group-default-selectFx > label {
  position: absolute;
  z-index: 10;
  padding: 7px 12px 0 12px;
}
.form-group-default.form-group-default-selectFx > label.label-lg {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-selectFx > label.label-sm {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-placeholder {
  padding-top: 28px;
  height: 52px;
  padding-left: 12px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select {
  height: auto;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select > span:after,
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select .cs-selected span:after {
  top: 39px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select.input-lg .cs-placeholder {
  height: 60px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select.input-sm .cs-placeholder {
  height: 50px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .dropdown-placeholder {
  vertical-align: top;
}
/* Form validation
--------------------------------------------------
*/
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline {
  color: #0da899;
}
.has-success .form-control {
  border-color: #0da899;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .form-control:focus {
  border-color: #09786e;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
}
.has-success .form-control-feedback {
  color: #0da899;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline {
  color: #c9a843;
}
.has-warning .form-control {
  border-color: #c9a843;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .form-control:focus {
  border-color: #a98b31;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
}
.has-warning .form-control-feedback {
  color: #c9a843;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline {
  color: #f55753;
}
.has-error .form-control {
  border-color: #f55753;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .form-control:focus {
  border-color: #f22823;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
}
.has-error .form-control-feedback {
  color: #f55753;
}
.error {
  font-size: 12px;
  color: #f55753;
  display: block;
}
/* Addon inputs
--------------------------------------------------
*/
.input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
  font-size: 14px;
  padding: 6px 9px;
  display: table-cell;
  border-radius: 3px;
  transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s, color 0.2s linear 0s, box-shadow 0.2s linear 0s, background 0.2s linear 0s;
}
.input-group-addon i {
  position: relative;
  top: 1px;
}
.input-group-addon.primary {
  background-color: #6d5cae;
  border: 1px solid #6d5cae;
  color: #ffffff;
}
.input-group-addon.primary .arrow {
  color: #6d5cae;
}
.input-group-addon.success {
  background-color: #0090d9;
  color: #ffffff;
}
.input-group-addon.success .arrow {
  color: #0090d9;
}
.input-group-addon.info {
  background-color: #1f3853;
  color: #ffffff;
}
.input-group-addon.info .arrow {
  color: #1f3853;
}
.input-group-addon.warning {
  background-color: #fbb05e;
  color: #ffffff;
}
.input-group-addon.warning .arrow {
  color: #fbb05e;
}
.input-group-addon.danger {
  background-color: #f35958;
  color: #ffffff;
}
.input-group-addon.danger .arrow {
  color: #f35958;
}
.input-group-addon .arrow {
  position: relative;
  right: -6px;
  color: #D1DADE;
  z-index: 100;
}
.input-group-addon .arrow:before {
  font-family: 'FontAwesome';
  content: "\f0da";
  font-size: 23px;
  position: absolute;
  left: 17px;
  top: -2px;
}
.input-group-addon:last-child .arrow:before {
  font-family: 'FontAwesome';
  content: "\f0d9";
  font-size: 23px;
  position: absolute;
  left: -23px;
  top: -2px;
}
.input-group-addon:last-child input {
  border-left: 0px;
}

/*------------------------------------------------------------------
[21. Calendar App]
*/
body.overflow-hidden {
  overflow: hidden;
}
/*
Calendar
--------------------------------------------------
Header / .calendar-header
Years / .years .year
Months / .months
Weeks / .weeks-wrapper .week
Grid / .calendar-container
Events / .event-container
*/
.calendar {
  height: 100%;
}
.calendar .drager {
  overflow: hidden;
}
.calendar .drager .scroll-element {
  display: none;
}
.calendar .calendar-header {
  height: 43px;
  background-color: #fafafa;
  line-height: 43px;
  padding-left: 60px;
}
.calendar .calendar-header > .drager {
  width: calc(100% - 141px);
  border-right: 1px solid rgba(0, 0, 0, 0.33);
  margin-top: 7px;
  line-height: 35px;
}
.calendar .calendar-header .years {
  width: auto;
  list-style: none;
  white-space: nowrap;
}
.calendar .calendar-header .years .year {
  display: inline-block;
  width: 69px;
  text-align: center;
  white-space: nowrap;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.calendar .calendar-header .years .year > a {
  color: rgba(0, 0, 0, 0.5);
  position: relative;
}
.calendar .calendar-header .years .year > a.active {
  color: #000;
}
.calendar .calendar-header .years .year > a.has-event:before {
  position: absolute;
  content: '\25CF';
  width: 100%;
  font-size: 8px;
  line-height: 6px;
  text-align: center;
  color: rgba(0, 0, 0, 0.44);
}
.calendar .options {
  padding-left: 60px;
  margin-top: 15px;
}
.calendar .options .months {
  width: auto;
  white-space: nowrap;
  height: 43px;
  line-height: 43px;
}
.calendar .options .months .month {
  min-width: 30px;
  max-width: 100px;
  padding: 0 10px;
  display: inline-block;
}
.calendar .options .months .month > a {
  position: relative;
  color: rgba(0, 0, 0, 0.28);
}
.calendar .options .months .month > a:hover {
  color: rgba(0, 0, 0, 0.33);
}
.calendar .options .months .month > a.active {
  color: #000000;
}
.calendar .options .months .month > a.has-event:before {
  position: absolute;
  content: '\25CF';
  top: -6px;
  width: 100%;
  font-size: 8px;
  line-height: 6px;
  text-align: center;
  color: rgba(0, 0, 0, 0.33);
}
.calendar .options .date {
  margin-bottom: 20px;
}
.calendar .week-dragger {
  border-bottom: 1px solid #e6e6e6;
}
.calendar .weeks-wrapper {
  width: auto;
  white-space: nowrap;
  padding-left: 10px;
  padding-bottom: 12px;
  margin-left: -20px;
  margin-bottom: 5px;
}
.calendar .weeks-wrapper .week {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  padding-right: 30px;
}
.calendar .weeks-wrapper .week:first-child {
  padding-left: 0px;
}
.calendar .weeks-wrapper .week:last-child {
  padding-left: 0;
}
.calendar .weeks-wrapper .week:before {
  content: '';
  position: absolute;
  right: -20px;
  bottom: 6px;
  height: 20px;
  width: 20px;
  border-left: 1px dotted rgba(0, 0, 0, 0.3);
}
.calendar .weeks-wrapper .week.active .day-wrapper .week-date .day > a {
  color: rgba(0, 0, 0, 0.6);
}
.calendar .weeks-wrapper .week .day-wrapper {
  display: inline-block;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date {
  text-align: center;
  width: 21px;
  height: 21px;
  margin: 6px;
  border-radius: 99px;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date.current-date {
  background-color: #e6e6e6;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date.active {
  background-color: #10cfbd;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date.active .day > a {
  font-weight: bold;
  opacity: 1;
  color: #fff;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date .day > a {
  letter-spacing: -0.01em;
}
.calendar .weeks-wrapper .week .day-wrapper .week-day {
  text-align: center;
}
.calendar .weeks-wrapper .week .day-wrapper .day {
  display: inline-block;
  text-align: center;
  position: relative;
  z-index: 10;
  padding: 1px 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.3);
}
.calendar .weeks-wrapper .week .day-wrapper .day > a {
  position: relative;
  width: 100%;
  display: block;
  text-align: center;
  color: rgba(0, 0, 0, 0.3);
  opacity: 0.7;
  font-weight: 600;
}
.calendar .weeks-wrapper .week .day-wrapper .day > a.has-event:before {
  position: absolute;
  content: '\25CF';
  top: -10px;
  width: 100%;
  font-size: 8px;
  line-height: 6px;
  text-align: center;
  color: #10cfbd;
}
.calendar .weeks-wrapper .week .day-wrapper .day.week-header {
  text-transform: uppercase;
  text-align: center;
  font-family: 'Montserrat';
  font-size: 10px;
}
.calendar .calendar-container {
  position: relative;
  height: calc(100% - 200px);
  padding-top: 10px;
}
.calendar .calendar-container .week-view {
  width: 100%;
  height: 100%;
  white-space: nowrap;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.calendar .calendar-container .week-view .tble {
  display: inline-table;
  width: calc(100% - 50px);
  vertical-align: top;
}
.calendar .calendar-container .week-view .tble .thead {
  display: table-row;
  width: 100%;
  background: #fff;
}
.calendar .calendar-container .week-view .tble .thead .tcell {
  padding: 10px;
  height: 40px;
  position: relative;
}
.calendar .calendar-container .week-view .tble .thead .tcell .weekday {
  font-size: 12px;
  display: inline-block;
  color: rgba(0, 0, 0, 0.51);
}
.calendar .calendar-container .week-view .tble .thead .tcell .weekdate {
  font-size: 14px;
  display: inline-block;
  margin-right: 10px;
  color: rgba(0, 0, 0, 0.77);
}
.calendar .calendar-container .week-view .tble .thead .tcell.active .weekdate,
.calendar .calendar-container .week-view .tble .thead .tcell.active .weekday {
  color: #000000;
}
.calendar .calendar-container .week-view .tble .thead .tcell:before {
  content: '';
  border-bottom: 1px solid #e6e6e6;
  width: calc(100% - 18px);
  position: absolute;
  bottom: 0;
}
.calendar .calendar-container .week-view .tble .thead .tcell .event-bubble {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 5px;
  float: right;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
}
.calendar .calendar-container .week-view .tble .tcell {
  display: table-cell;
  height: 80px;
  max-width: 14.2857%;
  width: 14.2857%;
}
.calendar .calendar-container .week-view .tble .trow {
  display: table-row;
}
.calendar .calendar-container .week-view .tble .trow .tcell {
  background: #fff;
  padding: 0 10px;
}
.calendar .calendar-container .week-view .tble .trow .tcell .cell-inner {
  height: 40px;
  position: relative;
}
.calendar .calendar-container .week-view .tble .trow .tcell .cell-inner:first-child {
  border-bottom: 1px dotted #e6e6e6;
}
.calendar .calendar-container .week-view .tble .trow .tcell .cell-inner:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.calendar .calendar-container .week-view .tble .trow .tcell .cell-inner:only-child {
  height: 40px;
  border-bottom: 0;
}
.calendar .calendar-container .week-view .tble .trow .tcell.active {
  background-color: #fef8e7;
}
.calendar .calendar-container .week-view .tble .trow .tcell.active > * {
  border-color: rgba(0, 0, 0, 0.1) !important;
}
.calendar .calendar-container .even-holder {
  position: absolute;
  display: table;
  width: calc(100% - 50px);
  width: 100% \0;
  height: calc(100% - 25px);
}
.calendar .calendar-container .even-holder .event-placeholder {
  height: 100%;
  width: 14.2857%;
  display: table-cell;
}
.calendar .calendar-container .event-container {
  width: 100%;
  height: 40px;
  position: absolute !important;
  z-index: 10;
  overflow: hidden;
}
.calendar .calendar-container .event-container .event-inner {
  padding: 15px;
}
.calendar .calendar-container .event-container .event-inner:before {
  position: absolute;
  width: 8px;
  height: 8px;
  content: '';
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  right: 14px;
  top: 11px;
}
.calendar .calendar-container .event-container .time-wrap {
  line-height: 12px;
  text-align: left;
  color: rgba(0, 0, 0, 0.77);
}
.calendar .calendar-container .event-container .event-start-time,
.calendar .calendar-container .event-container .event-end-time {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.44);
}
.calendar .calendar-container .event-container .event-title {
  font-size: 14px;
  line-height: 15px;
  margin-bottom: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar .calendar-container .event-container .ui-resizable-handle {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}
.calendar .calendar-container .event-container .ui-resizable-handle:after {
  content: "=";
  color: rgba(0, 0, 0, 0.44);
}
.calendar .calendar-container .grid {
  display: block;
  overflow: scroll;
  height: calc(100% - 40px);
  -webkit-overflow-scrolling: touch;
}
.calendar .calendar-container .allday-cell {
  height: 40px;
  display: inline-block;
  width: 50px;
  float: left;
}
.calendar .time-slot-wrapper {
  display: inline-block;
  width: 50px;
  float: left;
  height: 100%;
}
.calendar .time-slot-wrapper .time-slot {
  display: block;
  height: 80px;
  width: 100%;
  background: #fff;
}
.calendar .time-slot-wrapper .time-slot:first-child span {
  display: none;
}
.calendar .time-slot-wrapper .time-slot > span {
  float: right;
  position: relative;
  top: -15%;
  color: rgba(0, 0, 0, 0.46);
  font-weight: bold;
  font-size: 12px;
  right: 5px;
}
.calendar-event {
  width: 330px;
  right: -330px;
}
.calendar-event .scrollable {
  height: 100%;
}
.date-selector {
  cursor: pointer;
}
/*
Responsive Util
*/
@media (max-width: 991px) {
  .calendar {
    background-color: #fff;
  }
  .calendar .calendar-header {
    display: none;
  }
  .calendar .options {
    margin-top: 0;
    padding-left: 10px;
  }
  .calendar .options .months {
    height: 21px;
    line-height: 21px;
  }
  .calendar .options .date {
    margin-bottom: 10px;
  }
  .calendar .calendar-container {
    height: 100%;
  }
  .calendar .calendar-container .week-view .tble {
    white-space: nowrap;
  }
  .calendar .calendar-container .week-view .tble .thead {
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
  }
  .calendar .calendar-container .week-view .tble .tcell {
    display: inline-block;
    max-width: 100%;
    width: 100%;
  }
  .calendar .calendar-container .week-view .tble .trow {
    display: block;
    height: 80px;
  }
  .calendar .weeks-wrapper {
    margin-bottom: 0;
  }
  .calendar-event {
    width: 240px;
    right: -240px;
  }
  .months-drager {
    margin-left: 27px;
    width: calc(100% - 80px);
    margin-top: 14px;
    border-right: 1px solid #e6e6e6;
    padding-top: 0;
  }
}

