*:not(.cookie-banner *) {
    font-family: Ubuntu, Helvetica, Verdana, Arial, sans-serif;
    color: #777;
    font-size: 12px;
}

html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, font, img, strong, sub, sup, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
}

:focus {
    outline: 0;
}

body {
    line-height: 1;
    color: black;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
}

blockquote, q {
    quotes: "" "";
}

a {
    text-decoration: underline;
    color: #105CB6;
}

a:visited {
    color: #86B0E1;
}

body {
    background-image: url('../img/bg-big.jpg');
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
}

#shadow {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -3;
    background-repeat: no-repeat;
    background-image: url('../img/shadow.png');
    background-position: center center;
}

html {
    height: 100%;
}

body {
    text-align: center;
    height: 100%;
}

#horizon {
    width: 1px;
    height: 50%;
    margin-bottom: -200px;
    float: left;
}

#content {
    margin: 0 auto;
    position: relative;
    height: 360px;
    width: 261px;
    clear: left;
    width: 336px;
    margin: 0 auto;
    border-radius: 2px;
    padding-left: 25px;
    background-color: none;
    text-align: left;
}

a.folder {
    margin-top: 20px;
    background-position: top center;
    background-image: url('../img/foldericon.jpg');
    float: left;
    display: block;
    background-repeat: no-repeat;
    text-align: center;
    text-decoration: none;
    width: 120px;
    min-height: 20px;
    height: auto !important;
    height: 20px;
    line-height: 20px;
    padding-top: 80px;
    color: #447EAC;
}

a.folder:hover {
    color: #6A9DC8
}

#outercontent_main {
    margin: 0 auto 0 auto;
    width: 1190px;
    position: relative;
    min-height: 100%;
}

#project_info {
    float: left;
    border: 9px solid transparent;
    border-image: url('../img/shadownav.png') 9 9 repeat;
    direction: ltr;
    margin: 1px auto -8px auto;
    overflow: visible;
    background-clip: content-box;
    background-color: white;
    min-height: 135px;
    top: 30px;
    left: 0;
    width: 440px;
}

#project_info h1 {
    text-transform: uppercase;
    text-decoration: none;
    font-weight: bold;
    color: #333;
    text-align: left;
    font-size: 39px;
    overflow-wrap: break-word;
}

#project_info p {
    color: #111;
    text-align: left;
    font-size: 17px;
    padding: 0;
    margin: 20px 0 20px 0;
}

#project_extras {
    float: left;
    border: 9px solid transparent;
    border-image: url('../img/shadownav.png') 9 9 repeat;
    direction: ltr;
    margin: 20px auto auto -9px;
    overflow: visible;
    background-clip: content-box;
    color: white;
    text-align: left;
    font-size: 12px;
    line-height: 20px;
    font-weight: bold;
    background-color: black;
    width: 180px;
    min-height: 70px;
    border-left: 0;
}

#project_extras .padding {
    color: white;
}

#content_main h2 {
    text-align: left;
    font-size: 20px;
    text-transform: uppercase;
    color: #333;
    border-bottom: 1px solid #333;
    padding-bottom: 13px;
    line-height: 20px;
}

#content_main {
    float: right;
    width: 905px;
    text-align: left;
    min-height: 385px;
    position: relative;
    height: auto;
    border: 9px solid transparent;
    border-image: url('../img/shadownav.png') 9 9 repeat;
    direction: ltr;
    margin: 1px auto -8px auto;
    position: relative;
    overflow: visible;
    background-clip: content-box;
    background-color: white;
    min-height: 400px;
    margin-bottom: 50px;
}

.padding {
    padding: 13px 12px 13px 13px;
}

#roadmap {
    margin-top: 75px;
}

#nav {
    clear: both;
    float: left;
    width: 240px;
    border: 9px solid transparent;
    border-image: url('../img/shadownav.png') 9 9 repeat;
    direction: ltr;
    margin: 1px auto -8px auto;
    overflow: visible;
    background-clip: content-box;
    background-color: white;
}

#nav.nav--branded {
    /* Leave space for the Teamleader branding link */
    margin-bottom: 100px;
}

