/* -------------------------------------------------------------
- Site Name: DESIGNA Studio
- Version: 2.01 (August 2012)
- Site URI: http://sylvainlafitte.com/designa/
- Author: Sylvain Lafitte
- Author URI: http://sylvainlafitte.com

- Resources:
	HTML5 Boilerplate (http://html5boilerplate.com/),
	Normalise.css (http://necolas.github.com/normalize.css/),
	Proportional grids by Boon (http://builtbyboon.com),
	CSS Tricks (css-tricks.com).
------------------------------------------------------------- */

/*-------------------------------------------------------------
======	RESET
------------------------------------------------------------- */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block
}

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

:hover, :focus, :active {
    outline: none;
}

html, button, input, select, textarea {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: 400; /* normal */
    color: #555;
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);

}

html {
    overflow: -moz-scrollbars-vertical;
    overflow-y: scroll;
}

body {
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
}

a {
    color: #222;
    font-weight: normal;
    cursor: pointer;
    transition: color 0.2s ease;
    -moz-transition: color 0.2s ease;
    -webkit-transition: color 0.2s ease;
    -o-transition: color 0.2s ease;
}

a:hover {
    color: #000;
}

::-moz-selection {
    background: #0078CF;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #0078CF;
    color: #fff;
    text-shadow: none;
}

p {
    margin: 0 0 1em;
    text-align: justify;
}

p:last-child {
    #margin-bottom: 0;
}

a:visited {
    opacity: 0.9;
}

a:active, a:focus {
    position: relative;
    top: 1px;
}

small {
    font-size: 85%;
    color: #333;
}

medium {
    font-size: 95%;
}

ul, ol {
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ddd;
    margin: 0.7em 0;
    padding: 0
}

/* -------------------------------------------------------------
======	STYLES
------------------------------------------------------------- */

/* -- FORMS
------------------------------------------------------------- */

form {
    margin-top: 2em;
}

form li {
    margin-bottom: 1.5em;
}

label {
    /*display: block;*/
    margin-bottom: 0.3em;
    font-weight: 700;
}

input, select, textarea {
    border: 1px solid #DDD;
    color: #777;
    font-size: 1.1em;
    padding: 0.5em;
    box-sizing: border-box;
    *behavior: url(/js/boxsizing.htc);
}

textarea {
    padding: 1em;
    width: 85%;
}

input, textarea {
    -moz-transition: border .25s;
    -webkit-transition: border .25s;
    -o-transition: border .25s;
    transition: border .25s;
}

input:hover, textarea:hover, input:focus, textarea:focus, input:active, textarea:active {
    border: 1px solid #999;
}

input[type="text"], textarea {
    cursor: text;
}

/* -- TYPO
------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 0.3em;
    font-weight: normal;
}

h1 {
    font-size: 4.1em;
    letter-spacing: -0.075em;
    text-transform: uppercase;
    line-height: 0.9;
    color: #555;
    margin: 0 0 0.5em;
    font-weight: normal;
}

h2 {
    font-size: 2.5em;
    margin: 0 0 20px;
    letter-spacing: -0.05em;
    color: #555;
    line-height: 1;
}

h3 {
    font-size: 1.75em;
}

h4 {
    font-size: 1.5em;
}

h5 {
    font-size: 1.17em;
    text-transform: uppercase;
    margin: 0;
    color: #555;
}

h6 {
    font-size: 1em;
    margin-bottom: 2px;
    font-weight: 700;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #333;
    text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: #0078CF;
    text-decoration: underline;
}

/* -- GRID  https://github.com/mattberridge/Proportional-Grids/
------------------------------------------------------------- */
body {
    width: 100%;
}

.container {
    width: 90%;
    margin: 1em auto;
    max-width: 1100px;
    min-width: 300px;
}

.grid-wrap {
    margin-left: -3em; /* the same as your gutter */
    overflow: hidden;
    *zoom: 1;
}

.grid-wrap:before, .grid-wrap:after {
    content: "";
    display: table
}

.grid-wrap:after {
    clear: both
}

.grid {
    float: left;
    padding-left: 4em; /* this is your gutter between columns */
    padding-right: 0.5em; /* this is your gutter between columns */
    width: 100%;
    box-sizing: border-box;
    *behavior: url(/js/boxsizing.htc);
}

.half-gutter {
    margin-left: -1.5em;
}

.half-gutter .grid-col {
    padding-left: 1.5em;
}

.col-full {
    width: 100%;
}

.col-one-half {
    width: 50%;
}

.col-one-third {
    width: 33.333%;
}

.col-two-thirds {
    width: 66.666%;
}

.col-one-quarter {
    width: 30%;
}

.col-three-quarters {
    width: 70%;
}

.divide-top {
    border-top: 1px solid #ccc;
    padding-top: 0.5em;
    margin-top: 1.5em;
}

.mright {
    margin-right: 3em;
}

