@import url(https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i);@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i);.icn-ffffff-arrow_left {
  background-image: url("/public/images/icons/ffffff/arrow_left.svg");
}

/* ----- HTML ----- */

* {
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif;
}

html,
body {
  height: 100%;
  background: #FFFFFF;
}

/* ----- HEADER ----- */

ul#header {
    width: 100%;
    height: 54px;
    background: #353535;
    font-size: 0;
    border-bottom: 3px solid #00ADEF;
}

ul#header > li {
    display: inline-block;
    width: 100%;
    height: 100%;
    vertical-align: top;
    box-sizing: border-box;
    padding: 12px 16px;
    text-align: center;
}

ul#header div.logo {
    height: 30px;
    width: 100%;
    background: url("/public/images/site_header_logo.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

ul#header > li.right {
    text-align: right;
}

/* ----- BODY ----- */

ul#body {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    list-style: none;
    font-size: 0;
    height: calc(100% - 98px);
    width: 100%;
    border-top: 1px solid #999999;
    overflow-y: scroll;
    overflow-x: hidden;
}

ul#body > li {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    height: 100%;
}

ul#body > li > div.page-body {
    position: relative;
    flex: 1;
    overflow-x: hidden;
    overflow-y: scroll;
    z-index: 1;
}

ul#body > li > div.page-body.splash {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url('/public/images/background/background_3.jpg');
}

ul#body > li > div.page-body.splash::before {
    content: "";
    position: fixed;
    top: 58px;
    left: 0;
    width: 100%;
    height: calc(100% - 98px);
    background-color: rgba(53,53,53,0.8);
    z-index: 0;
}

/* ----- WRAPPER ------ */

ul.wrapper {
    font-size: 0;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    padding: 20px 25px;
    overflow-x: hidden;
}

ul.wrapper > li {
    display: none;
    width: 100%;
}

ul.wrapper > li.active {
    display: block;
}

/* ----- FLEXBOX ----- */

ul.flexbox {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
}

ul.flexbox.justify-end {
    justify-content: flex-end;
}

ul.flexbox.justify-start {
    justify-content: flex-start;
}

ul.flexbox > li {
    flex: 1;
}

ul.flexbox > li.noflex {
    flex: 0;
    white-space: nowrap;
}

/* ----- HALIGN ------ */

.halign-left {
    text-align: left !important;
}

.halign-center {
    text-align: center !important;
}

.halign-right {
    text-align: right !important;
}

/* ----- FOOTER ----- */

div#footer {
    width: 100%;
    height: 40px;
    background: #353535;
    box-sizing: border-box;
    border-top: 1px solid #454545;
}

div#footer ul {
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 0;
    list-style: none;
}

div#footer li {
    display: inline-block;
    width: 50%;
    height: 100%;
    line-height: 40px;
    vertical-align: top;
    font-size: 15px;
    color: #EEEEEE;
    font-weight: 200;
    box-sizing: border-box;
    padding: 0 12px;
}

div#footer li.right {
    text-align: right;
}

div#footer a {
    color: inherit;
    text-decoration: none;
}

/* ----- FONTS ----- */

h1 {
  font-size: 28px;
  font-weight: 300;
  color: #FFFFFF;
}

h2 {
  font-size: 20px;
  font-weight: 400;
  color: #212121;
}

h3 {
  font-size: 20px;
  font-weight: 300;
  color: #212121;
}

h4 {
  font-size: 18px;
  font-weight: 300;
  color: #212121;
}

h5 {
  font-size: 15px;
  font-weight: 300;
  color: #212121;
}

h6 {
  font-size: 15px;
  font-weight: 300;
  color: #777777;
}

h6.info {
    padding-left: 22px;
    background-position: left;
    background-repeat: no-repeat;
    background-size: 16px;
    background-image: url('/public/images/icons/353535/info.svg');
}

.font-color-white {
    color: #FFFFFF !important;
}

.fullwidth {
    width: 100%;
}

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

a:hover {
    text-decoration: underline !important;
}

/* ----- FORM ----- */

