/* Font Faces */
@font-face {
  font-family: 'title';
  src: url(../fonts/Tagesschrift-Regular.ttf)
}

@font-face {
  font-family: 'initial';
  src: url(../fonts/capo_verso.ttf)
}

@font-face {
  font-family: 'text';
  src: url(../fonts/IMFellDWPica-Regular.ttf)
}

@font-face {
  font-family: 'itallics';
  src: url(../fonts/IMFellDWPica-Italic.ttf)
}

/* Base Styles */
* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

body {
    background-image: url(../images/pattern.png);
    background-repeat: repeat;
    background-size: 300px;
    color: #2c2416;
    font-family: 'text';
    line-height: 1.4;
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
}

p {
    color: #3d3428;
    font-size: 16px;
    text-align: left;
}

/* Shared Caption Styles */
.caption {
    align-content: center;
    background-image: url(./images/background.png);
    border: #eabb2d solid 3px;
    line-height: 1.3;
    padding: 12px;
    text-align: center;
    font-size: 1em;
}

/* Shared Interactive Link Styles */
.hive-hover a {
    pointer-events: none;
}

.hive-wrapper:hover .hive-hover a,
.hive-wrapper:focus-within .hive-hover a {
    pointer-events: auto;
}

/* Layout */

.back-wrapper {
    position: fixed;
    right: 4%;
    bottom: 6%;
    height: 240px;
}

.back-wrapper img {
    height: 240px;
}

.back-wrapper:hover img {
    transform: rotate(-3deg);
}

.caption-box {
    background: url(../images/background.png);
    position: absolute;
    outline: solid #eabb2d 8px;
    height: fit-content;
    width: 300px;
    height: 450px;
    top: 40%;
    right: 65%;
    z-index: 2;
}

.text {
    margin: 20px;
    width: 260px;
    height: 410px;
}

.text p {
    font-size: 14px;
}

.frame {
    background: url(../images/background.png);
    outline: #d34d00 8px solid;
    position: relative;
    overflow: hidden;
    width: 50%;
    height: 50%;
    margin: auto;
    top: 25%;
    z-index: 0;

    --hive-left: 85%;
    --hive-bottom: 2%;
}

.photo {
    outline: 8px solid #2f7b94;
    position: absolute;
    bottom: 48%;
    right: 18%;
    height: 300px;
    width: 220px;
    z-index: 2;
    overflow: hidden;
}

.photo img {
    max-height: 100%;
}


/* Frame Items */
.cloud {
    position: absolute;
    left: 5%;
    top: 2%;
}

.cloud img {
    height: 150px;
}

.fence {
    position: absolute;
    left: 15%;
    bottom: 5%;
    z-index: 9;
    rotate: 12deg;
}

.fence img {
    height: 100px;
}

.tree {
    position: absolute;
    left: 25%;
    bottom: 5%;
}

.tree img {
    height: 340px;
}

.yard {
    position: absolute;
    bottom: -10px;
    left: 0;
}

.yard img {
    height: 220px;
}

/* Mobile Items */

    .hive-wrapper {
        position: absolute;
        left: var(--hive-left);
        bottom: var(--hive-bottom);
        height: 150px;
        width: 60px;
        z-index: 4;
    }

    .hive-still {
        position: absolute;
        left: 0;
        top: 0;
    }

    .hive-still img {
        height: 150px;
    }

    .hive-hover {
        position: absolute;
        left: 0;
        top: 0;
    }

    .hive-hover img {
        display: none;
        height: 150px;
    }

    .hive-caption-wrapper {
        position: absolute;
        left: calc(var(--hive-left) - 130px);
        bottom: calc(var(--hive-bottom) + 20px);
        width: 130px;
        z-index: 9;
    }

    .hive-caption {
        display: none;
        padding: 10px 3px;
        font-size: 17px;
    }

    .hive-wrapper:hover .hive-hover img,
    .hive-wrapper:focus-within .hive-hover img {
        display: block;
    }

    .hive-wrapper:hover + .hive-caption-wrapper .hive-caption,
    .hive-wrapper:focus-within + .hive-caption-wrapper .hive-caption {
        display: block;
        z-index: 8;
    }

    .hive-wrapper:hover .hive-still img,
    .hive-wrapper:focus-within .hive-still img {
        display: none;
    } 

    /* Sun */
    .sun-wrapper {
        position: absolute;
        right: 17%;
        top: 15%;;
        height: 120px;
        width: 120px;
    }

    .sun-still {
        position: absolute;
        left: 0;
        top: 0;
    }

    .sun-still img {
        height: 150px;
        min-height: 120px;
    }

    .sun-hover {
        position: absolute;
        left: 0;
        top: 0;
    }

    .sun-hover img {
        display: none;
        height: 150px;
        min-height: 120px;
    }

    .sun-wrapper:hover .sun-hover img,
    .sun-wrapper:focus-within .sun-hover img {
        display: block;
    }

    .sun-wrapper:hover .sun-still img,
    .sun-wrapper:focus-within .sun-still img {
        display: none;
    }

/* Text */
.text p {
    color: #3d3428;
    font-size: 16px;
    margin-bottom: 1.5em;
    text-align: left;
}

.paragraph::first-letter {
    float: left;
    font-family: 'initial';
    font-size: 110px;
    line-height: 1;
    margin-bottom: -10px;
    margin-right: 10px;
}

.post-title {
    color: #2c2416;
    cursor: pointer;
    font-family: 'title';
    font-size: 60px;
    margin: 0 0 -2% 0;
    text-align: center;
}

/* Media Queries */
@media (max-width: 950px) {

    body {
        background-size: 300px;
    }

    .back-wrapper {
        position: fixed;
        right: 10px;
        bottom: 10px;
        height: 120px;
    }
    
    .back-wrapper img {
        height: 120px;
    }
    
    .post-summary p {
        font-size: 14px;
    }

    .post-summary::first-letter {
        font-size: 50px;
    }

    .post-title {
        font-size: 35px;
    }
}