* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust:none;
    /* -webkit-user-select: none; */
    /* -webkit-touch-callout: none; */
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.15) rgba(0,0,0,0);
    outline:none;
    box-sizing: border-box;
    font-family: 'Open Sans', tahoma, helvetica;
}

::-webkit-input-placeholder { color:rgba(0,0,0,0.15);}
:-moz-placeholder { color:rgba(0,0,0,0.15);}
::-moz-placeholder { color:rgba(0,0,0,0.15);}
:-ms-input-placeholder { color:rgba(0,0,0,0.15);}

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { }
::-webkit-scrollbar-thumb { background-color: rgba(255,255,255,.15); }

h1, h2, h3, h4 { margin:0; }
h1::first-letter { text-transform: uppercase; }
h1 { font-family: 'Open Sans'; font-size:20px; font-weight: 700; color:#333; text-transform: uppercase; }
h2 { font-family: 'Open Sans'; font-size:14px; font-weight: 700; margin:0; text-transform: uppercase; color:#212830; }
h3 { font-family: 'Open Sans'; font-size:14px; font-weight: 700; color:#212830; text-transform: uppercase; }
hr { height:0; border:0; border-top:1px solid rgba(0,0,0,.15); margin:13px 0; }
.clear {clear:both;}
.hidden { display:none !important; }
.relative { position: relative; }
.inline { display:inline;}
.block { display:block; }
.faded { opacity: .5};
.highlight { color:#212830; }
.clickable:not(.draggable) { transition: all .3s ease-in-out; }
.clickable:hover { cursor:pointer; opacity: .75 !important; }
.clickable:active { cursor:pointer; opacity: .85 !important; }
.spacer { height:10px; }
.bigspacer { height:24px; }
.labelspacer { height:28px; }
.display { display:block; margin-bottom:16px; font-weight: 700;}
.padding { padding:16px; }
.sidepadding { padding-left:16px; padding-right:16px; }
.h100 { height:100%; }
.hcenter { text-align: center; }
.centered { margin:0 auto; }
.empty, .done {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    transform: translate(-50%, -50%);

    font-size:14px;
    font-weight:700;
    text-transform: uppercase;

    text-align: center;
}
.empty i, .done i {
    font-size:100px;
    color:rgba(0,0,0,.25);
    display: block;
}

.untouchable { opacity: .5; pointer-events: none; }

html { height:100%; -ms-overflow-style: -ms-autohiding-scrollbar; }
body {
    background:rgba(255,255,255,1) url('../_img/bg.jpg') no-repeat center center;
    background-size: cover;
    height:100%;
    padding:0;
    margin:0;
    overflow:hidden;
    font-size: 14px;
}

.splash { width:100%; height:100%; position: fixed; top:0; z-index: 99999; background:rgba(255,255,255,1) url('../_img/bg.jpg') no-repeat center center; background-size: cover; }
.splash .overlay { width:100%; height:100%; position: relative; background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(100,100,100,0.25) 10%, rgba(100,100,100,.75) 100%); }
.splash .logo { width:100%; max-width: 640px; margin: 0 auto; height:calc(100vh - 200px); background:url('/_img/logo.png') no-repeat center center; background-size:50% auto; }
.splash .footer { position: absolute; bottom:0; left:0; width:100%; height:200px; background-image: radial-gradient( 100% 200px at top, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 100%); }
.splash .iflogo { width:100%; height:100%; background:url('/_img/iflogo.png') no-repeat center center; background-size:200px auto; }

.app { width:100%; height:100%; }
.main { width:100%; height:100%; }
.panes {}

/* Content */
.content { padding:16px 0; color:#333; }
.content a { color:#333; }
.content.scrollable { height:auto; max-height: calc(100vh - 224px); overflow-x: hidden;}
.gutterspacer { height:0; clear: both; }
.gutter { clear: both; border-top:2px solid rgba(0,0,0,.15); padding-top:16px; margin-top:16px; }

/* Floats */
.floatright { float:right; }
.floatright.button { width: auto; display:inline-block; }
.float50 { float:left; width:50%; }
.float50:nth-child(odd) { padding-right:8px; }
.float50:nth-child(even) { padding-left:8px; }

/* Split */
.split {
    float:left;
    position: relative;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    backface-visibility: hidden;
}
.split:nth-child(odd) { padding-right:16px; border-right:1px solid rgba(0,0,0,.15); }
.split:nth-child(even) { padding-left:16px; border-left:1px solid rgba(0,0,0,.15);}
.split50 {width:50%;}
.split66 {width:66%;}
.split34 {width:34%;}

/* Scrollable */
.scrollable {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    backface-visibility: hidden;
}

/* Buttons */
button {
    cursor:pointer;
    transition: opacity .3s ease-in-out;
    border:2px solid #096cb8;
    background:#096cb8;
    color:#fff;
    width:100%;
    font-size:14px;
    text-transform: uppercase;
    font-weight: 700;
    padding:0 16px;
    height:42px;
    border-radius: 5px;
    display:block;
}
button i { font-size:12px !important; }

button.formbutton { height:42px; font-family: 'Open Sans'; font-size:14px; font-weight: 700; text-transform: uppercase; }
button.fullwidth { max-width:100%; }
button.halfwidth { max-width:48% !important; display:inline-block !important; }
button.halfwidth:nth-child(odd) { margin-right:1% !important; }
button.halfwidth:nth-child(even) { margin-left:1% !important; }
button.autowidth { width:auto; }
button.autoheight { height:auto; padding:20px; }
button:active {opacity:.85; color:rgba(255,255,255,.5); }
button.autoheight:active { padding:20px; }
button.green { background:#00aa00; border-color:rgba(255,255,255,.25); color:#fff; }
button.red { background:#cc0000; border-color:rgba(255,255,255,.25); color:#fff; }
button.grey { background:#666; border-color:rgba(255,255,255,.25); color:#fff; }
button.loading { background:transparent; }
button:disabled { opacity: .25; }
/* button.outlined { background:transparent; border:2px solid #212830; color:#212830; } */

/* Inputs */
label:not(.checkbox) { font-size:11px;  font-weight: 700; height:18px; line-height: 16px; text-transform: uppercase; display:block; color:rgba(0,0,0,.5); margin:5px 0; }
form label { margin-top:16px; }
input[type=text], input[type=password], input[type=tel] {
    width:100%;
    height:42px;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 100%);
    border:2px solid #096cb8;
    border-radius: 5px;
    color:#333;
    font-size:13px;
    font-weight: 700;
    padding:10px;
}
input.required {
    background-image: linear-gradient(45deg, transparent 0%, transparent 90%, rgba(255,255,255,.25) 90%, rgba(255,255,255,.25) 100%);
    background-position: calc(100% - 2px) 2px;
    background-size:50px 50px;
    background-repeat: no-repeat;
}
input.required.error {
    border-color:#cc0000;
    background-image: linear-gradient(45deg, transparent 0%, transparent 90%, #cc0000 90%, #cc0000 100%);
}
.inputwrap { position: relative; }
.inputwrap input { border:0; padding:6px 10px; }
.inputwrap:after {
    content:'';
    width:100%;
    height:2px;
    background:#212830;
    position: absolute;
    bottom:-2px;
    left:0;
    z-index:1;
}
select { width:100%; background:rgba(0,0,0,0); border:2px solid #096cb8; height:42px; border-radius: 5px; color:#333; font-size:13px; padding:10px; font-weight: 700; -webkit-appearance: none; margin:0; outline:none;}
select option { font-size:16px; color:#000; font-family: 'Open Sans', tahoma, helvetica; font-weight: 700; font-size:13px; outline:none; }
.selectwrapper { position: relative; box-sizing: border-box; margin:0; }
.selectwrapper:after { position: absolute; right:14px; top:50%; margin-top:-6px; font-size:12px; content:'\f078'; font-family: 'FontAwesome'; color:#333; }

textarea {
    width:100%;
    min-height: 60px;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 100%);
    border:2px solid #096cb8;
    border-radius: 5px;
    color:#333;
    font-size:13px;
    font-weight: 700;
    padding:10px;
    resize:vertical;
}

.datepickerwrap {position: relative; height:46px; border:2px solid #212830; border-radius: 5px; }
.datepickerwrap:after { position: absolute; right:14px; top:50%; margin-top:-10px; font-size:16px; content:'\f073'; font-family: 'FontAwesome'; color:#000; }
.datepickerwrap input { line-height: 42px; padding-top:0; padding-bottom:0; text-align: left; }

.datepickerwrapper { position: relative; box-sizing: border-box; margin:0; padding:5px 8px; border:2px solid #096cb8; border-radius: 5px; }
.datepickerwrapper:after { position: absolute; right:12px; top:12px; font-size:12px; content:'\f078'; font-family: 'FontAwesome'; color:#333; }
.datepickerwrapper.open:after { content:'\f077'; }
.datepickerwrapper>label { font-size: 13px; color:#333; text-transform: capitalize; padding:1px 3px; }

.displaywrap { display:none; }

/* Menu */
.navigation .topwrap { width:100%; display:block; position: relative; max-width:1280px; margin:0 auto; padding:16px; height:65px; }
.navigation .bottomwrap { background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%); min-height:32px;}
.navigation .logowrap { text-align: center; }
.navigation .logo { height:32px; display:block; margin: 0 auto; }

.navigation .location { cursor:pointer; position: absolute; top:0; left:0; color:rgba(0,0,0,.5); font-size:13px; padding:24px; font-weight: 700; text-transform: uppercase; transition: opacity .3s ease-in-out; z-index:999; }
.navigation .location p { display: inline; }
.navigation .location p.short { display:none; }
.navigation .location.active { color:#fff; }

.navigation .admin { cursor:pointer; position: absolute; top:0; right:0; color:rgba(0,0,0,.5); font-size:13px; padding:24px; font-weight: 700; text-transform: uppercase; transition: opacity .3s ease-in-out; z-index:999; }
.navigation .admin p { display: inline; }
.navigation .admin p.short { display:none; }
.navigation .admin.active { color:#fff; }

/* Dropdown */
.navigation .dropdown {
    display:none;
    position: absolute;
    top:100%;
    margin-top:0;
    z-index:999;
    width:100%;
    max-width:320px;
    background: linear-gradient(to bottom, rgba(206, 206, 206, 0.95) 0%,rgba(255,255,255,.95) 32px, rgba(255,255,255,.95) 100%);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    color:#fff;
    padding:16px;
    box-sizing: border-box;
}
.navigation .dropdown.locationmenu { left:0; }
.navigation .dropdown.adminmenu { right:0; }
.navigation .dropdown .bigicon { font-size: 100px; margin-top:16px; color:rgba(0,0,0,.15); }

.dropdown.menuDown { animation: menuDown 0.2s ease-in-out; animation-fill-mode: both; }
.dropdown.menuUp { animation: menuUp 0.2s ease-in-out; animation-fill-mode: both; }

@-webkit-keyframes menuDown {
    from { opacity: 0; transform: translate3d(0, -64px, 0); }
    to { opacity: 1; transform: none; }
}

@-webkit-keyframes menuUp {
    from { opacity: 1; transform: none; }
    to { opacity: 0; transform: translate3d(0, -64px, 0); }
}

.navigation .dropdown h3 { color:#096cb8; margin-bottom:20px; }
.navigation .dropdown a { display:block; text-decoration: none; color:#333; padding:16px 0; font-weight: 700; text-transform: uppercase; border-bottom: 1px solid rgba(0,0,0,0.15); }
.navigation .dropdown a:last-of-type { border-bottom:0; }

.navigation .back { cursor:pointer; position: absolute; top:0; left:0; text-align: center; color:rgba(0,0,0,1); font-size:14px; padding:24px; font-weight: 700; text-transform: uppercase; transition: all .3s ease-in-out; }
.navigation .back p { display: inline; }
.navigation .back p.short { display:none; }
.navigation .back.active { color:#fff; }

.navigation .menuwrap { width:100%; max-width:1280px; padding:0 16px; margin:0 auto; }
.navigation .menu { width:100%; border-bottom:2px solid rgba(255,255,255,0.1); background: linear-gradient(to bottom, rgba(255,255,255,.1) 0%,rgba(255,255,255,.25) 60px, rgba(255,255,255,0) 61px, rgba(255,255,255,0) 100%); }
.navigation .menu table { width:100%; max-width:1260px; height:50px; margin:0 auto 0 auto; }
.navigation .menu table td { cursor:pointer; width:25%; text-align: center; background:transparent; color:rgba(0,0,0,.5); line-height: 24px; font-size:24px; padding-top:5px; border-bottom:3px solid rgba(0,0,0,0); transition: all .3s ease-in-out; }
.navigation .menu table td.active { color:#333; border-bottom:3px solid #333; transition: all .3s ease-in-out; }
.navigation .menu table td i { line-height: 24px; font-size:20px; vertical-align: bottom;}
.navigation .menu table td p { margin-left:10px; display: inline; line-height: 24px; font-size: 14px; font-weight: 700; text-transform: uppercase; }

/* Login */
view.login { width:100%; height:100%; display: flex; align-items: center; color:#fff; }
view.login div { margin:0 auto; }
view.login .logo { width:66%; max-width:480px; margin:0 auto 32px auto; display:block; }
view.login .loginform { width:100%; max-width:480px; padding:0 10px;  margin:0 auto; }
view.login .loginform .table { display:table; max-width:360px; margin-bottom:32px; }
view.login .loginform .icon { display: table-cell; width:100px; padding-left:32px; }
view.login .loginform .icon i { font-size:128px; transform:rotate(15deg); }
view.login .loginform .msg { display:table-cell; padding-left:32px; padding-right:32px; font-size: 14px; vertical-align: middle;}
view.login .loginform .msg h1 { margin-top:0; }
view.login .loginform label { display:inline-block; margin:5px 0; }
view.login .loginform input { display:block; width:100%; margin: 0 0 24px 0; background:rgba(0,0,0,0); border-color:rgba(0,0,0,.25); }
view.login .loginform .inputwrap:after { background:#096cb8; }
view.login .loginform .inputwrap:focus-within:after { background:#096cb8; height:3px; }
/* view.login .loginform button { text-transform: none; color:#333; height:50px; font-size:32px; margin-top:32px; } */
view.login .loginform .msg p.short { display:none; }
view.login .loginform .msg p.long { display:inline; }

/* View */
view { width:100%; height:100%; display:block; position: relative; max-width:1280px; margin:0 auto; padding:0 16px; }

    /* Slick */
    .slick, .panes { height:100%; }
    .slick-track { height:100%; }
    .slick-slide { padding:0px; }

/* Offline */
view.offline { width:100%; height:100%; display: flex; align-items: center; }
view.offline .logo { width:100%; max-width:80%; margin:0 auto; display:block; margin-bottom:24px; }
view.offline .content { width:100%; max-width:80%; margin:0 auto; }
view.offline button { margin-top:24px; }

/* Tabs */
.tab { display: inline-block; padding:10px 14px; border:1px solid rgba(0,0,0,0); border-bottom: 1px solid rgba(0,0,0,.15); margin-top:15px; font-size:13px; font-weight: 700; }
.tab:first-child { margin-left:10px; position: relative; }
.tab:first-child:after {
    content:'';
    position: absolute;
    left:-10px;
    bottom:-1px;
    width:10px;
    height:1px;
    background:linear-gradient(to left, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 100%);
}
.tab:last-child { position: relative; }
.tab:last-child:after {
    content:'';
    position: absolute;
    left:100%;
    bottom:-1px;
    width:320px;
    height:1px;
    background:linear-gradient(to right, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 100%);
}
.tab.active {
    color:#096cb8;
    border-color:rgba(0,0,0,.25);
    border-right:1px solid rgba(0,0,0,.25);
    border-bottom: 1px solid rgba(0,0,0,0);
}

/* Lists */
ul.list { list-style: none; padding:0; margin:0; }
ul.list li { color:#333; }
ul.list li.subheader { font-weight:700; padding:24px 16px 16px 16px; color:rgba(0,0,0,.5); }
ul.list li.subheader:first-child { padding:16px; }
ul.list li.item { display:table; width:100%; cursor:pointer; user-select: none; border-top:1px solid rgba(0,0,0,.15); }
ul.list li.item .icon { display:table-cell; vertical-align:middle; width:56px; font-size:32px; padding:16px; }
ul.list li.item .desc { display:table-cell; vertical-align:middle;}
ul.list li.item .desc p { margin:0; font-size:12px; }
ul.list li.item .desc p:first-child { font-weight: 700; font-size:14px; margin:3px 0; }
ul.list li.item .button { display:table-cell; vertical-align:middle; width:16px; font-size:16px; padding:0 10px 0 6px; }
ul.list li.item .button i { padding: 10px; border-radius: 25%; }
ul.list li.item div.checkbox { display:table-cell; text-align: right; padding:16px 6px 16px 16px; width:60px;}
ul.list .placeholder { width:100%; height:75px; background: rgba(0,0,0,.1); border:2px dotted rgba(0,0,0,.25); border-radius: 5px;}
ul.list li.footer { padding:16px; border-top:1px solid rgba(0,0,0,.15); }

.list td { font-size:12px; font-weight: 700; }
.list tr td:first-child { color: #096cb8; }

.modal_window table.list tbody th { font-size:12px; font-weight: 700;}
.modal_window table.list tbody tr:nth-child(even) { background:#fafafa;}

/* Listbuttons */
ul.buttons { list-style: none; padding:0; margin:0; }
ul.buttons li { color:#096cb8; cursor:pointer; user-select: none; }
ul.buttons li.item { display:table; width:100%; border-bottom:1px solid rgba(0,0,0,.15); }
ul.buttons li.item:last-child { border-bottom:1px solid transparent; }
ul.buttons li.item .icon { display:table-cell; vertical-align:middle; width:32px; font-size:16px; padding:16px 10px 16px 10px; }
ul.buttons li.item .text { display:table-cell; vertical-align:middle; font-weight: 700; text-transform:uppercase; }

/* Forms */
/* .form { overflow:auto; -webkit-overflow-scrolling: touch; transition: height .3s ease-in-out; } */

/* Tasks */
i.empty { font-size:100px; margin:32px auto; text-align: center; display:block; color:#eee; }

/* Datepicker */
.ui-datepicker { padding:0px !important; width:100% !important; border:0 !important; }
.ui-datepicker-calendar a { font-family:'Open Sans', Helvetica, tahoma; font-size:13px; }
.ui-widget-content { background: rgba(0,0,0,0) !important; color: #333 !important; }
.ui-widget-header { border: none !important; background: rgba(0,0,0,0) !important; color: #333 !important; text-transform: uppercase; }

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    padding-top: 4px;
}

.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover {
    background:rgba(0,0,0,.1) !important;
    border-color:transparent !important;
}

.ui-datepicker-next-hover { right:3px !important; }


.ui-widget-header .ui-icon {
    display: none !important;
    background: none !important;
    position: relative !important;
    text-indent: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.ui-datepicker-prev:before {
    content: "\f053";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: #096cb8;
    font-size: 14px;
    padding-left:7px;
}
.ui-datepicker-next:before {
    content: "\f054";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: #096cb8;
    font-size: 14px;
    padding-left:9px;
}

.ui-datepicker th { width:14%; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 2px solid rgba(0,0,0,.15) !important; background: rgba(0,0,0,0) !important; color: rgba(0,0,0,.25) !important; border-radius: 3px; height:40px; text-align: center; font-size:14px; line-height: 30px;}
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { background: rgba(0,0,0,0) !important; color: #096cb8 !important; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { background: rgba(0,0,0,0) !important; border: 2px solid #096cb8 !important; color: #096cb8 !important; }

.ui-timepicker-wrapper {
    width: 50% !important;
    background: #fff !important;
    height: 150px !important;
    overflow: auto !important;
    text-align: center;
}

ul.ui-timepicker-list { padding: 0; margin: 0; }
.ui-timepicker-wrapper  li { list-style-type: none; }
li.ui-timepicker-am.ui-timepicker-selected { background: #212830; color: #fff; font-weight: bold; }
.ui-state-hover { border-color:#212830 !important; }

/* Toast */
.toast_window {
	position:absolute;
    width:100%;
	background: #fff;
    border-bottom: 2px solid rgba(0,0,0,.15);
	color:#096cb8;
	font-size:14px;
	font-weight:700;
	padding:20px 12px 16px 12px;
	text-align:center;
	z-index:99999;
	top:0;
    box-shadow: 0px 0px 100px 0px rgba(0,0,0,.25);
}

.toast_window a { color:#333; font-weight: 400; }
.toast_window .fa-check { color:#00cc00; }
.toast_window .fa-exclamation-triangle { color:#ecab2d; }

/* Modal */
.modal_bg {
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 65px, rgba(0,0,0,.1) 66px, rgba(0,0,0,.1) 100%);
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    position: fixed;
    z-index: 98;
    display: none;
}
.modal_window {
    position: absolute;
    background:#fff;
    color:#333;
    width: 100%;
    max-width:320px;
    min-height: 32px;
    z-index: 99;
    padding:20px;
    font-family:tahoma, helvetica;
    font-weight: 400;
    font-size:14px;

    -webkit-box-shadow: 0px 0px 100px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 100px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 100px 0px rgba(0, 0, 0, 0.25);
}

.modal_window .fa-ul {
    margin: 0;
    padding: 0 20px;
    list-style-type: square;
}

.modal_close {
    position: absolute;
    top: 0px;
    right: 0px;
    color: #555;
    font-size: 16px;
    padding: 21px 23px;
}

.modal_window a { color:#096cb8; }

.modal_button_wrapper { display:inline-block; width:50%; vertical-align: top;}
.modal_button_wrapper:first-child { padding-right:10px; }
.modal_button_wrapper:last-child { padding-left:10px; }
.modal_button { margin:0 !important; position:relative; }
.modal_window h1 { margin:0 0 10px 0; }
/* .modal_content { margin:10px 0; } */
.modal_icon.modal_success::before, .modal_icon.modal_success::after, .modal_icon.modal_success .modal_fix { background:#fff; }

/* Loader */
.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top:-24px;
    margin-left:-24px;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    padding:0;
    box-sizing: border-box;
    border: 5px solid rgba(255, 255, 255, 0.15);
    border-top: 4px solid rgba(255,255,255,1);
    animation: loader 1.2s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.buttonloader {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top:-12px;
    margin-left:-12px;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    padding:0;
    box-sizing: border-box;
    border: 5px solid rgba(255, 255, 255, 0.15);
    border-top: 4px solid rgba(255,255,255,1);
    animation: loader 1.2s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

@keyframes loader { 100% { transform: rotate(360deg); } }

/* Restyle checkboxes */
input[type=checkbox] + label.checkbox { display: inline-block; cursor: pointer; width: 30px; height: 30px; margin: 0; }
input[type=checkbox] { width:24px; height:24px; display: none; }
input[type=checkbox] + label.checkbox:before {
    content: "\f00c";
    font-family: 'FontAwesome';
    font-size: 24px;
    border: 2px solid rgba(0,0,0,.15);
    border-radius: 0.2em;
    display: inline-block;
    width:24px;
    height:24px;
    margin-right: 0.2em;
    vertical-align: bottom;
    color: transparent;
    transition: .2s;
}
input[type=checkbox] + label.checkbox:active:before { transform: scale(0); }
input[type=checkbox]:checked + label.checkbox:before { color:#00cc00; border-color: rgba(0,0,0,.15); }
input[type=checkbox]:disabled + label.checkbox:before { transform: scale(1); border-color: rgba(0,0,0,0); }
input[type=checkbox]:checked:disabled + label.checkbox:before { transform: scale(1); background-color: #bfb; border-color: #bfb; }

/* Fake checkboxes */
label.fakecheckbox:before {
    content: "\f00c";
    font-family: 'FontAwesome';
    font-size: 24px;
    border: 2px solid rgba(0,0,0,.15);
    border-radius: 5px;
    display: inline-block;
    width:32px;
    height:32px;
    line-height: 32px;
    color: transparent;
    transition: .2s;
    text-align: center;
}
label.fakecheckbox:active:before { transform: scale(0); }
label.fakecheckbox.checked:before { color:#00cc00; border-color: rgba(255,255,255,.15); }

/* Complete message */
table.completedMsg { margin:0 auto; }
table.completedMsg i { font-size:64px; }

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active { -webkit-animation: autofill 0s forwards; animation: autofill 0s forwards; }
@keyframes autofill { 100% { background: transparent; color: inherit; } }
@-webkit-keyframes autofill { 100% { background: transparent; color: inherit; } }

/* Custom animations */
.puff-out-center {
	-webkit-animation: puff-out-center 1s cubic-bezier(0.165, 0.840, 0.440, 1.000) both;
	        animation: puff-out-center 1s cubic-bezier(0.165, 0.840, 0.440, 1.000) both;
}

@-webkit-keyframes puff-out-center {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
}
@keyframes puff-out-center {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
}
