/** Fonts **/
@font-face {
    font-family: "ndot-55";
    src: url('/fonts/Ndot-55.otf')format("opentype")
}

@font-face {
    font-family: "letteramonoll-regular";
    src: url('/fonts/LetteraMonoLL-Regular.otf')format("opentype")
}

@font-face {
    font-family: "Letteramonollcondlight-regular";
    src: url('/fonts/LetteraMonoLLCondLight-Regular.otf')format("opentype")
}

@font-face {
    font-family: "ntype82-headline";
    src: url('/fonts/NType82-Headline.otf')format("opentype")
}

@font-face {
    font-family: "ntype82-regular";
    src: url('/fonts/NType82-Regular.otf')format("opentype")
}

@font-face {
    font-family: "ntype82mono-regular";
    src: url('/fonts/NType82Mono-Regular.otf')format("opentype")
}

html,
body,
#main {
    min-height: 100%;
    height: 100%;
    width: 100%;
    max-width: 2048px;
    /*float: left;*/
    margin: auto;
    font-family: "ntype82mono-regular", Arial, Helvetica Neue, Helvetica, sans-serif;
    position: relative;
    display: inline-block;
    color: #5a5a5a;
    background: #ffffff;
}


body {
    background: #ffffff;
    display: block;
    margin: 0 auto;
}

#wrapper {
    min-height: 100%;
    height: auto;
    display: flow-root;
    margin: 0 auto;
    padding: 0;
    background: #ffffff;
    position: relative;

}

#main {
    min-height: calc(100vh - 197px);
    height: auto;
    background-color: #ffffff;
}

#main #overlay {
    background: #000000;
    opacity: 0.5;
    width: 100%;
    height: calc(100% + 375px);
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 3;
    display: none;
}

.long-video{
    max-width: 100%;
}

/** common classes **/
h1,
h2,
h3,
p,
li {
    margin: 0;
    padding: 0;
    color: #000000;
    float: left;
}

h1 {
    font-size: 32px;
}

h2 {
    font-size: 24px;
}

h3 {
    font-size: 18.72px;
}

p {
    font-size: 16px;
    color: #5a5a5a;
}

a,
.cta {
    font-size: 16px;
    color: #000000;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

a:hover {
    color: #000000;
    text-decoration: none;
    opacity: .9;
}

a.noLink{
    cursor: default;
}

.cta {
    border-radius: 5px;
    height: 40px;
    line-height: 40px;
    text-align: center;
}

.cta:hover{
    opacity: 0.8;
    -webkit-box-shadow: 0px 10px 13px -7px #000000, 0px 5px 10px -2px rgba(0,0,0,0);
    box-shadow: 0px 10px 13px -7px #000000, 0px 5px 10px -2px rgba(0,0,0,0);
}

.cta.disabled{
    cursor: not-allowed;
    background-color: #d4d1d1!important;
    color: #000000!important;
    border: 1px solid #999999;
}

.cta.disabled:hover{
    opacity: 1;
    -webkit-box-shadow: none;
    box-shadow: none;
}

ul {
    list-style: none;
}

.r10 {
    border-radius: 10px;
}

.r30 {
    border-radius: 30px;
}

.no-hover{
    opacity: 1!important;
    -webkit-box-shadow: none!important;
    box-shadow: none!important;
    cursor: default;
}

img {
    max-width: 100%;
}

/* fonts/text */
.logo {
    height: 75px;
    line-height: 75px;
    margin: auto;
    font-size: 2rem;
    letter-spacing: .005em;
    text-transform: uppercase;
    font-family: "ndot-55", Arial, Helvetica Neue, Helvetica, sans-serif;
    position: relative;
    display: inline-block;
}

.logo span{
    font-family: "ntype82-regular", Arial, Helvetica Neue, Helvetica, sans-serif;
}

.spacer {
    height: 10px;
}

.small {
    font-size: 75% !important;
}

.smaller {
    font-size: 50% !important;
}

.smallest {
    font-size: 25% !important;
}

.lightest {
    font-weight: 100;
}

.light {
    font-weight: 300;
}

.bold {
    font-weight: 500;
}

.boldest {
    font-weight: 900;
}

.left {
    float: left;
}

.right {
    float: right;
}

.text-left {
    text-align: left;
}

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

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

.hide-on-desktop {
    display: none;
}

/** header **/
#header {
    max-height: 125px;
    height: auto;
    position: relative;
    background: #ffffff;
}

#logo-container {
    min-height: 75px;
    height: auto;
}

#logo {
    padding: 15px 0 15px 15px;
}

#customer-ctas {}

