/* -- Fonts */
@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/font-awesome/fa-light-300.ttf');
    
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/font-awesome/fa-regular-400.ttf');
    
    font-weight: 400;
    font-style: normal;
}

@font-face {
    
    font-family: 'KnightSans';
    src: url('../fonts/knightsans/KNIGHTSANSLight.otf') format('opentype');
    
    font-weight: 300;
    font-style: normal;
    
}
@font-face {
    
    font-family: 'KnightSans';
    src: url('../fonts/knightsans/KNIGHTSANSRegular.otf') format('opentype');
    
    font-weight: 400;
    font-style: normal;
    
}
@font-face {
    
    font-family: 'KnightSans';
    src: url('../fonts/knightsans/KNIGHTSANSBold.otf') format('opentype');
    
    font-weight: 700;
    font-style: normal;
    
}

@font-face {
    
    font-family: 'Lato';
    src: url('../fonts/lato/Lato-Thin.ttf') format('truetype');
    
    font-weight: 100;
    font-style: normal;
    
}
@font-face {
    
    font-family: 'Lato';
    src: url('../fonts/lato/Lato-Light.ttf') format('truetype');
    
    font-weight: 300;
    font-style: normal;
    
}
@font-face {
    
    font-family: 'Lato';
    src: url('../fonts/lato/Lato-Regular.ttf') format('truetype');
    
    font-weight: 400;
    font-style: normal;
    
}
@font-face {
    
    font-family: 'Lato';
    src: url('../fonts/lato/Lato-Bold.ttf') format('truetype');
    
    font-weight: 700;
    font-style: normal;
    
}

/* -- Animations */
@keyframes fadeIn {
  0% { opacity: 0 }
  100% { opacity: 1 }
}
@-webkit-keyframes fadeIn {
  0% { opacity: 0 }
  100% { opacity: 1 }
}
@-moz-keyframes fadeIn {
  0% { opacity: 0 }
  100% { opacity: 1 }
}
@-o-keyframes fadeIn {
  0% { opacity: 0 }
  100% { opacity: 1 }
}

