
:root
{
    --blue:         #377dff;
    --steel:        #677788;
    --indigo:       #2d1582;
    --purple:       #6f42c1;
    --pink:         #e83e8c;
    --red:          #de4437;
    --orange:       #fd7e14;
    --yellow:       #f5ca99;
    --green:        #28a745;
    --teal:         #00c9a7;
    --cyan:         #09a5be;
    --white:        #fff;
    --gray:         #8c98a4;
    --gray-dark:    #71869d;
    --primary:      #377dff;
    --secondary:    #71869d;
    --success:      #00c9a7;
    --info:         #09a5be;
    --warning:      #f5ca99;
    --danger:       #de4437;
    --light:        #f7faff;
    --dark:         #1e2022;
    --navy:         #21325b;
    --skin:         #efebdf;
}

BODY
{
    font-family: helvetica_neue_roman;
    font-size: 18px;
    line-height: 170%;
    color: var(--dark);
    padding: 0px;
    margin: 0px;
    overflow-y: scroll;
}

.page_stretch
{
    width: 1140px;
    box-sizing: border-box;
}

.header
{
    user-select: none;

    position: fixed;
    width: 100%;
    top: 0px;
    left: 0px;
    height: 100px;
    display: flex;
    justify-content: center;
    background-color: var(--white);
    z-index: 1000;

    box-shadow: 0 1px 10px rgba(140, 151, 163, 0.125);
}

.header .page_stretch
{
    height: 100%;
    position: relative;
}

.container
{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 100px;
    min-height: 100vh;
    box-sizing: border-box;
}

.container .page_stretch
{
    padding-left: 20px;
    padding-right: 20px;
}

.stick
{
    display: inline-block;
    height: 20px;
    width: 1px;
    margin-right: -1px;
}

.button
{
    user-select: none;
    cursor: pointer;
    background-color: var(--blue);
    color: var(--white);
    height: 43px;
    font-family: ubuntu_medium;
    font-size: 18px;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    border-radius: 4px;
}

.imp0.imp1 .button .stick
{
    height: 27px;
}

.imp0.imp1 BUTTON.button .stick
{
    height: 0px; /* Somehow a normal stick height doesn't work with BUTTON elements */
}

.desktop_menubar
{
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-right: 20px;
}

.desktop_menubar .stick
{
    height: 53px;
}

.desktop_menubar .item
{
    position: relative;

    font-family: helvetica_neue_roman;
    font-size: 14px;

    text-transform: uppercase;

    margin-right: 20px;

    cursor: pointer;

    color: var(--steel);

    height: 100%;
}

.desktop_menubar .button
{
    margin-top: 26px;
}

.desktop_menubar .item:hover
{
    color: var(--blue);
}

.header .lsm_logo
{
    position: absolute;
    top: 5px;
    left: 20px;
    width: 90px;
    height: 90px;
    background-color: var(--white);
    background-image: url("./images/LSM-logo.svg");
    background-size: 90px 90px;
    opacity: 0.8;
}

.desktop_menubar .popup_menu .stick
{
    height: 0px;
}