#customer-ctas .cta {
    min-height: 75px;
    line-height: 75px;
    height: auto;
    color: #ffffff;
    margin: 0 10px;
    text-align: center;
    font-size: 0.9em;
    padding: 0;
}

#customer-ctas .cta:hover {
    text-decoration: underline;
}

#customer-ctas #register.cta {}

#customer-ctas .spacer {
    height: 75px;
    color: #ffffff;
    line-height: 75px;
    font-size: 1.6em;
    float: right;
    font-weight: 100;
    padding-left: 10px;
}

#customer-ctas #login.cta {}

#customer-ctas #logout a {
    font-size: 1em;
}

#desktop-login {
    display: none;
    height: auto;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 16;
    position: absolute;
    right: 0;
    top: 75px;
    text-align: left;
    border: 1px solid #ccc;
    border-top: none;
}

#desktop-login-container {
    width: 90%;
    margin: 5% 5% 0;
}

#desktop-login-container h3 {}

#desktop-login-container .fieldContainer {
    margin: 2.5% 0;
    float: left;
}

#desktop-login-container .fieldContainer label {
    color: #0096AA;
    font-size: 0.8em;
}

#desktop-login-container .fieldContainer input {
    width: 100%;
    border-radius: 5px;
    border: solid 1px #ccc;
}

#desktop-login-container .col-cta {
    height: 40px;
    background-color: #f51e1e;
    float: left;
    display: inline-block;
    width: 100%;
    text-align: center;
    line-height: 40px;
    font-size: 1.2em;
    margin: 5% 0 1%;
    font-size: 0.9em;
}

#desktop-login-container .col-cta:hover {
    opacity: 0.8;
    -webkit-box-shadow: 0px 10px 13px -7px #000000, 0px 5px 10px -2px rgba(0, 0, 0, 0);
    box-shadow: 0px 10px 13px -7px #000000, 0px 5px 10px -2px rgba(0, 0, 0, 0);
}

.cta-container,
.forgot-container {
    float: left;
}

#desktop-login-container .forgot-container {
    padding: 2%;
}

#desktop-login-container .forgot-container p {
    line-height: 40px;
}

#desktop-login-container .forgot-container p a {
    color: #000000;
    font-size: 0.8em;
}

#desktop-login-container .forgot-container p a:hover {
    color: #f51e1e;
}

#header-nav {
    height: 50px;
    background: #fff;
    box-shadow: 0px 5px 5px -2px #7A7A7A;
    z-index: 4;
}

#header-nav ul {
    line-height: 50px;
    text-align: center;
    list-style: none;
    float: right;
    margin-right: 2%;
}

#header-nav ul li {
    float: left;
    margin: 0 10px;
    cursor: pointer;
    font-size: 0.8em;
    position: relative;
    font-weight: 600;
}

#header-nav ul li a {
    font-size: 1em;
    color: #5a5a5a;
}

#header-nav ul li:hover {
    text-decoration: underline;
}

#header-nav ul li ul {
    display: none;
    z-index: 6;
    border: 1px solid #cccccc;
    border-top: none;
    background: #ffffff;
    min-width: 200px;
    padding: 0;
    position: absolute;
    top: 49px;
    border-radius: 0 0 4px 4px;
}

#header-nav ul li li {
    display: block;
    float: left;
    width: 100%;
    text-align: left;
    line-height: 25px;
    font-size: 0.8em;
}

#header-nav ul li li.bold {
    font-weight: 600;
    margin: 5% 0;
    padding: 0 0 0 10px;
    font-size: 1em;
}

#header-nav ul li li.bold:hover {
    text-decoration: none;
}

/** info row **/
#info-row {
    float: left;
    min-height: 70px;
    height: auto;
    line-height: 70px;
    z-index: 2;
}

#info-row ul {
    list-style: none;
    padding: 0;
    float: left;
}

#info-row ul li {
    float: left;
    font-size: 0.8em;
    text-align: center;
}

#info-row ul li i {
    margin-right: 10px;
    font-weight: 600;
    color: #f51e1e;
}

#info-row ul li img {
    margin-right: 10px;
}

/** forms **/
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

input,
select {
    height: 40px;
    line-height: 40px;
}

input:hover,
select:hover,
input:focus,
select:focus,
textarea:focus {
    border: 1px solid #40a9ff;
    outline: none;
}

input[type=file]:hover,
input[type=file]:focus{
    border: none;
}

input:disabled,
.readonly {
    background-color: #dddddd !important;
    border: none;
}

input:disabled:hover,
.readonly:hover {
    border: 1px solid #dddddd !important;
}