@keyframes fadeOut {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
@-webkit-keyframes fadeOut {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
@-moz-keyframes fadeOut {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
@-o-keyframes fadeOut {
  0% { opacity: 1 }
  100% { opacity: 0 }
}

@keyframes loadingGradient{
    from { background-position: -468px 0; }
    to { background-position: 468px 0; }
}
@-webkit-keyframes loadingGradient{
    from { background-position: -468px 0; }
    to { background-position: 468px 0; }
}
@-moz-keyframes loadingGradient{
    from { background-position: -468px 0; }
    to { background-position: 468px 0; }
}
@-o-keyframes loadingGradient{
    from { background-position: -468px 0; }
    to { background-position: 468px 0; }
}

@-o-keyframes alertPulse {
    0% { transform: scale(1); }
    50% { transform: scale(0.9); }
    100% { transform: scale(1); }
}
@-moz-keyframes alertPulse {
    0% { transform: scale(1); }
    50% { transform: scale(0.9); }
    100% { transform: scale(1); }
}
@-webkit-keyframes alertPulse {
    0% { transform: scale(1); }
    50% { transform: scale(0.9); }
    100% { transform: scale(1); }
}
@keyframes alertPulse {
    0% { transform: scale(1); }
    50% { transform: scale(0.9); }
    100% { transform: scale(1); }
}

/* -- Global Elements */
*, *::before, *::after { padding: 0; margin: 0; box-sizing: border-box; -webkit-box-sizing: border-box; }
::-moz-placeholder { opacity: 1; }
::-ms-clear, ::-ms-reveal { display: none; }
html, body { color: rgba(112, 112, 112, 1.0); height: 100%; font-family: 'KnightSans', 'Arial', sans-serif; font-size: 16px; font-weight: 300; }
input, textarea, button { background: 0; border: 0; border-radius: 0; outline: 0; letter-spacing: 0.4px; font-family: inherit; font-size: inherit; color: inherit; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
textarea { resize: none; display: block; }
input[type='date'] { appearance: none; -webkit-appearance: none; -moz-appearance: none; -o-appearance: none; -ms-appearance: none; }
a { color: rgba(188, 207, 0, 1); }

/* -- Utility Elements */
.hardware-acceleration { transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); perspective: 1000; -webkit-perspective: 1000; -moz-perspective: 1000; -o-perspective: 1000; -ms-perspective: 1000; }
.scroll { width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.scroll.overflow-scroll-y { overflow-y: scroll; }
.scroll.transition { transition: all 275ms ease; -webkit-transition: all 275ms ease; -moz-transition: all 275ms ease; -o-transition: all 275ms ease; }
.scroll::-webkit-scrollbar { width: 4px; }
.scroll::-webkit-scrollbar-thumb { background-color: rgba(172, 172, 172, 1.0); border-radius: 2px; }
.scroll-ui-hidden::-webkit-scrollbar { display: none; }
.logo { width: 100%; height: 100%; background-image: url(../images/logo/livesafe-logo.svg); background-position: center; background-repeat: no-repeat; }
.logo.white { background-image: url(../images/logo/livesafe-logo-white.svg); }
.logo.icon-color { background-image: url(../images/logo/livesafe-logo-icon-color.svg); }
.vertical-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); }
.vertical-padding { padding-top: 16px; padding-bottom: 16px; }
.horizontal-padding { padding-left: 16px; padding-right: 16px; }
.fade-transition { transition: visibility 375MS cubic-bezier(0.4, 0.0, 0.2, 1), opacity 375MS cubic-bezier(0.4, 0.0, 0.2, 1); -webkit-transition: visibility 375MS cubic-bezier(0.4, 0.0, 0.2, 1), opacity 375MS cubic-bezier(0.4, 0.0, 0.2, 1); -moz-transition: visibility 375MS cubic-bezier(0.4, 0.0, 0.2, 1), opacity 375MS cubic-bezier(0.4, 0.0, 0.2, 1); -o-transition: visibility 375MS cubic-bezier(0.4, 0.0, 0.2, 1), opacity 375MS cubic-bezier(0.4, 0.0, 0.2, 1); }
.short-transition { transition: all 175MS cubic-bezier(0.4, 0.0, 0.2, 1); -webkit-transition: all 175MS cubic-bezier(0.4, 0.0, 0.2, 1); -moz-transition: all 175MS cubic-bezier(0.4, 0.0, 0.2, 1); -o-transition: all 175MS cubic-bezier(0.4, 0.0, 0.2, 1); }
.default-fade-state { visibility: hidden; opacity: 0; }
.fade-in { visibility: visible; opacity: 1; }
.overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; visibility: hidden; transition: opacity 375ms ease, visibility 375ms ease; -webkit-transition: opacity 375ms ease, visibility 375ms ease; -moz-transition: opacity 375ms ease, visibility 375ms ease; -o-transition: opacity 375ms ease, visibility 375ms ease; }
.overlay.show { opacity: 1; visibility: visible; }
.gradient { background-color: rgba(245, 245, 245, 1); }
.truncate { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/*.side-bar-space { height: 100%; display: block; padding-left: 8px; }*/
.default-bg { background-color: #fff; border-radius: 12px; width: 100%; }
.pointer-events-none { pointer-events: none; }
.padding-wrapper { height: 100%; }
.img-cover, .img-contain { object-position: center; -o-object-position: center; }
.img-cover { object-fit: cover; -o-object-fit: cover; }
.img-contain { object-fit: contain; -o-object-fit: contain; }
.hyper-link { color: #ef7d00; font-size: 12px; text-decoration: underline; } 
.required { color: #ffa8a8; }
.hidden-drag-ghost { width: 0; height: 0; position: absolute; top: 0; left: 0; visibility: hidden; opacity: 0; overflow: hidden; }
.user-select-none { -ms-user-select: none; -o-user-select: none; -moz-user-select: none; -webkit-user-select: none; user-select: none; }
.loading-gradient { background: #f6f7f8; background: linear-gradient(to right, #f7f9fb 8%, #ecf0f5 38%, #f7f9fb 54%); background: -webkit-linear-gradient(to right, #f7f9fb 8%, #ecf0f5 38%, #f7f9fb 54%); background: -moz-linear-gradient(to right, #f7f9fb 8%, #ecf0f5 38%, #f7f9fb 54%); background: -o-linear-gradient(to right, #f7f9fb 8%, #ecf0f5 38%, #f7f9fb 54%); background: -ms-linear-gradient(to right, #f7f9fb 8%, #ecf0f5 38%, #f7f9fb 54%); background-size: 1000px 640px; position: relative; animation: loadingGradient 1.8s linear forwards infinite; -webkit-animation: loadingGradient 1.8s linear forwards infinite; -moz-animation: loadingGradient 1.8s linear forwards infinite; -o-animation: loadingGradient 1.8s linear forwards infinite; }
.divider { width: 100%; height: 1px; margin: 16px 0; background-color: rgba(0, 0, 0, .15); }
.overflow-hidden { overflow: hidden; }

/* -- Image Placeholders */
.profile-placeholder-dark, .image-placeholder-dark { background-repeat: no-repeat; background-position: center; background-size: 50%; width: 100%; height: 100%; }
.profile-placeholder-dark { background-image: url('../images/placeholders/profile-placeholder-dark.svg'); }
.image-placeholder-dark { background-image: url('../images/placeholders/image-placeholder-dark.svg'); }

/* -- FontAwesome */
.fa-icons { font-family: 'FontAwesome'; font-weight: 400; }
.fa-icons.solid { font-weight: 900; }
.fa-icons.light { font-weight: 300; }

/* -- Background image */
.bg-contain, .bg-cover { background-repeat: no-repeat; background-position: center; }
.bg-contain { background-size: contain; }
.bg-cover { background-size: cover; }

/* -- Text related */
.lowercase { text-transform: lowercase; }
.uppercase { text-transform: uppercase; }
.letter-spacing-04px { letter-spacing: 0.4px; }
.text-align-left { text-align: left; }
.text-align-right { text-align: right; }

/* -- Reset padding */
.no-padding { padding: 0; }
.no-padding-top { padding-top: 0; }
.no-padding-left { padding-left: 0; }
.no-padding-right { padding-right: 0;}
.no-padding-bottom { padding-bottom: 0; }
.no-padding-vertical { padding-top: 0; padding-bottom: 0; }
.no-padding-horizontal { padding-left: 0; padding-right: 0; }

/* -- Reset margin */
.no-margin { margin: 0; }
.no-margin-top { margin-top: 0; }
.no-margin-left { margin-left: 0; }
.no-margin-right { margin-right: 0; }
.no-margin-bottom { margin-bottom: 0; }
.no-margin-vertical { margin-top: 0; margin-bottom: 0; }
.no-margin-horizontal { margin-left: 0; margin-right: 0; }

/* -- Auto margin */
.auto-margin { margin: auto; }
.auto-margin-top { margin-top: auto; }
.auto-margin-left { margin-left: auto; }
.auto-margin-right { margin-right: auto; }
.auto-margin-bottom { margin-bottom: auto; }
.auto-margin-vertical { margin-top: auto; margin-bottom: auto; }
.auto-margin-horizontal { margin-left: auto; margin-right: auto; }

/* -- Flexbox */
.display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }
.display-inline-flex { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
.flex-direction-col { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.flex-direction-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
.flex-wrap-wrap { -ms-flex-wrap: wrap; flex-wrap: wrap; }
.align-items-start { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.align-items-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.align-items-end { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
.align-items-baseline { -webkit-box-align:baseline; -ms-flex-align:baseline; align-items:baseline; }
.justify-content-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.justify-content-right { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
.justify-content-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.flex-auto-grow { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
.flex-no-auto-grow { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; }

/* -- View */
.page { background-color: #fff; position: absolute; left: 0; top: 0; bottom: 0; right: 0; width: 100%; overflow: hidden; }
.page.ng-enter { z-index: 88; animation: fadeIn 375MS; -webkit-animation: fadeIn 375MS; -moz-animation: fadeIn 375MS; -o-animation: fadeIn 375MS; }
.page.ng-leave { z-index: 99; animation: fadeOut 375MS; -webkit-animation: fadeOut 375MS; -moz-animation: fadeOut 375MS; -o-animation: fadeOut 375MS; }

/* -- Icon sizes */
.icon-wrapper { width: 48px; height: 48px; padding: 12px; position: relative; }
.icon-wrapper.icon-size-16 { padding: 16px; }

.icon { position: relative; }
.icon.round { border-radius: 100%; }
.icon.small { width: 24px; height: 24px; }
.icon.medium { width: 32px; height: 32px; }
.icon.regular { width: 40px; height: 40px; }
.icon.big { width: 56px; height: 56px; }

/* -- Content */
.content-container { background-color: rgba( 236, 240, 245, 1.0 ); height: calc(100% - 68px); position: relative; }
.content-container.no-calc { height: 100%; }
.content-container .content-loader { width: 100%; height: 0; position: absolute; top: 8px; padding: 8px 0; z-index: 1; overflow: hidden; visibility: hidden; opacity: 0; transition: all 275ms ease; -webkit-transition: all 275ms ease; -moz-transition: all 275ms ease; -o-transition: all 275ms ease; }
.content-container .content-loader.show { width: 100%; height: 70px; visibility: visible; opacity: 1; }
.content-container .content-loader .loader-wrapper { background-color: #fff; width: 36px; height: 36px; position: relative; border-radius: 100%; margin: auto; box-shadow: 0 12px 17px 2px rgba(0, 0, 0, 0.07), 0 5px 22px 4px rgba(0, 0, 0, 0.06), 0 7px 8px 0 rgba(0, 0, 0, 0.01); -webkit-box-shadow: 0 12px 17px 2px rgba(0, 0, 0, 0.07), 0 5px 22px 4px rgba(0, 0, 0, 0.06), 0 7px 8px 0 rgba(0, 0, 0, 0.01); -moz-box-shadow: 0 12px 17px 2px rgba(0, 0, 0, 0.07), 0 5px 22px 4px rgba(0, 0, 0, 0.06), 0 7px 8px 0 rgba(0, 0, 0, 0.01); }

/* -- Tracking Section */
.tracker-info { margin-top: 8px; }
.tracker-info-section:not(:last-of-type) { margin-bottom: 12px; }
.tracker-info-section > span { display: block; }
.tracker-info-section .title { font-size: 12px; font-weight: 400; }
.tracker-info-section .value { color: rgba(172, 172, 172, 1.0); font-size: 10px; }

/* -- Map Section */
.map-section .map-wrapper { margin-bottom: 0; }

/* -- Devices Section */
.devices-section .header-icon-container { height: 100%; }

/* -- Notification Section */
.notification-section .content-container { height: calc(100% - 132px); }
.notification-section .type-notification { margin-bottom: 8px; }
.notification-section .type-notification .time { color: #A8A8A8; font-size: 10px; }
.notification-section .type-notification .icon { color: #004A90; font-size: 12px; }
.notification-section .type-notification .icon.critical { color: #EF1C1C; }

/* -- Contact Order */
.contacts-order-section .cards .card.sortable-chosen { background-color: #e7e7e7; }
.contacts-order-section .description-text { font-size: 12px; margin-bottom: 16px; font-weight: 400; }

/* -- Geofencing Section */
.geofencing-section .map-container .map-info.expand-normal { padding: 0; flex: 0 1 70px; }

/* -- Geofencing List Section */
.geofencing-list-section .square-card { padding-top: 0; padding-bottom: 0; -moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.07), 0 2px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.10); -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.07), 0 2px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.10); box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.07), 0 2px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.10); }
.geofencing-list-section .square-card .square-card-content { height: 224px; }
.geofencing-list-section .square-card .square-card-content .image-container { width: 100%; height: 100%; border-radius: 0; }

/* -- Profile Section */
.profile-section .fellow-travelers { margin: 16px 0 32px; }
.profile-section .fellow-traveler:not(:last-child) { margin-bottom: 8px; }