/* TODO should we put every non-shared style in a media query? */ /* TODO to overwrite iGEM defaults we should make all element-selectors more specific! */ /* TODO order all this */ /* TODO adapt the media query to exactly where the flexbox wraps into 3 lines (check if font permits 2 lines!) */
/* iGEM adaptions */
- content {
line-height: initial; }
- mainContainer .section div {
font-size: 16px; } /* end iGEM adaptions */
body { margin: 0; padding: 0; padding-left: 200px; transition: padding-left 1s; font-family: sans-serif; /* TODO adapt */ background-color: #ffffff !important; }
p { margin: 0; padding: 0; }
.MathJax img { border: none !important; max-width: initial !important; }
.MathJax_Display > span { text-align: center; }
.collapsed { margin-left: -140px; }
/* TODO can we also adapt to the set font-size? Or will this mess up the Initial? */
- mainContainer #mainHead h1 {
font-weight: normal; font-size: 90px; margin-top: 70px; padding-top: 0px; line-height: 120% }
- mainContainer table {
display: table; overflow-x: auto; white-space: nowrap; border: none; width: 100%; border-bottom: 2px solid #000; border-collapse: collapse; caption-side: bottom; max-width: 90%; margin: 0 auto; box-sizing: border-box; }
- mainContainer table > caption {
white-space: normal; margin: 10px auto; }
- mainContainer th {
border: none; padding: 4px 15px; border-top: 2px solid #000; border-bottom: 2px solid #000; }
- mainContainer td {
border: none; padding: 2px 15px; text-align: center; }
.singleContent img { border: 2px solid #000; max-width: 100%; margin: 0 auto; }
.multiContent img { border: 2px solid #000; max-width: 100%; margin: 0 auto; }
figure { background-color: #eee; max-width: 90%; margin: 5px auto; padding: 1em 1em; border-radius: 10px; box-sizing: border-box; }
figure img { border: 2px solid #000; max-width: 100%; display: block; margin: 0 auto; }
figure figcaption { text-align: center; }
- Footer {
min-height: 30vh; padding: 5vh 2vw; }
- sideBar {
position: fixed; top: 18px; left: 0; width: 200px; height: 100%;
background-color: #000; color: #fff;
transition: margin-left 1s; z-index: 1; }
- sideBar h1 {
font-size: 20px; font-weight: normal; }
- sideBarMenu {
height: 60px; margin: 0; padding: 0; position: relative; }
- sideBarMenu .homeButton {
list-style: none; position: absolute; left: 9px; top: 12px; height: 40px; width: 50px; background: url('https://static.igem.org/mediawiki/2018/e/ee/T--Tuebingen--bont_logo.png'); background-size: 50px 40px; }
- sideBarMenu .homeButton:hover {
opacity: 0.5; }
- sideBarMenu .menuButton {
list-style: none; position: absolute; right: 9px; top: 12px; background: url('https://static.igem.org/mediawiki/2018/f/f8/T--Tuebingen--close.svg'); background-size: 40px 40px; }
.collapsed #sideBarMenu .menuButton { background: url('https://static.igem.org/mediawiki/2018/b/b2/T--Tuebingen--menu.svg'); background-size: 40px 40px; }
- mainContainer {
width: 100%; }
- titleImage {
position: relative; top: 0; left: 0; width: 100%; z-index: -2; }
- titleImageOverlay {
position:absolute; top: 0; left: 0; width: 100%; z-index: -1; }
.singleContent { margin: 10px 80px; line-height: 150%; text-align: justify; }
.multiContent { margin: 40px 80px; line-height: 150%; text-align: justify; }
.multiContentBigMargin { margin: 140px 80px !important; }
.subSection > h2 { margin: 20px 80px 10px; display: flex; align-items: center; }
.subSection > h2:after { content: ""; display: inline-block; flex-grow: 1; height: 3px; margin: 0px 0px 0px 40px; background-image: radial-gradient(#000, #fff); } .multiContent > div { display: inline-block; vertical-align: middle; }
/* TODO to avoid breaking because of spaces, subtract 1%. This is a dirty hack, might replace this with a proper grid */ .half { width: 49%; }
.third { width: 32%; }
.quarter { width: 24%; }
- headNavigation {
position: sticky; /* TODO polyfill IE? */ top: 18px; display: flex; flex-wrap: wrap; justify-content: space-evenly; align-items: stretch; min-height: 60px; margin: 0; padding: 0 50px; transition: top 0.5s;
background-image: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.5)); z-index: 1; }
- headNavigation.myhidden {
top: -60px; }
- headNavigation > li {
flex-grow: 1; list-style: none; }
- headNavigation a {
text-decoration: none; color: #555; font-size: 120%; display: block; height: 100%; width: 100%; }
- headNavigation a > p {
display: flex; align-items: center; justify-content: center; height: 100%; width: 100%; padding: 0.2em 0.5em; font-size: 20px; }
- headNavigation a:hover {
background-color: #ccc; }
- sideBarNavigation {
margin-top: 60px; padding: 0; text-align: center; }
- sideBarNavigation > li {
list-style: none; margin: 10px auto; }
- sideBarNavigation >li:hover::after {
content: ""; display: block; background-image: radial-gradient(#fff, #000); width: 80%; height: 3px; margin: 10px auto; transition: opacity 0.5s; opacity: 1; }
- sideBarNavigation >li::after {
content: ""; display: block; background-image: radial-gradient(#fff, #000); width: 80%; height: 3px; margin: 10px auto; transition: opacity 0.5s; opacity: 0; }
- sideBarNavigation a {
color: inherit; text-decoration: none; text-align: left; margin-left: 30px; display: block; height: 100%; width: 100%; font-size: 16px; }
.inactive { opacity: 0.5; }
- sideBar > #excludedInitial {
margin: 20px; border-radius: 50%; font-size: 150px; line-height: 160px;/* (width = height) - 2*margin*/ text-align: center;
background-color: #fff; color: #000; }
- includedInitial {
display: none; }
- sideBarSubNavigation { /* TODO not cascading */
padding: 0; text-align: center; color: #000; }
- sideBarSubNavigation > li {
list-style: none; display: block; margin: 20px 0 20px 30px; height: 40px; line-height: 40px; background-color: #ccc; position: relative; opacity: 0.6; transition: opacity 0.5s; }
- sideBarSubNavigation > li a {
text-decoration: none; color: inherit; display: inline-block; width: 100%; }
- sideBarSubNavigation > li::after {
display: inline-block; content: ""; position: absolute; right: -40px;
border-left: 40px solid #ccc; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-right: none; }
/* a little trick for the border */
- sideBarSubNavigation > li::before {
display: inline-block; content: ""; position: absolute; right: -42px; top: -2px;
border-left: 42px solid #000; border-top: 22px solid transparent; border-bottom: 22px solid transparent; border-right: none; }
- sideBarSubNavigation > li:hover {
opacity: 1; }
- sideBarSubNavigation > .active {
opacity: 1; }
- mainContainer #meaningfulQuote {
font-size: 200%; line-height: 160%; text-align: center; margin: 20px 150px 80px; }
.quoteAttribution { text-align: right; display: block; width: 100%; }
.seperator { background-image: radial-gradient(#000, #fff); width: 80%; height: 3px; margin: 10px auto; }
.seperatorInverse { background-image: radial-gradient(#fff, #000); width: 80%; height: 3px; margin: 10px auto; }
.collapsed .collapsible { transition: opacity 1s 0.5s !important; opacity: 0 !important; }
.menuButton { height: 40px; width: 40px; border-radius: 5px; border: 1px solid #fff; position: relative; }
.menuButton:hover { background-color: #444; }
.section { }
/* TODO make this actually cascading using selectors */ .sectionHeading { margin: 20px 0; }
/* we solved the box-size adaption problem like this without pseudoelements. Maybe we can use the position-trick instead! */
- mainContainer .section .sectionHeadingText {
font-weight: normal; background-color: #ccc; border-radius: 10px; display: inline-block; font-size: 200%; line-height: 200%; padding-left: 2.4em; margin-left: -1.2em; padding-right: 1em; vertical-align: middle; }
.sectionHeadingCircle { height: 4em; /* = font-size * line-height */ width: 4em; margin-left: -2em; /* = height = width / 2*/ border-radius: 50%; background-color: #fff; display: inline-block; position: relative; vertical-align: middle; z-index: 2; }
/* hmmm, as the pseudo element will alwys be in the h2, we can only make the circle smaller than the colored container. We probably should just use divs...
- mainContainer h2 {
font-weight: normal; background-color: #ccc; border-radius: 10px; display: inline-block; font-size: 40px; height: 48px; }
- mainContainer h2::before {
content: ""; display: inline-block; height: 48px; width: 48px; margin-left: -24px; background-color: #fff; border-radius: 50%; position: relative; } */ .tabMenu { display: flex; }
.tabMenu button:nth-child(1) { background-color: #ddd; } .tabMenu button:nth-child(2) { background-color: #ccc; } .tabMenu button:nth-child(3) { background-color: #bbb; } .tabMenu button:nth-child(4) { background-color: #aaa; }
.tabMenu button { border: none;
outline: none; background-color: #ccc;
vertical-align: bottom; font-size: 100%; cursor: pointer; border-top-left-radius: 5px; border-top-right-radius: 5px; flex-basis: 33%; padding: 10px 15px; }
.tab { padding: 0.05px; /* dirty little hack to prevent margin collapsing */ display: none; }
.tabContent .tab:nth-child(1) { background-color: #ddd; }
.tabContent .tab:nth-child(2) { background-color: #ccc; }
.tabContent .tab:nth-child(3) { background-color: #bbb; }
.tabContent .tab:nth-child(4) { background-color: #aaa; }
.tab.active { display: block; }
.plainSubHeading { margin: 20px 80px 10px; font-weight: bold; }
- Footer ol {
font-size: 80%; }
.readmore {
background-color: #000; border: none; border-radius: 10px; padding: 15px 40px; color: #fff; font-size: 20px; font-weight: normal; cursor: pointer;
transition: background-color 0.3s; }
.readmore:hover { background-color: #555; }
.memberRow { display: flex; justify-content: space-evenly; flex-wrap: wrap; }
.memberPassContainer { overflow-x: auto; display: inline-block; margin: 10px 2px; border-radius:15px; }
.memberPass { position: relative; height: 300px; width: 500px; background-color: #ccc; padding-top: 0.05em; }
- mainContainer .memberPass img {
height: 100%; border: none; border-right: 2px solid black; float: left; }
- mainContainer .memberPass img.serious {
position: absolute; top: 0; left: 0; transition: opacity 1s; }
- mainContainer .memberPass img.serious:hover {
opacity: 0; }
- mainContainer .memberPass table {
display: table; white-space: normal; border: none; margin: 10px 0 0 0; font-size: 14px; line-height: 120%; background-color: transparent; width: initial; }
- mainContainer .memberPass th {
border: none; text-align: left; padding: 4px 15px 0px; background-color: transparent; }
- mainContainer .memberPass td {
text-align: left; padding: 0px 15px 4px; background-color: transparent; }
.pulsingLine { fill: none; stroke: #ccc; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; animation: pulse 6s infinite; }
@keyframes pulse { 0% { stroke: #ccc; } 50% { stroke: #fff; } 100% { stroke: #ccc; } }
@media only screen and (max-width: 736px) {
body { padding-left: 60px; }
.singleContent { margin: 20px 40px; }
.multiContent { margin: 20px 40px; }
.multiContent > div { display: block; width: 100%; }
.half { width: 100%; }
.third { width: 100%; }
.quarter { width: 100%; }
- sideBar > #excludedInitial {
height: 0; line-height: 0; font-size: 0; }
- includedInitial {
display: initial; }
- mainContainer #mainHead h1 {
font-weight: normal; font-size: 40px; margin-top: 60px; padding-top: 0px; padding-left: 10px; }
- mainContainer .section .sectionHeadingText {
font-size: 150%; line-height: 150%; padding-left: 1.2em; margin-left: -1.125em; padding-right: 0.5em; }
.sectionHeadingCircle { height: 2.25em; /* = font-size * line-height */ width: 2.25em; margin-left: -1.125em; /* = height = width / 2*/ border-radius: 50%; background-color: #fff; display: inline-block; position: relative; vertical-align: middle; z-index: 2; }
.subSection > h2 { margin: 20px 40px 10px; }
- mainContainer #meaningfulQuote {
margin: 20px 40px; }
- headNavigation {
padding: 0 0; }
- headNavigation a > p {
font-size: 16px; padding: 0.1em 0.3em; }
.plainSubHeading { margin: 20px 40px 10px; }
.initiallyCollapsed { margin-left: -140px; }
}