#nav .nav__link.active, #nav .nav__link.active:hover {
    background-color: #008AE6;
    color: white;
}

#nav .nav__link {
    transition: all 150ms linear;
    float: right;
    line-height: 42px;
    text-transform: uppercase;
    padding: 0 8px 0 8px;
    clear: both;
    font-style: normal;
    text-decoration: none;
    display: block;
    background-color: white;
    color: #333;
    font-size: 18px;
    font-weight: normal;
    text-align: right;
    width: 224px;
    text-align: center;
}

#nav .nav__link:hover {
    background-color: #EDEDED;
}

#milkyway {
    background-image: url('../img/login-bg.png');
    position: absolute;
    border-radius: 2px;
    top: -27px;
    background-repeat: no-repeat;
    background-position: center top;
    bottom: -27px;
    left: -27px;
    right: -27px;
    z-index: -2;
}

#legallogo {
    float: left;
    clear: both;
    margin: 20px 0 5px 0;
    width: 350px;
    height: 54px;
    background-image: url('/img/legallogo.png');
}

#logo {
    float: left;
    clear: both;
    margin: 20px 0 5px 0;
    width: 350px;
    height: 54px;
    background-image: url('/img/logo.png');
}

#footer {
    position: absolute;
    bottom: 20px;
    text-align: center;
    left: 0px;
    width: 100%;
}

#footer a {
    color: white;
    text-shadow: 0 0 5px #000;
    font-weight: bold;
    text-decoration: none;
}

#footer a:hover {
    text-decoration: underline;
}

#form_container {
    float: left;
    clear: both;
    padding: 0 0 0 0;
    position: relative;
}

#form_container div {
    float: left;
    clear: both;
}

#form_container li {
    float: left;
    border-top: 1px dotted #C1C1C1;
    height: 30px;
    line-height: 30px;
    padding: 3px 0 3px 0;
    width: 215px;
}

label {
    cursor: pointer;
    display: block;
    padding-left: 1px;
    width: 100%;
    height: 25px;
    line-height: 25px;
    margin-top: 13px;
    color: #666;
    float: left;
    clear: both;
}

input.text {
    width: 296px;
    border: 1px solid #D2D6C5;
    font-size: 20px;
    background-color: #F7F9FB;
    height: 40px;
    line-height: 44px;
    padding: 2px 2px 2px 6px;
    margin: 0;
}

a.button {
    position: absolute;
    border-radius: 3px;
    display: block;
    bottom: 55px;
    right: 30px;
    color: white;
    background-color: #333;
    text-align: center;
    line-height: 30px;
    height: 30px;
    text-decoration: none;
    padding: 0 15px 0 15px;
    font-size: 12px;
}

#content_main .ticket:first-child {
    margin-top: 15px;
}

#content_main .ticket {
    cursor: pointer;
    line-height: 31px;
    float: left;
    clear: both;
    width: 100%;
}

#content_main .ticket .subject {
    padding-left: 10px;
    float: left;
    display: block;
    width: 550px;
}

#content_main .ticket span {
    font-size: 14px;
}

#content_main .ticket:nth-child(even) {
    background-color: #ECECEC;
}

#content_main .ticket:hover {
    background-color: #E1E1E1;
}

#content_main .message {
    float: left;
    clear: both;
    width: 80%;
    margin: 10px 0 0 70px;
}

#content_main .message .text {
    line-height: 20px;
    font-size: 14px;
    padding: 25px;
    border-radius: 0 0 5px 5px;
    border: 1px solid #CCC;
    width: 686px;
}

#content_main .message .info {
    background-image: url('../img/dropdown.png');
    float: left;
    clear: both;
    width: 100%;
    height: 42px;
    line-height: 42px;
    padding: 19px 0 19px 0;
    background-repeat: no-repeat;
    background-position: 41px 0
}

#content_main .message .info .tl_user {
    margin-left: 25px;
    float: left;
    width: 400px;
}

#content_main .message .info .tl_user p {
    font-weight: bold;
    font-size: 14px;
}

#content_main .message .info .date {
    font-size: 14px;
    float: right;
    text-align: right;
}