input.field-error,
textarea.field-error,
select.field-error{
    border: solid 1px #ff6661!important;
}

input.passed,
input.passed:focus{
    border: 1px solid #008a64;
}

input::placeholder {
    color: #aeadad;
}

input.field-error::placeholder,
textarea.field-error::placeholder {
    color: #ff6661;
    font-size: 0.8em;
}

#save-cta{
    float: right;
    width: 10%;
    background-color: #0c63e4;
    color: #ffffff;
    height: 38px;
    line-height: 36px;
    margin-bottom: 1%;
    margin-right: 10px;
}

label.required::after{
    content: "*";
    color: #f51e1e;
}

/** Sweet Alert **/
.swal2-container h1,
.swal2-container h2,
.swal2-container h3,
.swal2-container p,
.swal2-container a{
    text-align: center;
    float: unset;
}

.swal2-container p,
.swal2-container a {
    font-weight: 100;
    margin: 20px 0 0 0;
    color: #333333;
}

.swal2-container a {
    text-decoration: underline;
}

/** main app display**/
#nav-col,
#main-display{
    min-height: 100%;
    height: auto;
    display: flow-root;
    margin: 0 auto;
    padding: 0;
    position: absolute;
    top:0;
    left: 0;
}

#nav-col{
    width: 10%;
}

#nav-col li{
    height: 100px;
    color: #ffffff;
    display: flex;
    font-size: 1.2em;
    border-bottom: 1px solid #817e7e;
    border-top: 1px solid #ffffff;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#nav-col li.last{
    border-bottom: 1px solid #ffffff;
}

#nav-col li a{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    cursor: pointer;
}

#nav-col li:first-child{
    border-top: none;
}

#nav-col li:last-child{
    border-bottom: 1px solid #ffffff;
}

#nav-col li.logo{
    cursor: default;
}

#nav-col li.logo img{
    max-width: 90%;
}

#nav-col li.menu{
    height: 150px;
}

#nav-col li.menu a:hover{
    text-decoration: underline;
    opacity: 1;
}

#nav-col li.menu img{
    height: 30px;
    clear: both;
}

#main-display{
    left: 10%;
    width: 90%;
    max-width: 1712px;
}

#main-display #display-header{
    height: 50px;
    background-color: #fa4343;
    padding-right: 2.5%;
}

#main-display #display-header #username{
    line-height: 50px;
    color: #ffffff;
}

#main-display #display-header #username img{
    height: 30px;
    margin: 10px 10px 10px 0;
}

#main-display #display-header h2,
#main-display #display-title h2{
    color: #ffffff;
    text-transform: uppercase;
    padding: 0 0 0 2.5%;
    line-height: 50px;
}

#main-display #display-title h2 {
    color: #5a5a5a;
    float: initial;
    text-align: center;
}

#main-display #display-title,
#main-display #sub-header{
    height: 50px;
    padding: 0;
    margin: 0;
}

#main-display{
    background-color: #f0f0f0;
}

#main-display #filter-container{
    min-height: 150px;
}

#main-display #display-content{
    min-height: calc(100vh - 250px);
    height: auto;
    padding: 0 1%;
}

#main-display #display-content.po{
    min-height: initial;
    padding-bottom: 2.5%;
    border-bottom: dashed 1px #c7c7c7;
}

#main-display #asn-details {
    padding-left: 1%;
    margin: 1.5% 0;
}

#registration-banner-container img{
    max-width:100%;
}

/******** Breadcrumb steps *****************/
#breadcrumb-container{
    height: 150px;
}

#steps{
    float: left;
    margin: 2% 0;
}

#steps ul {
    margin: 0;
    padding: 0 0 1% 0;
    position: relative;
}

#steps span li {
    width: 3.5em;
    height: 0;
    text-align: center;
    border-radius: 50%;
    background: #d1d1d1;
    display: inline-block;
    color: #032B5A;
    position: relative;
    font-weight: bold;
    padding-bottom: 3.5em;
    float: initial;
    z-index: 10;
}

#steps span.step_no, #steps span.step_text{
    text-align: center;
    display: inline-block;
    width: 25%;
    float: left;
}

#steps span li div.step_no_content{
    float: left;
    line-height: 1;
    margin-top: -0.5em;
    padding-top: 50%;
    text-align: center;
    width: 100%;
}

#steps ul span.step_no::before{
    content: '';
    position: absolute;
    top: 1.5em;
    left:15%;
    width:70%;
    height: .2em;
    background: #d1d1d1;
    z-index: 1;
}

#steps ul span.step_no.last::before {
    display: none;
}

#steps span li.active {
    background: #000000;
    color:#fff;
}

