/* Base CSS File for gwoptics 

Authors: Aaron Jones, Andreas Freise, 

This file declares the essential CSS elements
shared between lots of elements on the pages.

Specific CSS for a section of a page
e.g. a header or a footer should be 
contained in its own file.

*/


/* Headers */
body {
    margin: 0;
    padding: 0;
    background: #98A1AA;
    font-size: 20px;
    font-family: 'Alegreya Sans', sans-serif;
    text-align: justify;
    color: #3C3C3C;
    min-width: 320px;
    position: static;

    /* Break words (e.g. in long links) */
    overflow-wrap: break-word;
    word-wrap: break-word;
    /*border: pink solid;*/
}

h1,
h2,
h3 {
    margin: 0;
    font-weight: normal;
    color: #000000;
    text-align: left;
}

h1 {
    letter-spacing: -1px;
    font-size: 40px;
}

h2 {
    font-size: 28px;
}

h3 {
    font-size: 25px;
}


/* Text Elements */
p,
ul,
ol {
    margin: 0 0 2em 0;
}

a {
    color: #1B75A9;
    text-decoration: none;
}

a:hover,
a:active {
    text-decoration: none;
    color: #00A0C0;
}

a:visited {
    color: #1B75A9;
}

a.new:after {
    content: "new";
    color: #FF0000;
    font-style: italic;
    margin-left: 5px;
}

a.new:hover,
a.new:active {
    text-decoration: none;
    color: #00A0C0;
}

form {
    margin: 0;
    padding: 0;
}

fieldset {
    margin: 0;
    padding: 0;
    border: none;
}

legend {
    display: none;
}

button,
input,
textarea,
select {
    color: #333333;
    font: inherit;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 6px;
    padding-right: 6px;
}

pre {
    display: block;
    font-family: 'Monaco';
    white-space: pre-line;
    font-size: 16px;
    margin: 1em 0px;
}

/* Images */
img {
    border: none;
    max-width: 100%;
    object-fit: scale-down;

}

img.left {
    float: left;
    margin-right: 25px;
}

img.right {
    float: right;
    margin-left: 25px;
}

img.portrait {
    float: right;
    margin-right: 20px;
    border: 1px hidden #000000;
}

img.icon {
    float: right;
    margin-right: 20px;
    margin-left: 50px;
    border: 1px hidden #000000;
}

/* Page config */
#gwpage {
    max-width: 900px;
    margin: auto;
    background: #FFFFFF;
    border: 10px #FFFFFF solid;
}

/* Divs */
.subsection { 
    margin-bottom: 1em;
    color: #5C4C4C;
}

.underline {
    border: none;
    border-bottom: solid 2px;
    border-bottom-color: #98a1aa;
}

.threecol {
    float: left;
    max-width: 30%;
    margin-right: 3%;
}

@media screen and (max-width: 850px) {
    .threecol {max-width: 47%; }
}
@media screen and (max-width: 450px) {
    .threecol {max-width: 100%; }
}

.threecol p {
    margin-top: 0;
    margin-bottom: 2em;
}

.twocol {
    float: left;
    width: 46%;
    text-align: center;
    margin-right: 3%;
    border: none;
}

@media screen and (max-width: 550px) {
    .twocol {width: 100%;}
    .twocol_uline {
        border: none;
        border-bottom: solid 2px;
        border-bottom-color: #98a1aa;
    }
}

.clear {
    clear: both;
}

.intro {
    padding: 0px 10px;
    margin-bottom: 10px;
}

.intro h1 {
    max-width: 520px;
    padding: 0px 0 0 0px;
    font-size: 24px;
    color: #28313A;
}

.post {
    padding: 0px 20px;
    margin-bottom: 20px;
}

.post .title {
    margin-top: 20px;
    margin-bottom: 5px;
    padding-bottom: 5px;
}

#subtitle {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-bottom: 20px;
    color: #5C4C4C;
}

.listitem {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-bottom: 20px;
    font-size: 18px;
    color: #4C2C4C;
}

.post h2.fotocenter {
    color: #000000;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 10pt;
    text-align: center;
    padding-bottom: 4px;
    padding-top: 0px;
}

.post h1 {
    width: 80%;
    padding: 0px 0 0 0px;
    color: #28313A;
}

.post h2 {
    width: 80%;
    padding: 0px 0 0 0px;
    color: #28313A;
}

.post .entry {}

.post .meta {
    padding: 15px 15px 30px 0px;
    font-size: 10px;
}