#content_main .message .info .tl_user img {
    float: left;
    margin-right: 15px;
    border-radius: 21px;
    width: 42px;
}

#content_main .message.from_tl .text {
    border-top: 5px solid #008AE6;
}

#content_main .message.outside_tl .text {
    background-color: #F1F1F1;
}

#content_main .ticket_state {
    background-color: #008AE6;
    color: white;
    width: 880px;
    display: block;
    margin: 20px 0 20px 0;
    line-height: 30px;
}

#content_main .ticket_state span {
    vertical-align: top;
    color: white;
    display: inline-block;
    padding: 0 0 0 20px;
}

#content_main .ticket_state .reply {
    padding: 0 20px 0 20px;
    float: right;
    cursor: pointer;
    background-color: #2BAAFF;
}

#content_main .ticket_state .reply:hover {
    background-color: #17A3FF;
}

#content_main #new_reply_holder {
    display: none;
}

#content_main #new_reply_holder.must_be_visible {
    display: block;
}

#content_main .new_reply textarea.textarea {
    margin: 9px 0 10px 0;
    width: 860px;
    height: 111px;
    border: 1px solid #CCC;
    border-radius: 3px;
    font-size: 14px;
    line-height: 19px;
    padding: 9px;
}

#content_main .new_reply input.text_normal {
    margin: 9px 0 10px 0;
    border: 1px solid #CCC;
    border-radius: 3px;
    font-size: 14px;
}

#content_main .new_reply a.button {
    cursor: pointer;
    position: relative;
    bottom: auto;
    right: auto;
    float: left;
    clear: both;
}

#content_main a.button.newticket {
    cursor: pointer;
    position: relative;
    bottom: auto;
    right: auto;
    margin: 20px 0 0 0;
    float: left;
    clear: both;
}

.listview .big {
    float: left;
    position: relative;
    width: 252px;
}

.listview {
    width: 100%;
    margin: 25px 0 0 0;
    float: left;
    font-size: 12px;
    min-height: 75px;
    padding-bottom: 16px;
    height: auto !important;
    height: 75px;
    position: relative;
}

.listview .total {
    position: absolute;
    font-size: 12px;
    top: -20px;
    right: 22px;
    float: none;
    border: 0;
    margin: 0;
    padding: 0;
    text-align: right;
}

.listview span {
    float: left;
    cursor: pointer;
    margin: 0 0 0 0;
    padding: 0 0 0 5px;
    border-right: 1px solid #AAA;
    font-weight: bold;
    border-bottom: 1px solid #333;
    width: 110px;
}

.listview .first {
    border-left: 0px solid red;
}

.listview .biggish {
    width: 160px !important;
}

.listview a.pdf {
    height: 19px;
    width: 19px;
    display: block;
    float: left;
    clear: none;
    background-image: url('../images/pdf_ultrasmall_table.gif');
    margin: 1px 0 0 3px;
}

.listview span {
    line-height: 18px;
    height: 18px;
}

.listview input.checkbox {
    position: absolute;
    top: 2px;
    right: 2px;
}

.listview .size60 {
    width: 60px;
}

.listview .size70 {
    width: 70px;
}

.listview .size80 {
    width: 80px;
}

.listview .size90 {
    width: 90px;
}

.listview .size100 {
    width: 100px;
}

a.backlink {
    color: #666;
    display: block;
    float: left;
    clear: both;
    margin: 20px 0 0 0;
}

.listview .bigger {
    width: 200px;
}

.listview .biggest {
    width: 500px;
}

.listview div:hover a.delete {
    display: block;
}

.listview .biggesterst {
    width: 295px;
}

.listview .biggestest {
    width: 326px;
}

.listview .smallish {
    width: 25px;
    padding-left: 3px;
    padding-right: 3px;
    text-align: center;
}

.listview .smallitems {
    width: 45px;
    padding-left: 3px;
    padding-right: 3px;
    text-align: center;
}

.listview .todos b {
    float: none;
    width: auto;
    text-align: left;
}

.listview .entry a {
    background-repeat: no-repeat;
    padding-left: 22px;
}