.mleft {
    margin-left: 3em;
}

.mtop {
    margin-top: 3em;
}

.mbottom {
    margin-bottom: 3em;
}

.halfmright {
    margin-right: 1.5em;
}

.halfmleft {
    margin-left: 1.5em;
}

.halfmtop {
    margin-top: 1.5em;
}

.halfmbottom {
    margin-bottom: 1.5em;
}

.fright, .fleft {
    display: block;
    overflow: hidden;
    text-decoration: underline;
}

.fright {
    float: right;
    margin-top: 0.5em;
}

.fleft {
    float: left
}

.alignleft {
    float: left;
    clear: left;
    margin: 0.38em 1.62em 0.38em 0;
}

.alignright {
    float: right;
    clear: right;
    margin: 0.38em 0 0.38em 1.62em;
}

.aligncenter {
    margin: 0 auto 1.62em;
    display: block;
}

/* -------------------------------------------------------------
======	PAGES
------------------------------------------------------------- */

/* -- HEADER
------------------------------------------------------------- */
header#navtop {
    margin-bottom: 0em;
    clear: both;
    overflow: hidden;
}

header nav ul {
    float: left;
    overflow: hidden;
    padding: 0 3em 0 2em;
    border-left: 1px solid #ddd;
    line-height: 2em;
}

nav a, menu a {
    text-decoration: none;
    color: #555;
}

.navactive {
    color: #000;
    text-decoration: underline;
}

.logo {
    margin-bottom: 0em;
    height: 25px;
}

.logo:hover {
    background: none;
}

/* -- GENERAL
------------------------------------------------------------- */

.arrow:after {
    content: " \27F6"; /* html unicode: &#10230; */
}

.arrow:hover {
    color: #000;
}

/* -- FOOTER
------------------------------------------------------------- */
footer {
    color: #555;
    margin-bottom: 7em;
}

footer nav ul {
    float: right;
    overflow: hidden;
}

footer a {
    color: #999;
}

footer li {
    float: left;
    margin-right: 1em;
    padding-right: 1em;
    border-right: 1px solid #DDD;
    font-size: 0.8em;
}

footer li:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}

.up a {
    display: block;
    text-align: center;
    margin: 0 auto;
}

/* -- WORKS / Home-page and Works-page
------------------------------------------------------------- */

.main aside {
    margin-bottom: 3em
}

.main aside menu {
    padding: 0 0 0 1em;
    line-height: 2em;
}

.main aside menu a {
    color: #999;
}

.main aside menu .buttonactive {
    color: #0078CF
}

.button {
    background-color: #FFF;
    border: 1px solid #AAA;
    border-radius: 1px;
    margin: 5px 0px 5px 0px;
    padding: 1px 3px 1px 3px;
    color: #555;
    cursor: pointer;
    text-align: center;
    box-sizing: border-box;
}

.showProteinSearch {
    border: 1px solid #AAA;
    border-radius: 1px;
    padding: 0px 3px 0px 3px;
}

.button:hover {
    background-color: #DDD;
    color: #000;
}

.visitedList {

}

.visitedList a {
    text-decoration: none;
    color: #555;
}

.visitedListDivs {
    padding: 1%;
    margin: 1%;
    display: block;
    border-radius: 3px;
    float: left;
    width: 90%;
    border: 1px solid #EEE;

    font-size: 11px;
}

.showProteinCookie {
    cursor: pointer;
}

.proteinName {
    font-weight: 600;
    float: left;
    width: 75%;
}

#searchResults {
    width: 100%;
    font-size: 11px;
}

#spinner {
	text-align:center;
}

.searchListDivs {
    display: block;
    white-space: nowrap;
    padding: 0px 3px 0px 3px;
    /*float:left;*/
    height: 100%;
}

.searchList {
    padding: 5px 0;
    font-size: 12px;
    display: block;
    width: 100%;
    margin: 2px 0;
    /*float:left;*/
    border: 1px solid #EEE;
    border-radius: 3px;
    /*height: 20px*/
}

.searchList:hover {
    background-color: #f5f5f5;
    border: 1px solid #AAA;
}

#searchResults a {
    color: #555;
    cursor: pointer;
    text-decoration: none;
    margin: 3px;
    transition: background-color 1s ease;
}

#searchResults .showProteinSearch:hover {
    color: whitesmoke;
    background-color: #454545;
    border-color: #454545;
}

.deleteCookieDiv {
    float: left;
    width: 10px;
}

.deleteCookie {
    font-size: 12px;
}

.deleteCookie:hover {
    font-size: 12px;
    color: #C11B17;
}

.searchProteinFormDiv {
    width: 100%;
    float: left;
    display: table-cell;
    height: 100%;
}

#alignment_input_button {
    vertical-align: top;
}

#search {
    vertical-align: top;
}

#alignment_input {
    font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
    font-size: 10px;
    /*font-weight: 400;*/
    /*font-size:90%;*/
}