.desktop_menubar .popup_menu
{
    position: absolute;
    top: 20px;
    left: 0px;

    display: block;
    visibility: hidden;
    opacity: 0;
    transition:opacity .001s ease-in, top .2s ease-out;
    border-top: 3px solid var(--blue);
    background-color: var(--white);
    box-shadow: 0px 12px 15px rgba(140, 152, 164, 0.1);
    text-transform: none;
    line-height: 220%;
    padding: 20px;
    color: var(--steel);
    font-size: 16px;

    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.desktop_menubar .popup_menu .subitem
{
    display: flex;
    white-space: nowrap;
}

.desktop_menubar .popup_menu .subitem:hover
{
    color: var(--blue);
}

.desktop_menubar .item:hover .popup_menu
{
    display: block;
    opacity: 1;
    top: 1px;
    visibility: visible;
}

.desktop_menubar .item .anchor
{
    position: absolute;
    bottom: 3px;
    left: 0px;
    width: 1px;
    height: 1px;
}

.footer
{
    user-select: none;

    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;

    background-color: var(--navy);
    color: rgba(255, 255, 255, 0.75);
}

.flexer
{
    flex: 1;
}

.imp0 .footer .page_stretch
{
    padding: 0px;
}

.footer
{
    margin-top: 0px;
}

.footer ::selection 
{
    background-color: #ffe735;
    color: var(--dark);
}

.footer_body
{
    position: relative;

    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;

    padding-top: 60px;
    padding-bottom: 140px;
    padding-left: 20px;

    line-height: 220%;

    font-size: 15px;
}

.footer_body .h
{
    color: #fff;
    font-family: ubuntu_medium;
    font-size: 18px;
}

.footer_body .column
{
    margin-right: 40px;
    flex-grow: 1;
}

.footer_body .hiring
{
    display: inline-block;
    width: 1px;
    height: 1px;
    position: relative;
}

.footer_body .item
{
    cursor: pointer;
}

.footer_body .item:hover
{
    color: var(--white);
}

.footer_body .hiring .inner
{
    position: absolute;
    left: 7px;
    top: -13px;
    background-color: var(--blue);
    font-family: ubuntu_medium;
    font-size: 11px;
    color: #fff;
    line-height: 100%;
    white-space: nowrap;
    padding: 4px;
    border-radius: 4px;
}

.footer_body .column:last-child
{
    margin-right: 0px;
}

.footer .lsm_logo
{
    position: absolute;
    top: 60px;
    left: 20px;

    width: 90px;
    height: 90px;
    background-image: url("./images/LSM-logo-white.svg");
    background-size: 90px 90px;
    opacity: 1;
}

.footer .address
{
    padding-left: 24px;
    position: relative;
    user-select: all;
}

.footer .telno
{
    padding-left: 24px;
    position: relative;
    user-select: all;
}

.footer .telno .image
{
    position: absolute;
    top: 7px;
    left: 0px;
    background-image: url("./images/phone.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 0.75;
    width: 14px;
    height: 14px;
}

.footer .address .image
{
    position: absolute;
    top: 7px;
    left: 0px;
    background-image: url("./images/navigation.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 0.75;
    width: 14px;
    height: 14px;
}

.center_header
{
    font-family: helvetica_neue_medium;
    font-size: 36px;
    color: var(--dark);
    width: 100%;
    padding-left: 17%;
    padding-right: 17%;
    text-align: center;
    box-sizing: border-box;
    line-height: 140%;
}

.space_above_block
{
    margin-top: 60px;
}

.nobreak
{
    white-space: pre;
}

.more_news
{
    color: var(--blue);
    cursor: pointer;
    user-select: none;
    font-family: helvetica_neue_medium;
}

.more_news I.fa-chevron-right
{
    font-size: 14px;
}

.button I.fa-chevron-right
{
    font-size: 14px;
}

H1
{
    font-family: helvetica_neue_medium;
    font-size: 32px;
    color: var(--dark);
    line-height: 140%;
    margin-top: 0px;
    margin-bottom: 13px;
}

H2
{
    font-family: helvetica_neue_medium;
    font-size: 24px;
    color: var(--dark);
    line-height: 140%;
    margin-top: 0px;
    margin-bottom: 10px;
}

H3
{
    font-family: helvetica_neue_medium;
    font-size: 24px;
}

P
{
    margin-top: 0px;
    margin-bottom: 0px;
}

UL
{
    margin-bottom: 0px;
}

A
{
    color: inherit;
    text-decoration: none;
    outline: none;
}

.phone_menu_button
{
    display: none;
}

.phone_menu_container
{
    display: none;
}

.publication A
{
    text-decoration: underline;
    margin-right: 0.5em;
    color: var(--blue);
}

.publication .journal
{
    font-family: helvetica_neue_medium;
    font-weight: normal;
    margin-right: 0.5em;
}

.publication .open_access
{
}

.publication .year:before
{
    content: '\A';
    white-space: pre;
    display: block;
}

.publications .publication:first-child .year:before
{
    content: '';
    display: inline;
}

.publication .journal:before
{
    content: '\A';
    white-space: pre;
}

.publication .noyear:before
{
    content: '\A';
    white-space: pre;
    display: block;
}

.publication .authors
{
    display: none;
}

.publication .note .icon
{
    margin-right: 0.5em;
}

.open_access_icon
{
    font-size: 80%;
}

A.link
{
    color: var(--blue);
    text-decoration: underline;
    user-select: none;
    cursor: pointer;
}

.form-control
{
    display: block;
    width: 100%;
    padding: 5px 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 2px solid #ced4da;
    border-radius: 4px;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    font-family: ubuntu_roman;

    box-shadow: inset 0 .25rem .125rem 0 rgba(0,0,0,0.05);
}

.form-control.error
{
    border-color: var(--red);
}

BODY.imp0.imp1 .form-control:focus
{
    color: #495057;
    background-color: #fff;
    border-color: #4dabf7;
    outline: 0;

    box-shadow: inset 0 1px 1px rgba(0,0,0,0.0125),0 0 8px rgba(34,139,230,0.5);
}

.form .label
{
    margin-bottom: 2px;
}

.form .form-control
{
    margin-bottom: 16px;
}

.form .form-status
{
    display: none;
    color: var(--red);
}

.form .form-status.error
{
    display: block;
}

.form .button
{
    display: inline-block;
}

.anchor
{
    display: inline-block;
    position: relative;
    width: 1px;
    height: 1px;
    margin-right: -1px;
}

.anchor A.anchor_position
{
    position: absolute;
    top: -150px;
}

.display_inline_block
{
    display: inline-block;
}

BODY.imp0.imp1.imp2 .page_stretch.lightblue_top_block
{
    background-color: var(--light);
    display: flex;
    flex-direction: column;

    width: 1340px;
    padding: 40px;
    padding-bottom: 80px;
    padding-top: 60px;
    padding-left: 120px;
    padding-right: 120px;

    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

BODY.imp0.imp1.imp2.imp3.imp4.imp5 .margin0
{
    margin: 0px;
}


.templated .video-js
{
    margin-top: 12px;
}

H2.space_above
{
    margin-top: 36px;
}

.default_template.page_stretch
{
    padding-top: 60px;
    padding-bottom: 80px;
    padding-right: 280px;
}

.default_template H3
{
    font-family: helvetica_neue_bold;
    font-size: 100%;
    font-weight: normal;
    margin-bottom: 0px;
}

.narrow_only
{
    display: none;
}

.fullwidth_only
{
    display: block;
}

.bottom_space
{
    height: 140px;
}

.picture_row
{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 240px;
}

.picture_row.margin_bottom
{
    margin-bottom: 20px;
}

.picture_row .picture
{
    margin-right: 20px;
    flex-grow: 1;
    margin-bottom: 20px;
}

.picture_row .picture:last-child
{
    margin-right: 0px;
}

BUTTON
{
    margin: 0px;
    padding: 0px;
    border: 0;
    font-family: inherit;
    outline: none;
}

.svg_icon.droplet
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/droplet_icon.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 14px;
    height: 14px;
}

.svg_icon.needle
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/needle_icon.svg");
    background-size: 16px 16px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 16px;
    height: 16px;
}

.svg_icon.checkmark
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/checkmark_icon.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 14px;
    height: 14px;
}

.svg_icon.kill
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/kill_icon.svg");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 12px;
    height: 12px;
}

.svg_icon.magnification
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/magnification_icon.svg");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 12px;
    height: 12px;
}

.svg_icon.puncture
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/puncture_icon.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 14px;
    height: 14px;
}

.svg_icon.automated
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/automated_icon.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 14px;
    height: 14px;
}

.svg_icon.manual
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/manual_icon.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 14px;
    height: 14px;
}

.svg_icon.touchscreen
{
    display: inline-block;
    position: relative;
    top: 2px;
    background-image: url("./images/touchscreen_icon.svg");
    background-size: 14px 14px;
    background-repeat: no-repeat;
    opacity: 1.0;
    width: 14px;
    height: 14px;
}

.svg_icon.spaced
{
    margin-right: 8px;
}

.svg_icon
{
    flex-shrink: 0;
}

P.caption
{
    font-style: italic;
}