.listview .entry {
    width: 100%;
    position: relative;
    border: 0px solid red;
    margin: 0;
    padding: 0px;
}

.listview .entry div {
    position: relative;
    overflow: hidden;
}

.listview .ASC {
    background-image: url('../img/up.png');
    background-repeat: no-repeat;
    background-position: center right;
}

.listview .DESC {
    background-image: url('../img/down.png');
    background-repeat: no-repeat;
    background-position: center right;
}

.listview .last {
    border-right: 0px solid red;
}

.content p.help {
    font-size: 13px;
    float: left;
    line-height: 20px;
    margin: 0 0 2px 3px;
}

.listview div {
    float: left;
    cursor: pointer;
    line-height: 24px;
    height: 24px;
    overflow: visible;
    display: block;
    padding: 0 0 0 5px;
    width: 110px;
    border-right: 1px solid #AAA;
}

.listview .bigentry div {
    height: 80px;
}

.listview .bigentry {
    height: 80px;
}

.listview .small {
    float: left;
    position: relative;
    width: 50px;
}

.listview .smalldate {
    float: left;
    position: relative;
    width: 85px;
}

.content p.help a {
    font-size: 13px;
    line-height: 20px;
    margin: 0 0 2px 5px;
}

.content a.active {
    text-decoration: underline;
}

.listview .even {
    background-color: #EEE;
}

.listview div b.overdue {
    color: white;
    position: absolute;
    padding-left: 5px;
    top: 0px;
    left: 0px;
    width: 252px;
    height: 24px;
    background-color: red;
    display: block;
    text-transform: uppercase;
}

.listview div b.notpaid {
    color: red;
    font-weight: normal;
}

img.contact_thumb {
    float: left;
    width: 55px;
    padding: 1px;
    border: 1px solid #CCC;
}

.userinfo_inline h1 {
    font-size: 17px;
    float: left;
    width: 300px;
    margin: 0 0 0 0;
}

.userinfo_inline a.edit {
    height: 14px;
    width: 14px;
    float: left;
    clear: both;
    margin: 0 0 7px 0;
    display: block;
}

.userinfo_inline a.delete {
    height: 14px;
    width: 14px;
    float: left;
    clear: both;
    display: block;
}

.userinfo_inline .contact_thumb {
    cursor: pointer;
}

.userinfo_inline .left {
    float: left;
    width: 20px;
}

.userinfo_inline .right {
    float: left;
    position: relative;
    width: 300px;
    font-size: 12px;
    margin-left: 10px;
}

.userinfo_inline .b {
    font-size: 11px;
    margin: 0 0 0px 10px;
    float: left;
    width: 300px;
}

.userinfo_inline span {
    float: left;
    display: block;
    width: 200px;
}

.userinfo_inline {
    width: 400px;
    float: left;
    margin: 10px 20px 0 0;
    padding: 10px 0 10px 0;
}

.userinfo_inline i {
    font-style: normal;
    color: #999;
}

.userinfo_inline h1 a {
    text-decoration: none;
    color: #333;
}

.userinfo_inline h2 {
    font-size: 14px;
    color: #333;
}

.meeting {
    float: left;
    clear: both;
    padding-top: 15px;
    width: 690px;
    height: 405px;
}

.bigdate {
    position: relative;
    overflow: hidden;
    background-color: #008AE6;
    border-radius: 8px;
    width: 115px;
    margin-right: 15px;
    height: 115px;
    float: left;
}

.bigdate b {
    color: white;
    font-weight: normal;
    font-size: 65px;
    text-align: center;
    float: left;
    clear: both;
    margin: 10px 0 0 0;
    width: 100%;
}

.bigdate i {
    position: absolute;
    bottom: 20px;
    left: 0px;
    color: white;
    font-size: 16px;
    font-weight: normal;
    margin-top: 10px;
    display: block;
    text-align: center;
    float: left;
    clear: both;
    width: 100%;
    font-style: normal;
}

#content_main .meeting h2 {
    border: 0px;
    font-size: 20px;
    color: #000;
    padding: 0;
    margin: 0 0 15px 0;
}

.descr {
    float: left;
    color: #222;
    margin: 0 0 15px 0;
    line-height: 16px;
}