#alignment_input::-webkit-input-placeholder {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

#alignment_input:-moz-placeholder {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

#alignment_input::-moz-placeholder {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size: 13px;
}

#alignment_input:-ms-input-placeholder {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

.ui-tooltip {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;

    font-size: 0.8em;
    border: 1px solid #AAA;
    color: #222;
    padding: 3px;
}

.input_error {
    color: red;
    font-size: 90%;
}

.input_examples {
    float: right;
    font-size: 80%;
}

.headline {
    font-weight: 600;
}

.subcategory{
    padding-left: 15px;
}

.subsubcategory {
    padding-left: 30px;
}

.legend {
    font-size: 10px;
    padding: 0px 0px 0px 0px;
    line-height: 10px;
    display: block;
    text-align: center;
}

.btn-proviz {
    border: 1px solid #AAA;
    border-radius: 1px;
    padding: 0px 3px 0px 3px;
    text-decoration: none;
}

.customTooltip {
    z-index: 999999;
    display: inline-block;
    text-align: left;
    vertical-align: middle;
    margin: initial;
    padding: 2px;
    border-radius: 3px;
    border: 1px solid #CCC;
    font-size: 11px;
    font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
    line-height: 1.1;
    box-shadow: none;
}

#examples_search {
    margin-left: 20px;
}

#examples_search li {
    text-decoration: underline;
    cursor: pointer;
}

#searchTerm {
    width: 85%;
}

#visited {
    overflow-y: hidden;
}

.visitedList {
    overflow-y: hidden;
}

#images-preview {
    margin-bottom: 1em;
}

/*TABS*/
.tabs nav {
    border: grey solid 1px;
    border-bottom: none;
    display: inline-block;
}

.tab {
    display: none;
}

.tab.tab-active {
    display: block;
}

.tab-menu {
    box-sizing: border-box;
    display: inline-block;
    background-color: whitesmoke;
    padding: 1em;
    min-width: 1em;
    color: #494949;
    margin: 0;
    font-weight: bolder;
}

.tab-menu:hover {
    background-color: grey;
    color: #ececec;
}

.tab-menu.tab-menu-active {
    background-color: #494949;
    color: whitesmoke;
}

.tab-menu:active, .tab-menu:hover, .tab-menu:focus {
    top: 0;
}

.tab-menu-small {
    /*font-size: smaller;*/
    font-weight: 100;
}

.tab {
    border: grey solid 1px;
    padding: 1rem;
}

#searchResults a.link_search_uniprot {
    font-size: 10px;
    color: #838383;
}

#searchResults a.link_search_uniprot:hover {
    color: #5e5e5e;
}

/* Landscape phones and down */
@media (max-width: 480px) {
    body > .container {
        box-sizing: border-box;
        width: 100%;
        margin: auto;
        padding: 0.5rem;
    }

    .grid-wrap {
        margin: auto;
    }

    .grid {
        padding: 0.1rem;
    }

    aside.mq2-col-full {
        box-sizing: border-box;
        padding: 0.1rem;
        margin: 0;
        width: 100%;
    }

    section.grid.mq2-col-full {
        box-sizing: border-box;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    textarea, .button, input, #searchTerm {
        width: 100%;
    }

    .button {
        display: block;
    }

    #about_text, #images-preview {
        display: none;
    }
}

/* Landscape phone to portrait tablet */
@media (min-width: 481px) and (max-width: 767px) {
    body > .container {
        box-sizing: border-box;
        width: 100%;
        margin: auto;
        padding: 0.5rem;
    }

    .grid-wrap {
        margin: auto;
    }

    .grid {
        padding: 0.1rem;
    }

    aside.mq2-col-full {
        box-sizing: border-box;
        padding: 0.1rem;
        margin: 0;
        width: 100%;
    }

    section.grid.mq2-col-full {
        box-sizing: border-box;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    textarea, .button, input, #searchTerm {
        width: 100%;
    }

    .button {
        display: block;
    }

    #about_text, #images-preview {
        display: none;
    }
}

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) {

    body > .container {
        box-sizing: border-box;
        width: 100%;
        margin: auto;
        padding: 0.5rem;
    }

    .grid-wrap {
        margin: auto;
    }

    .grid {
        padding: 0.1rem;
    }

    aside.mq2-col-full {
        box-sizing: border-box;
        padding: 1rem;
    }

    section.grid.mq2-col-full {
        box-sizing: border-box;
        padding: 1rem;
    }
}

/* Large desktop */
@media (min-width: 1200px) {
    body > .container {
        width: 90%;
        margin: auto;
        padding: 1rem;
    }

    .home-page.main.grid-wrap {
        margin: auto;
    }

    aside.grid.col-one-third.mq2-col-full {
        padding: 1rem;
    }

    section.grid.col-two-thirds.mq2-col-full {
        padding: 1rem;
        margin: auto;
    }
}

pre {
    white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
}