.post .meta p {
    margin: 0;
    padding-top: 15px;
    line-height: normal;
    color: #28313A;
}

.post .meta .byline {
    float: left;
}

.post .meta .links {
    float: right;
}

.post .meta .more {
    padding: 0 20px 0 18px;
}

.post .meta .comments {
    padding-left: 22px;
}

.post .meta b {
    display: none;
}

.tweet {
    text-align: right;
    float: right;
    margin-right: 20px;
    margin-left: 50px;
    margin-top: 0px;
    margin-bottom: 0px;
    border: 1px hidden #000000;
}

/* The small pictures on learn etc */
.tportrait {
    text-align: right;
    font-style: italic;
    font-size: 12px;
    float: right;
    color: #5C5C5C;
    margin-right: 10px;
    margin-left: 50px;
    margin-top: 0px;
    margin-bottom: 30px;
    border: 1px hidden #000000;
}

/* Container block for tportrait elements
automatically switches to 100% width on 
small screens to avoid really tiny p-elements */
.tportrait_contain {
  display: inline-block;
  float: right;
}

@media screen and (max-width: 470px) {
    .tportrait_contain { width: 100%; }

}

#s {
    max-width: 140px;
    margin-right: 5px;
    padding: 3px;
    border: 1px solid #DFE1E0;
}

.box1 {
    padding: 20px;
}

.box2 {
    color: #BABABA;
}

.box2 h2 {
    margin-bottom: 15px;
    font-size: 16px;
    color: #FFFFFF;
}

.box2 ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.box2 a:link,
.box2 a:hover,
.box2 a:active,
.box2 a:visited {
    color: #EDEDED;
}

.box_focus600 {
    /* A large general perpose box 
    for centered images (img) or divisions */
    display: block;
    width: 90%;
    max-width: 600px;
    height: auto;
    margin: auto;
}

.box_focus850 {
    /* A large general perpose box 
    for centered images (img) or divisions */
    display: block;
    width: 90%;
    max-width: 600px;
    height: auto;
    margin: auto;
}

#footer-wrap {}

#footer {
    max-width: 900px;
    margin: 0 auto;
    margin-top: 20px;
    background: #E5E5E5;
    border: 0px #FFFFFF solid;
}

#footer p {
    font-size: 12px;
}

#legal {
    clear: both;
    padding-top: 15px;
    padding-bottom: 10px;
    text-align: center;
    color: #595959;
}

#legal a {
    font-weight: normal;
    color: #1B75A9;
}

#pressplay {
    color: #6C6C6C;
    font-size: 12px;
    text-align: center;
}

#download {
    color: #6C6C6C;
    font-size: 12px;
    text-align: center;
    margin-bottom: 20px;
    border: 1px hidden #FFFFFF;
}

.finesse_code_full {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    height: 300px;
    overflow: auto;
    text-align: center;
    margin-top: 15px;
    border: 1px solid #777;
    background-color: #F8F8F8;
}

.finesse_code_wide {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 300px;
    overflow: auto;
    text-align: center;
    margin-top: 15px;
    border: 1px solid #777;
    background-color: #F8F8F8;
}

.finesse_code {
    width: 58%;
    height: 300px;
    float: right;
    overflow: auto;
    margin-top: 15px;
    border: 1px solid #777;
    background-color: #F8F8F8;
}

.caption {
    color: #6C6C6C;
    width: 80%;
    font-size: 12px;
    text-align: center;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    border: 1px hidden #FFFFFF;
}

#nojavascript {
    color: #990000;
    font-size: 18px;
    text-align: center;
}

.imglinks {
    text-align: center;
    margin-bottom: 20px;
    width: 90%;
}

.image_caption {
    color: #6C6C6C;
    font-size: 12px;
    text-align: center;
    margin-bottom: 20px;
    border: 1px hidden #FFFFFF;
}


/* Style the button that is used to open and close the collapsible content */
.collapsible {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
}

/* Add a background color when hover or click*/
.active, .collapsible:hover {
  background-color: #ccc;
}

/* Style the collapsible content. Note: hidden by default */
.content {
  padding: 0 18px;
  display: none;
  overflow: hidden;
  /*background-color: #f1f1f1;
*/}


/* Collection of three 
divs used to display
the small icons on /play
and /research */
.app_icon {
    width: 100%;
    display: block;
    margin: auto;
}

.app_icon_container {
    width:10%;
    float:left;
    padding: 5px;
}

.app_desc {
    width:85%;
    float:right
}