.meeting_right {
    float: left;
    width: 510px;
}

.meeting_right em {
    margin-bottom: 3px;
    font-style: normal;
    background-color: #008AE6;
    margin-right: 8px;
    border-radius: 3px;
    color: white;
    display: block;
    float: left;
    line-height: 19px;
    padding: 0 4px 0 4px;
}

.meeting_right span {
    float: left;
    display: block;
    color: #000;
    line-height: 18px;
}

br.clear {
    clear: both;
}

#meetings_nav {
    float: right;
    min-height: 405px;
    margin-top: 20px;
    margin-bottom: 15px;
    width: 155px;
    border-left: 2px solid #949494;
    padding-left: 8px;
}

#meetings_nav span {
    font-size: 14px;
    float: left;
    clear: both;
    display: block;
    margin-bottom: 15px;
    cursor: pointer;
    line-height: 10px;
    position: relative;
    padding-left: 17px;
}

#meetings_nav span i {
    position: absolute;
    top: 1px;
    left: 0px;
    width: 10px;
    height: 10px;
    border-radius: 2px;
}

#meetings_nav .done i {
    background-color: #999999;
}

#meetings_nav .active i {
    background-color: #0297FB;
}

#meetings_nav .future i {
    background-color: #040000;
}

#meetings_nav .done {
    color: #999999;
}

#meetings_nav .active {
    color: #0297FB;
}

#meetings_nav .future {
    color: #040000;
}

.meeting_bottom {
    float: left;
    width: 100%;
    margin-top: 20px;
    padding-top: 12px;
    border-top: 1px solid #BFBFBF;
    clear: both;
}

.at_meeting {
    float: left;
    width: 300px;
    overflow: hidden;
}

.docs {
    float: left;
    width: 340px;
}

.meeting_bottom h3 {
    border: 0px;
    font-weight: normal;
    font-size: 19px;
    color: black;
    padding: 0;
    margin: 0 0 15px 0;
}

.at_meeting .userinfo_inline {
    margin-top: 0;
    padding-bottom: 15px;
    padding-top: 0;
}

.meeting_bottom .listview {
    margin-top: 0;
    width: 400px;
}

.meeting_bottom .listview .biggest {
    width: 150px;
}

#content_main h2 span {
    display: none;
}

#nav .nav__link span {
    color: #777;
    font-size: 20px;
    line-height: 42px;
}

#nav .nav__link.active span {
    color: white;
}

.checklist {
    float: left;
    line-height: 18px;
    color: black;
    margin: 15px 0 15px 0;
    position: relative;
    clear: both;
    width: 600px;
    padding-left: 25px;
}

.checklist p {
    padding: 0;
    margin: 15px 0 0 0;
    color: black;
}

.checklist span {
    position: absolute;
    border-radius: 3px;
    display: block;
    top: 2px;
    left: 0px;
    width: 15px;
    height: 15px;
}

.normal span {
    background-color: #0099FF;
}

.done span {
    background-color: #C2E066;
}

.overdue span {
    background-color: #FF0000;
}

.done {
    color: #999;
    text-decoration: line-through;
}

.overdue p {
    color: red;
    font-weight: bold;
}

.checklist .button {
    position: absolute;
    background-color: #0099FF;
    cursor: pointer;
    top: 0px;
    right: -160px;
    height: 22px;
    color: white;
    padding: 0 8px 0 8px;
    text-align: center;
    line-height: 22px;
    border-radius: 3px;
}

.branding-container {
    position: absolute;
    bottom: 24px;
}

.branding,
/* needed to overwrite global '*' styles which define a text colour */
.branding * {
    font-size: 14px;
    color: #fff!important;
    text-decoration: none;
    font-weight: normal;
}

.branding {
    display: flex;
    align-items: center;
    background-color: #00B2B2;
    padding: 12px;
    border-radius: 4px;
}

.branding__logo {
    margin-right: 9px;
}

.branding__highlight {
    text-decoration: underline;
}

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

.cookie-banner * {
    color: #000;
}

.cookie-banner__toggle {
    margin-top: 0;
    width: auto;
}