form > ul.form-feedback {
    display: none;
}

form label {
    display: block;
    font-size: 17px;
    font-weight: 300;
    color: #212121;
    margin-bottom: 12px;
}

form input {
    width: 100%;
    display: block;
    font-size: 16px;
    font-weight: 300;
    color: #212121;
    padding: 11px 15px;
    border-radius: 3px;
    border: 1px solid #777777;
    border-bottom: 3px solid #00ADEF;
    box-sizing: border-box;
    margin-bottom: 24px;
}

form input::placeholder {
    color: #AAAAAA;
}

form input.dark {
    background: rgba(74,74,74,0.6);
    border: 1px solid #777777;
    border-bottom: 3px solid #00ADEF;
    color: #FFFFFF;
}

form input.empty {
    border-color: #E67573;
}

form input.dark::placeholder {
    color: #888888;
}

form select {
    width: 100% !important;
}

form div.button {
    text-align: right;
    margin-top: 20px;
}

form div.button > button {
    margin-left: 12px;
}

.select2-container.loading {
    pointer-events: none;
}

.select2-container.loading::after {
    position: absolute;
    content: "";
    width: 43px;
    height: 43px;
    top: 0;
    right: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url('/public/images/button_spinner.gif')
}

.select2-container.loading .select2-selection__arrow {
    display: none;
}

.select2-container {
    margin-bottom: 18px;
    border-bottom: 3px solid #00ADEF;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    width: 100%;
}

.select2-selection,
.select2-selection__rendered,
.select2-selection__arrow {
    height: 44px !important;
    line-height: 44px !important;
    border-bottom: 0;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.select2-selection__placeholder,
.select2-selection__rendered {
    font-size: 16px !important;
    font-weight: 300 !important;
}

.select2-selection__rendered {
    padding-left: 15px !important;
}

.select2-selection__placeholder {
    color: #999999 !important;
}

.select2-search--dropdown {
    padding: 7px 6px !important;
}

.select2-search__field {
    font-size: 16px !important;
    font-weight: 300 !important;
    padding: 7px 8px !important;
}

a.button,
button {
    display: inline-block;
    font-size: 16px;
    font-weight: 300;
    padding: 13px 29px;
    border-radius: 28px;
    background-color: #0171A9;
    border: 0;
    color: #FFFFFF;
    box-sizing: border-box;
    cursor: pointer;
    transition: 0.25s background-color;
    text-decoration: none !important;
}

button.input {
    border-radius: 4px;
    padding: 13px 17px;
}

a.button.loading,
button.loading {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 46px;
    background-image: url('/public/images/button_spinner.gif');
    pointer-events: none;
    color: rgba(0,0,0,0.01);
    outline: none;
}

a.button:hover,
button:hover {
    background-color: #018ECC;
}

div.button-wrapper {
    width: 100%;
    text-align: right;
}

div.button-wrapper > button {
    margin-left: 12px;
}

div.button-central {
    margin-top: 24px;
    text-align: left;
}

div.button-central > button,
div.button-central > a.button {
    margin-right: 12px;
}

/* ------ VSPACER ------ */

.vspacer-10 {
    display: block;
    min-height: 10px !important;
}

.vspacer-20 {
    display: block;
    min-height: 20px !important;
}

/* ------ MARGIN AND PADDING ------ */

.m-top-1 {
    margin-top: 3px !important;
}

.m-top-2 {
    margin-top: 6px !important;
}

.m-top-3 {
    margin-top: 12px !important;
}

.m-top-4 {
    margin-top: 24px !important;
}

.m-bottom-1 {
    margin-bottom: 3px !important;
}

.m-bottom-2 {
    margin-bottom: 6px !important;
}

.m-bottom-3 {
    margin-bottom: 12px !important;
}

.m-bottom-4 {
    margin-bottom: 24px !important;
}

.m-left-1 {
    margin-left: 3px !important;
}

.m-left-2 {
    margin-left: 6px !important;
}

.m-left-3 {
    margin-left: 12px !important;
}

.m-left-4 {
    margin-left: 24px !important;
}
