/* full size screens */
@media screen and (min-width: 1150px){
    body {
        /* prevent background image display on narrow screens, where it makes
           body text less readable*/
        background-image: 
            linear-gradient(to right,
                            rgb(255, 255, 255, 1),
                            rgb(255, 255, 255, 0.7)), 
            url("/lib/img/BSbackground.jpg");
        /* for easier reading on wide screens */
        line-height: 2rem;
    }
    h1 {
        font-size: 2.5rem;
    }
    h2 {
        font-size: 1.8rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    h4 {
        font-size: 1rem;
    }

    main {
        padding: 1rem 2rem;
        width: calc(100%-4rem);
        max-width: 800px;
    }
}
/* medium (tablet) screens */
@media screen and (min-width: 600px) and (max-width: 1150px) {
    main {
        padding: 1rem 1rem;
        width: calc(100%-2rem);
    }
    menu li a, menu li a:visited {
        padding: 0.5rem 0.5rem;
        min-height: 1.5rem;
    }
    h1 {
        font-size: 2.5rem;
    }
    h2 {
        font-size: 1.8rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    h4 {
        font-size: 1rem;
    }
    
}
/* small (phone) screens */
@media screen and (max-width: 600px){
    main {
        padding: 0.5rem 0.5rem;
        width: calc(100%-1rem);
    }
    menu li a, menu li a:visited {
        padding: 0.5rem 0.5rem;
        min-height: 1.2rem;
    }
    #logo h1 {
        font-size: 0px;
    }
    #logo h1:after {
        /* ugly, but keeps the title to one line on mobile */
        content: "Int. Frege Society";
        font-size: 2rem;
    }
    h1 {
        font-size: 2rem;
    }
    h2 {
        font-size: 1.4rem;
    }
    h3 {
        font-size: 1.2rem;
    }
    h4 {
        font-size: 1rem;
    }
}
/* rules for all screens */
body {
    padding: 0;
    margin: 0;
    background-color: #ffffff;
    font-family: "Libre Baskerville", serif;
    font-size: 11pt;
    line-height: 1.5rem;
    letter-spacing: -0.5pt;    
    background-position-x: right;
    background-repeat: repeat-y;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* Colors: */
    --color-pblue: #163e64;
    --color-bblue: #dcebf8;
    --color-red: #dd011c;
    --color-white: #ffffff;
    --color-lightgray: #f5f9fd;
    --color-darkgray: #bbc7d2;
    --color-gold: #f7d602;
    --color-info: #d7d7d7;
}
header, footer {
    width: 100%;
}
footer {
    margin-top: auto; /* keep at bottom on short pages */
}

.w10 { width: 10%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w33 { width: calc(100%/3); }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w67 { width: calc(100% * 2/3)}
.w75 { width: 75%; }
.w80 { width: 80%; }
.w90 { width: 90%; }
.w100 { width: 100%; }

.bg-blue {
    background-color: var(--color-pblue);
    color: var(--color-white);
}
.info {
    padding: 0.5rem 1rem;
    background-color: var(--color-info);
}
#logo {
    display: flex;
    flex-direction: row;
    align-content: left;
}
#logo img {
    height: 52pt;
}
#logo h1 {
    line-height: 52pt;
    padding: 0;
    margin: 0;
    font-weight: bolder;
    font-style: normal;
}
main p {
    max-width: 600px;
    
}
main ul, main ol, main dl {
    max-width: 600px;
    padding: 0 0 0 1em;
}
main a, main a:visited {
    color: var(--color-pblue);
    text-decoration-style: dotted;
}
main a:hover {
    color: var(--color-red);
}
h1, h2, h3, h4, h5 {
    font-family: "Libre Bodoni";
    font-style: italic;
    font-weight: lighter;
}
h1 {  
    letter-spacing: -2%; 
}
main table th {
    text-align: left;
}

footer {
    padding: 0.5em 0;
    display: flex;
    align-items: center;
}
#copyright {
    margin-left: 1.2em;
}
#logo-small {
    width: 70px;
}
footer a {
    color: inherit;
    text-decoration-style: dotted;
}
footer a:hover {
    color: var(--color-gold);
}
nav {
    background-color: var(--color-lightgray);
    display: flex;
    justify-content: start;
    align-items: center;
    width: 100%;
    margin: 0;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}
menu {
    display: flex;
    flex-wrap: wrap;
    align-items: left;
    justify-content: start;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
menu li {
    position: relative;
    height: auto;
    width: auto;
    margin: 0em;
    cursor: pointer;
    text-align: center;
    border-left: 0.2em solid var(--color-lightgray);
    border-bottom: 0.2em solid var(--color-lightgray);
    box-sizing: border-box;
}
menu li a, menu li a:visited {
    padding: 0.5em 0.5em;
    min-height: 1.5em;
    min-width: 6em;
    text-decoration: none;
    color: var(--color-pblue);
    display: block;
    height: 100%;
}
menu li:hover a, menu li:hover a:visited {
  color: var(--color-pblue);
}
menu li:hover, menu li:focus-within {
  background: var(--color-bblue);
  color: var(--color-pblue);
  border-left: 0.2em solid var(--color-pblue);
  border-bottom: 0.2em solid var(--color-pblue);
}
menu li:hover .dropdown, menu li:hover .dropdown:hover, menu li:focus-within .dropdown, .menu li:focus-within .dropdown:hover {
  visibility: visible;
  opacity: 1;
  display: flex;
}
menu.dropdown {
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    left: 1.2em;
    top: 2.8em;
    visibility: hidden;
    display: none;
    z-index: 1;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 6px -1px;
}
menu.dropdown li {
    border-left: 0.2em solid var(--color-pblue);
    background-color: var(--color-lightgray);
}
menu.dropdown li:last-child {
    border-bottom: 0.2em solid var(--color-pblue);
}
menu.dropdown li:hover {
    background-color: var(--color-bblue);
}
