/** Override select2 */
.select2-container--default .select2-selection--single {
    height: 39px;
    border-color: #ccc;
    font-size: 1rem;
    padding-top: 5px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 7px;
}


body {
    overflow-x: hidden;
    font-family: 'Nunito Sans', sans-serif;
    height: 100%;
}

html {
    height: 100%;
    font-size: 16px;
}


/** Loader */
body.loading-state .loader {
    display: block;
}

body.loading-state main {
    pointer-events: none;
    opacity: .3;
}


.loader {
    display: none;
    left: 50%;
    top: 50%;
    position: fixed;
    
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); 
}

.loader #spinner {
    box-sizing: border-box;
    stroke: #673AB7;
    stroke-width: 3px;
    -webkit-transform-origin: 50%;
            transform-origin: 50%;
    -webkit-animation: line 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite, rotate 1.6s linear infinite;
            animation: line 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite, rotate 1.6s linear infinite; 
}

@-webkit-keyframes rotate {
  from { -webkit-transform: rotate(0); transform: rotate(0); }
  to   { -webkit-transform: rotate(450deg); transform: rotate(450deg); } }

@keyframes rotate {
  from { -webkit-transform: rotate(0); transform: rotate(0); }
  to   { -webkit-transform: rotate(450deg); transform: rotate(450deg); } }

@-webkit-keyframes line {
  0%   { stroke-dasharray: 2, 85.964; -webkit-transform: rotate(0); transform: rotate(0); }
  50%  { stroke-dasharray: 65.973, 21.9911; stroke-dashoffset: 0; }
  100% { stroke-dasharray: 2, 85.964; stroke-dashoffset: -65.973; -webkit-transform: rotate(90deg); transform: rotate(90deg); } }

@keyframes line {
  0%   {stroke-dasharray: 2, 85.964; -webkit-transform: rotate(0); transform: rotate(0); }
  50%  {stroke-dasharray: 65.973, 21.9911; stroke-dashoffset: 0; }
  100% {stroke-dasharray: 2, 85.964; stroke-dashoffset: -65.973; -webkit-transform: rotate(90deg); transform: rotate(90deg); } }
  
  
.button {
    background-color: #0074a3;
}

.button:hover, .button:focus {
    background-color: #0074a3;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"] {
    font-family: 'Nunito Sans', sans-serif;
    outline: 0;
    background: #f2f2f2;
    width: 100%;
    border: 0;
    margin: 0 0 15px;
    padding: 1rem;
    box-sizing: border-box;
    font-size: 14px;
}


.button {
    background-color: #46485b;
}

tbody th {
    background-color: #f0f0f0;
    color: #333;
}

tbody th span {
    display: inline-block;
    padding: 0;
    text-decoration: dashed;
    border-bottom: 1px dotted transparent;
    line-height: 1.2;
    cursor: help;
}

th.blue span {
    color: blue;
}

th.red span {
    color: red;
}
    
th.yellow span {
    color: #777700;
}

th.teal span {
    color: teal;
}

th.maroon span {
    color: maroon;
}

th.olive span {
    color: olive;
}

th.grey span {
    color: grey;
}

th.instance {
    background-color: #333;
}

th.instance span {
    border-bottom-color: #333;
}