#steps span .complete {
    background: url('/images/complete_tick.png') no-repeat center #00b1ff;
    background-size: 35%;
}

#steps span .active ~ li {
    background: #d1d1d1;
}

#steps span .active ~ li::before {
    background: #d1d1d1;
}

#steps span li .first{
    margin-left: 0
}

#step_markers{
    width: inherit;
}

#step_markers p {
    display: inline-block;
}

/** footer **/
#footer {
    background: #000000;
    height: 75px;
    position: relative;
}

#footer .fcol {
    float: left;
    height: auto;
    min-height: 150px
}

#footer p {
    font-family: "manrope-medium", Arial, Helvetica Neue, Helvetica, sans-serif;
    color: #ffffff;
    font-size: 0.8em;
    line-height: 32px;
}

#footer p.address {
    margin: 5% 0 0 0;
    float: left;
}

#footer a {
    font-family: "manrope-medium", Arial, Helvetica Neue, Helvetica, sans-serif;
    font-size: 1em;
    color: #ffffff;
    margin: 2% 0;
}

#footer #smIcons a {
    margin: 2% 4%;
    width: 15%;
    display: inline-block;
    font-size: 2em;
}

#footer #smIcons a i {
    float: left;
    color: #ffffff;
    font-weight: 600;
}

/** Exertis Specifics **/
.exertisRed {
    color: #f51e1e;
}

.exertisRed-bg {
    background-color: #f51e1e;
}

.exertisChevron-bg {
    background: #f51e1e url(/images/exertis-chevron.png) no-repeat top left;
}

.grey {
    color: #aeadad !important;
}

.blue {
    color: #40a9ff !important;
}

.light-red {
    color: #ff6661 !important;
}

.dark-green {
    color: #2d7a3f !important;
}

.teal {
    color: #4694A7 !important;
}

.grad-blue{
    background-image: linear-gradient(to right, #05639A, #003667);
}

.grad-blue.rev{
    background-image: linear-gradient(to left, #05639A, #003667);
}

.grad-teal{
    background-image: linear-gradient(to right, #009E8B, #006A6D);
}

.grad-teal.rev{
    background-image: linear-gradient(to right, #006A6D, #009E8B);
}

.grad-purple{
    background-image: linear-gradient(to right, #7C1258, #64003B);
}

.grad-purple.rev{
    background-image: linear-gradient(to right, #64003B, #7C1258);
}

.grad-red {
    background-image: linear-gradient(to right, #F51E1E, #C8001E);
}

.grad-red.rev {
    background-image: linear-gradient(to right, #C8001E, #F51E1E);
}

.grad-orange {
    background-image: linear-gradient(to right, #EFAF2E, #DC7322);
}

.grad-orange.rev {
    background-image: linear-gradient(to right, #DC7322, #EFAF2E);
}

/** Sweet Alert **/
.swal2-container h1,
.swal2-container h2,
.swal2-container h3,
.swal2-container p,
.swal2-container a {
    text-align: center;
    float: unset;
}

.swal2-container p,
.swal2-container a {
    font-weight: 100;
}

/** data tables layout **/
#pre-loader{
    width: 100%;
    float: left;
}

.table-loader{
    display: block;
    width: 5%;
    margin: 0 47.5%;
}

.datatable-table tbody td{
    font-size: 0.8em;
}

.datatable-table tbody td input[type='text'],
.datatable-table tbody td select{
    line-height: 16px;
    height: 30px;
    font-size: 14px;
}

div.dt-container select.dt-input {
    margin-right: 2%;
}

.dataTable thead .dt-column-title{
    font-size: 0.8em;
}

.datatable-table tbody,
.datatable-table td,
.datatable-table tfoot,
.datatable-table th,
.datatable-table thead,
.datatable-table tr {
    line-height: 40px;
}

div.dt-container .dt-paging .dt-paging-button {
    padding: .5em 0;
}

/** filters **/
.filter-icon{
    cursor: pointer;
}

/** error pages **/
#error-container{
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: auto;
    min-height: calc(100vh - 250px);
    height: auto;
}

#error-content {
    width: 50%;
    padding: 20px;
    overflow: auto;
    text-align: center;
}
#error-content h1,
#error-content h2,
#error-content p {
    width: 100%;
    margin: 2.5% 0;
}

#error-content h1 {
    font-weight: 500;
    padding-bottom: 2.5%;
    margin: 2.5% 0 0 !important;
    border-bottom: 1px dashed #ccc;
}

#error-content h2{
    line-height: 1.6;
}

#error-content a{
    text-decoration: underline;
    color: #03214c;
}
