/* Global Styles */

body {
    margin: 0;
    font-family: sans-serif;
    font-size: 16px;
    color: rgb(50, 50, 50);
    background-color: rgb(235, 235, 235);
}

@media (min-width: 720px) {
    body {
        font-size: 17px;
    }
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Oswald', sans-serif;
    margin-bottom: 24px;
}

/* Utilities */

.list-reset {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

/* Component - Grid */

.grid {
    display: flex;
    flex-wrap: wrap;
    /* justify-content: space-between; */
}

.grid a {
    text-decoration: none;
    color: initial;
}

/* Component - Wrapper */

.wrapper {
    width: 90%;
    margin: 0 auto;
    /* padding: 0 10px 10px 10px; */
}

.for-iframe {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; 
    height: 0;
}
.for-iframe iframe{
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (min-width: 720px) and (max-width: 1024px) {
    .wrapper {
        width: 85%;
    }
}

@media (min-width: 1024px) {
    .wrapper {
        width: 80%;
    }
}

/* Component - Section Intro Image */

.section-image {
    width: 150px;
    height: auto;
    max-height: 150px;
    /* position: absolute; */
    float: left;
    margin-right: 12px;
    margin-bottom: 10px;
    border-radius: 8px;
    box-shadow: 2px 2px 6px 1px rgba(50, 50, 50, 0.2);
}

@media (min-width: 720px) and (max-width: 1024px) {
    .section-image {
        width: 180px;
        max-height: 180px;
        margin-right: 16px;
    }
}

@media (min-width: 1024px) {
    .section-image {
        width: 200px;
        max-height: 200px;
        margin-right: 20px;
    }
}

/* Component - Overlay */

.overlay {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: 0; bottom: 0;
    background: rgba(0,0,0,.33);
    /* z-index: ; */
}

/* Component - Navigation Button */

.nav-button {
    display: inline-block;
    font-weight: bold;
    font-size: 12px;
    padding: 10px 6px;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.nav-button:hover {
    background-color: rgba(235, 235, 235, 0.3);
    border-radius: 10px 10px 0 0;
    transform: scale(1.05);
}

.nav-button:active {
    background-color: rgba(235, 235, 235, 0.6);
    border-radius: 10px 10px 0 0;
    transform: scale(1.05);
}

@media (min-width: 720px) and (max-width: 1024px) {
    .nav-button {
        font-size: 14px;
        padding: 10px 10px;
    }
}

@media (min-width: 1024px) {
    .nav-button {
        font-size: 15px;
        padding: 10px 12px;
    }
}

/* Modifiers - Navigation Buttons */

.is-current {
    background-color: rgba(235, 235, 235, 0.4);
    border-radius: 10px 10px 0 0;
}

/* Component - Logo */

.logo {
    font-family: 'Saira Extra Condensed', sans-serif;;
    font-size: 48px;
    text-align: center;
    display: inline-block;
}

.logo span {
    font-size: 20px;
}

@media (min-width: 720px) and (max-width: 1024px) {
    .logo {
        font-weight: bold;
        font-size: 60px;
    }

    .logo span {
        font-size: 24px;
    }
}

@media (min-width: 1024px) {
    .logo {
        font-weight: bold;
        font-size: 60px;
        padding-top: 10px;        
    }

    .logo span {
        font-size: 24px;
    }
}

/* Component - Header */

.header {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-image: url(./images/galaxy-milkyway-cover_6xne.1920.webp);
    background-size: cover;
    padding-top: 8px;
    text-align: center;
    position: fixed;
    z-index: 2;
    height: 100px;
    left: 0;
    right: 0;
    top: 0;
}

.header a {
    text-decoration: none;
    color: rgb(235, 235, 235);
}

.header + * {
    padding-top: 108px;
}

@media (min-width: 720px) {
    .header {
        height: 136px;
    }

    .header + * {
        padding-top: 142px;
    }
}

/* Component - Hero */

.hero {
    height: 150px;
    text-align: center;
    color: rgb(235, 235, 235);
    position: relative;
    background-image: url(./images/hero-telescope-1.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.hero-content {
    flex-direction: column;
    justify-content: space-evenly;
    height: 150px;
}

.hero quote {
    font-size: 24px;
    font-weight: bolder;
    font-family: 'Tangerine', cursive;
    z-index: 1;
}

.hero span {
    font-weight: bold;
    font-style: italic;
    font-size: 10px;
    z-index: 1;
    padding-top: 8px;
}

@media (min-width: 720px) and (max-width: 1024px) {
    .hero {
        height: 260px;
        background-position: bottom 60% center;
    }

    .hero-content {
        height: 260px;
    }

    .hero quote {
        font-size: 36px;
    }

    .hero span {
        font-size: 14px;
        margin-top: -80px;
    }
}

@media (min-width: 1024px) {
    .hero {
        height: 300px;
        background-position: bottom 60% center;
    }

    .hero-content {
        height: 300px;
    }

    .hero quote {
        font-size: 44px;
    }

    .hero span {
        font-size: 14px;
        margin-top: -80px;
    }
}

/* Component - Section - Home Page & Book-Intro*/

.for-section {
    min-height: 200px;
}

@media (min-width: 720px) and (max-width: 1024px) {
    .for-section {
        min-height: 240px;
    }

    .for-section, .book-intro p {
        line-height: 20px;
    }
}

@media (min-width: 1024px) {
    .for-section {
        min-height: 260px;
    }

    .for-section, .book-intro p {
        line-height: 24px;
    }
}

/* Component - Section - Books Gallery Page */

.grid.for-books-section {
    justify-content: space-between;
}

.special-span {
    font-size: 16px;
    font-weight: normal;
    font-style: italic;
}

.wrapper.for-section h1:first-of-type {
    font-size: 32px;
    margin-top: 32px;
}

/* Component - Book Card */

.book-card {
    width: 80vw;
    box-shadow: 2px 2px 6px 1px rgba(50, 50, 50, 0.2);
    border-radius: 8px;
    font-size: 16px;
    font-weight: normal;
    margin-top: 12px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: ease 0.3s;
}

.book-card:hover {
    transform: scale(1.05);
}

.book-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.book-card-content {
    margin-left: 6px;
    height: 48px;
}

.book-card-content h2 {
    font-size: 16px;
    font-weight: normal;
    margin: 0px 0px 6px 0px;
}

.book-card-content div {
    font-style: italic;
    font-size: 10px;
}

@media (min-width: 540px) and (max-width: 780px) {
    .book-card {
        width: 40vw;
        margin-top: 18px;
    }
}

@media (min-width: 780px) {
    .book-card {
        width: 25vw;
        margin-top: 24px;
    }
}

/* Component - Section - Book Description Page */

/* 

*** Grid Component Hierarchy ***

    - Component 1 
        1.1 - Book Cover image
        1.2 - Book Buttons Group
            1.2.1 - Amazon Button
            1.2.2 - goodreads Button

    - Component 2
        2.0 - Book Description

*** Grid Components & Containers ***

--- Class .for-book-description ---
    - For Component 1 & 2

--- Class .for-book-buttons ---
    - For Component 1.1 & 1.2

--- Class .for-book-buttons-layout ---
    - For Component 1.2.1 & 1.2.2

*/

.for-book-buttons {
    margin-top: 16px;
}

.grid .for-book-buttons > img {
    width: calc(100% / 2 - 20px);
    height: auto;
    border-radius: 8px;
    box-shadow: 2px 2px 6px 1px rgba(50, 50, 50, 0.2);
}

.grid .for-book-buttons li img {
    max-width: 20px;
    margin: 4px;    
    vertical-align: middle;
}

.for-book-buttons-layout {
    flex-direction: column;
    justify-content: flex-end;
}

.for-book-buttons li {
    text-align: center;
}

.for-book-description h2 {
    margin-top: 10px;
}

@media (min-width: 540px) and (max-width: 720px) {
    .for-book-buttons {
        flex-direction: column;
        width: calc(100% / 2 - 10px);        
    }

    .for-book-buttons ul {
        margin: 10px auto 2px auto;
    }

    .grid .for-book-buttons > img {
        width: 100%;
        max-width: 308px;
    }

    .for-book-description h2 {
        margin-top: 0px;
    }

    .grid.for-book-description div {
        margin-top: 24px;
    }

    .book-intro {
        width: calc(100% / 2 - 20px);
        margin-left: 20px;
    }
}

@media (min-width: 720px) {
    .for-book-buttons {
        flex-direction: column;
    }

    .for-book-buttons ul {
        margin: 10px auto 2px auto;
    }

    .grid .for-book-buttons > img {
        width: 308px;
        height: 500px;
    }

    .for-book-description h2 {
        margin-top: 0px;
    }

    .grid.for-book-description div:first-of-type {
        width: 308px;
    }

    .grid.for-book-description div {
        margin-top: 24px;
    }

    .book-intro {
        width: calc(100% - 330px);
        margin-left: 20px;
    }
}

/* Component - Book Link Button */

.book-button {
    border: 1px solid #05092c;
    border-radius: 10px;
    margin-left: 10px;
    margin-bottom: 8px;
    padding-right: 6px;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    box-shadow: 2px 2px 6px 1px rgba(50, 50, 50, 0.2);
    transition: ease 0.3s;
    display: inline-block;
}

.book-button a {
    margin: 0px;
}

@media (min-width: 540px) {
    .book-button {
        margin-left: 0px;
    }
}

/* Modifiers - Book Link Button */

.for-amazon:hover {
    background-color: #ee9a31;
    transform: scale(1.03);
}
.for-goodreads:hover {
    background-color: #409d69;
    transform: scale(1.03);
}

/* Component - Section - Extras Page */

.extras h1 {
    font-size: 32px;
}

.interviews > div:first-of-type {
    margin-bottom: 36px;
}

.tweets > div {
    border: 1px solid #1da1f2;
    border-radius: 10px;
    margin-bottom: 20px;
    background-color: #1da1f2;
    overflow: hidden;
}

.tweets div > div {
    border-top: 1px solid #1da1f2;
    background-color: rgb(235, 235, 235);
}

.tweets h2 {
    padding-left: 10px;
    color: rgb(235, 235, 235);
}

.tweets span {
    font-size: 12px;
    font-weight: normal;
}

@media (min-width: 720px) {
    .grid.extras > * {
        width: calc(100% / 2 - 15px);
    }

    .interviews {
        margin-right: 30px;
    }
}

/* Component - Footer */

.footer {
    font-size: 12px;
    background-color: #05092c;
    color: rgb(235, 235, 235);
    padding-bottom: 10px;
    margin-top: 24px;    
}

.footer h4 {
    margin-bottom: 10px;
}

.footer a {
    text-decoration: none;
    color: rgb(235, 235, 235);
}

.footer li {
    text-align: center;
}

.footer .grid {
    flex-direction: column;
}

.social-icon img {
    width: 29px;
    height: auto;
    padding: 2px;
}

.social-icon {
    display: inline-block;
    margin: auto 8px auto auto;
}

.disclaimer {
    font-size: 8px;
    text-align: center;
    /* margin-top: 1em; */
    color: #999999;
}

.disclaimer a {
    text-decoration: underline;
    color: #999999;
}

p.disclaimer {
    margin-top: 1em;
    margin-bottom: 0px;
}

@media (min-width: 720px) and (max-width: 1024px) {
    .footer {
        font-size: 14px;
    }
}