/**
 * Theme Name: Laura's Disco
 * Template: disco
 * Text Domain: lauras-disco
 * Author: Trevor Jahner
 * Author URI: https://trevorjahner.com/
 * Requires at least: 5.8
 * Tested up to: 6.0.1
 * Requires PHP: 5.7
 * Version: 1.0.6
 * 
 */

/* element overrides */

html a {
    font-variant-emoji: text;
    text-underline-offset: .275em;
    text-decoration-thickness: .075em !important;
}
hr {
    margin-block-start:0;
    margin-block-end: 0;
}
p {
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
    -webkit-hyphenate-limit-chars: 6 4 4;
    -webkit-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;   
    -webkit-hyphenate-limit-zone: 8%;

    hyphens: auto;
    hyphenate-limit-chars: 6 4 4;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;   
    hyphenate-limit-zone: 9%;

    max-width: 57.3ch;
}
label {
    padding-bottom: 1.382rem;
}
input, textarea {
    box-sizing: border-box;
    font-size: var(--wp--preset--font-size--medium);
    font-weight: normal;
    line-height: 1.4;
    width: 100%;
    &::placeholder {
        color: rgba(85, 57, 43, 0.75);
    }
    &:focus {
        outline: none;
    }
}
textarea {
    resize: none;
    height: 6.18vw;
}
p, label, textarea, input, em, strong, li {
    -webkit-font-feature-settings: "salt" on;
    font-feature-settings: "salt" on;
}

/* my custom additions to theme */

.page-title, .wp-block-query-title {
   margin-block-start: .382em;
   margin-block-end: .382em; 
}
.page-title {
    font-style: normal;
    font-weight: bold;
}
.stroke-title {
    color:var(--wp--preset--color--secondary);
    letter-spacing: .0618em;
    text-transform: uppercase;
    -webkit-text-stroke: .01875em var(--wp--preset--color--foreground);
    /* kerning.js */
    visibility: hidden; /* prevents fouc */
    -letter-color:  #E9F7C1 #55392b 0 #E9F7C1 #55392b 0 0 #E9F7C1 #55392b 0 #E9F7C1;
    .char2 { -webkit-text-stroke-color: #ffbe2e; }
    .char5 { -webkit-text-stroke-color: var(--wp--preset--color--highlight); }
    .char9 { -webkit-text-stroke-color: #ffbe2e; }
    .word2 {
        .char2 { -webkit-text-stroke-color: var(--wp--preset--color--highlight); }
        .char4 { -webkit-text-stroke-color: #ffbe2e; }
    }
}
@media (max-width:781px) {
	.stroke-title { max-width:89vw; }
}
.stroke-post-title {
    /* kerning.js */
    visibility: hidden; /* prevents fouc */
    -webkit-text-stroke: .01875em var(--wp--preset--color--foreground);
    -word-color: #E9F7C1 #ffbe2e 0 0 #E9F7C1 #ffbe2e;
    .word2 { -webkit-text-stroke: .01875em var(--wp--preset--color--highlight); }
    .word3 { -webkit-text-stroke: .01875em var(--wp--preset--color--secondary); }
    .word4 { -webkit-text-stroke: .01875em var(--wp--preset--color--highlight); }
    .word5 { -webkit-text-stroke: .01875em var(--wp--preset--color--secondary); }
    .word6 { -webkit-text-stroke: .01875em var(--wp--preset--color--secondary); }
}
header .wp-block-site-tagline {
    font-size: 1.618em;
    line-height: .5;
    margin-top: -.25em;
    /* kerning.js */
    visibility: hidden; /* prevents fouc */
    -word-color: #55392b #E9F7C1 #ffbe2e;
    .word1 { font-weight:bold; }
    .word2 { 
        font-style:italic;
        text-shadow: 1px 1px var(--wp--preset--color--foreground), 1.25px 0 var(--wp--preset--color--foreground), 1px -1px var(--wp--preset--color--foreground),
        0 -1.25px var(--wp--preset--color--foreground), -1px -1px var(--wp--preset--color--foreground), -1.25px 0 var(--wp--preset--color--foreground),
        -1px 1px var(--wp--preset--color--foreground), 0 1.25px var(--wp--preset--color--foreground);
    }
    .word3 {
        font-style:italic;
        font-weight:bold;
        letter-spacing: .025em;
        text-shadow: 1px 1px var(--wp--preset--color--foreground), 1.25px 0 var(--wp--preset--color--foreground), 1px -1px var(--wp--preset--color--foreground),
        0 -1.25px var(--wp--preset--color--foreground), -1px -1px var(--wp--preset--color--foreground), -1.25px 0 var(--wp--preset--color--foreground),
        -1px 1px var(--wp--preset--color--foreground), 0 1.25px var(--wp--preset--color--foreground);
    }
}
.home header .wp-block-site-tagline {
    display: none;
    visibility: hidden;
}
@media  (max-width: 781px) {
    header .wp-block-site-tagline {
        display: none;
        visibility: hidden;
    }
	.home .wp-block-image.has-image-mask {
        max-width:85vw;
    }
}
.artist {
    font-family: "Laura Makes Movies";
    font-style: italic;
    font-weight: bold;
    padding-top: calc(0.3em + 2px);
    position: relative;
    &:not(:empty)::before {
        content: 'w/';
        color: var(--wp--preset--color--secondary);
        border: .125em solid;
        border-radius: 10em;
        font-size: var(--wp--preset--font-size--small);
        padding: .382em;
        text-align: center;
        position: absolute;
        top: -.618em;
        left: -1.618em;
        height: 1.382em;
        width:1.382em;
        z-index: -1;
    }

}
.project-yr {
    font-weight: bold;
    padding-top: calc(0.3em + 2px);
    text-shadow: .0955em .0955em 0 var(--wp--preset--color--highlight);
}
@media (min-width: 782px) {
    .artist, .project-yr {
        font-size: 1.618em;
        padding-top: 0;
    }
}
@media (max-width: 781px) { .artist { margin-left:2em; } }

    /* custom additions - header & footer */
    header > div:first-of-type, footer > div:first-of-type {
        padding-bottom: calc(var(--wp--custom--gap--horizontal) * .382);
        padding-top: calc(var(--wp--custom--gap--horizontal) * .382);
    }

    /* custom additions - home pg */
    .home {
        .page-title {
            /* hide to show svg title, leave in DOM for accessibility */
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            border: 0;
        }
        header .wp-block-separator {
            display: none;
            visibility: hidden;
        }
        &:has(.recent-projects) .wp-block-template-part:not(footer) {
            margin-block-start: 0;
        }
    }
    .recent-projects {
        color:var(--wp--preset--color--secondary);
        margin-block-start: 0;
        padding: 1.382rem var(--wp--custom--gap--horizontal) 1.236rem;
        letter-spacing: .025em;
        text-transform: uppercase;
        -webkit-text-stroke: .01875em var(--wp--preset--color--foreground);
        /* kerning.js */
        visibility: hidden; /* prevents fouc */
        -letter-color:  #E9F7C1 #55392b 0 #E9F7C1 #55392b 0 0 #E9F7C1 #55392b 0 #E9F7C1;
        .char2 { -webkit-text-stroke-color: #ffbe2e; }
        .char5 { -webkit-text-stroke-color: var(--wp--preset--color--highlight); }
        .word2 {
            .char2 { -webkit-text-stroke-color: #55392b; }
            .char3 { -webkit-text-stroke-color: #ffbe2e; }
            .char5 { -webkit-text-stroke-color: #55392b; }
            .char6 {
                color:#55392b;
                -webkit-text-stroke-color: #ffbe2e; 
            }
        }
    }
    .site-title-svg {
        margin-bottom: -8.75em;
		max-width: 50vw;
        position: relative;
        z-index: 1;
    }
    @media (max-width: 781px) {
       .site-title-svg {
		    max-width: 80vw;
        }
    }

    /* custom additions - project/post list */
    .disco-post-list-pattern {
        .wp-block-columns { gap: calc(var(--wp--custom--gap--horizontal) * .618); }
        .wp-block-post-terms a:where(:not(.wp-element-button)), .wp-block-read-more {
            border-width: 1.5px;
            font-size: var(--wp--preset--font-size--small);
        }
        .artist, .project-yr {
            font-size: var(--wp--preset--font-size--small);
        }
        .hentry {
            .wp-block-post-featured-image {
                border: 1.5px solid var(--wp--preset--color--secondary);
                border-radius: 3.82rem;
                overflow: hidden;
            }
            &:nth-child(3n) .wp-block-post-featured-image {
                border-color:var(--wp--preset--color--highlight);
                border-radius: 999px;
            }
            &:nth-child(even) .wp-block-post-featured-image {
                border-color:var(--wp--preset--color--foreground);
            }
        }
    }
    .project-col-labels {
        font-size: var(--wp--preset--font-size--small);
        margin-block-start: 0;
    }
    .disco-post-list-pattern {
        margin-block-start: 0;
        .wp-block-post {
            margin-block-start: 1rem;
            .wp-block-separator {
                margin-block-start: calc(1.25rem - .0875em);
            }
        }
        .wp-block-post-title {
            font-size: 2rem;
        }
    }
    .compact-post-list .wp-block-post-title {
        font-size: 1.854rem;
    }
    @media (max-width: 781px) {
        .hide-mobile, html .project-col-labels {
            display: none;
            visibility: hidden;
        }
        .disco-post-list-pattern .wp-block-columns {
            gap: 1.618em;
            .wp-block-column:has(.artist:empty) {
                display: none;
                visibility: hidden;
            }
        }
        .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.mobile-half {
            flex-basis: calc(50% - 0.809em)!important;
        }
        .disco-post-list-pattern .wp-block-post-title {
            font-size: 1.382rem;
        }
        .disco-post-list-pattern:not(.compact-post-list) .mobile-half:nth-child(odd) {
            justify-content: start;
        }
        .compact-post-list .mobile-half:nth-child(even) {
            justify-content: end;
        }
    }

    /* custom additions - single post view */
    .single .stroke-post-title {
            margin-top: -.25em;
            padding: .25em 0;
    }
    .single .project-yr, .single .artist {
        
    }
    .credits {
        list-style: none;
        padding-left: 1.382em;
    }
    .credits li::before {
        content: '\2729 \2005 \2005';
        font-weight: bold;
        font-size: .875em;
        margin-left: -1.4em;   
    }
    .credits li:nth-child(odd)::before {
            color: var(--wp--preset--color--secondary);
            content: '\2B51 \2005 \2005';
    } 
    .credits li:nth-child(3n)::before {
        color: var(--wp--preset--color--highlight);
        content: '\2729 \2005 \2005';
    }
    @media (max-width: 781px) {
        .wp-block-group:has(.wp-block-post-navigation-link) { flex-wrap: wrap-reverse;}
    }

    /* custom additions - category archives */
    .category-nav {
        margin-block-start: 0;
        .wp-block-navigation-link {
            border-radius: 999px;
            border-width: .0875em;
            border-style: solid;
            font-size: var(--wp--preset--font-size--medium);
            line-height: 1.4;
            padding-top: calc(0.3em + 2px);
            padding-right: calc(1em + 2px);
            padding-bottom: calc(0.3em + 2px);
            padding-left: calc(1em + 2px);
            &:is(:hover, :focus) {
                background-color: var(--wp--preset--color--foreground);
                & a, span {
                  color: var(--wp--preset--color--background);
                  text-decoration: none;
                }
            }
            &.current-menu-item {
                background-color: var(--wp--preset--color--foreground);
                border-color: var(--wp--preset--color--highlight);
                color: var(--wp--preset--color--highlight);
                &:is(:hover, :focus) {
                    border-color: var(--wp--preset--color--secondary);
                    & a, span {color: var(--wp--preset--color--secondary);}
                }
            }
        }
    }

    /* custom additions - search view */
    .search {
        .project-col-labels, .wp-block-query-pagination {
            display: none;
            visibility: hidden;
        }
        footer {
            margin-block-start: 0;
            .wp-block-separator {
                display: none;
                visibility: hidden;
            }
        }
    }


/* plugin overrides */

    /* lightbox */
    html .baguetteBox-button svg g, html .baguetteBox-button svg polyline {
        stroke: var(--wp--preset--color--highlight);
    }
    /* contact form 7 */
   .wpcf7 {
        font-family: 'Laura Makes Movies';
        font-size: var(--wp--preset--font-size--medium);
    }
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"] {
        flex-grow: 1;
        margin-left: 0;
        margin-right: 0;
        min-width: 3rem;
        padding: .5rem 2rem;
    }
    .wpcf7 textarea {
        height: 12.36rem;
        padding: 1.5rem 2rem;
    }
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 textarea {
        background-color: transparent;
        border: 1.5px solid var(--wp--preset--color--foreground);
        border-radius: 2rem;
        color: var(--wp--preset--color--foreground);
        line-height: 1.4;
        margin-bottom: 3px;
        margin-top: calc(.382rem + 3px);
        &:focus {
            background-color: var(--wp--preset--color--highlight);
            border-width: 3px;
            margin-bottom: 1px;
            margin-top: calc(.382rem + 1px);
        }
    }
    /* contact form 7 - error messages */
    .wpcf7-form-control-wrap:has(input:focus) .wpcf7-not-valid-tip {
        display: none;
        visibility: hidden;
    }
    .wpcf7-not-valid-tip {
        position: absolute;
        width: 100%;
        left: 1.225rem;
        top: -.275rem;
    }
    /* contact form 7 - checkboxes */
    .wpcf7-list-item {
        margin: 0;
        input[type="checkbox"] {
            margin: 0 .5rem 0 0;
            appearance: none;
            -webkit-appearance: none;
            border: 1.5px solid var(--wp--preset--color--foreground);
            border-radius: 99px;
            width: 1em;
            height: 1em;
            position: relative;
            top: .1375em;
            &:checked {
                background-color: var(--wp--preset--color--highlight);
                &::before {content: '\2713';}
            }
            &::before {
                content: '';
                color: var(--wp--preset--color--foreground);
                position: absolute;
                width: 100%;
                height: 100%;
                line-height: 1;
                top: -.2125em;
                left: .1375em;
            }
        }
    }
    .wpcf7 input[type="submit"],
    .wpcf7 input[type="button"] {
        background-color: var(--wp--preset--color--foreground);
        border: 1.5px solid var(--wp--preset--color--foreground);
        border-radius: 999px;
        color: var(--wp--preset--color--background);
        cursor: pointer;
        font-family: 'Laura Makes Movies';
        font-size: var(--wp--preset--font-size--medium);
        letter-spacing: .0125em;
        line-height: 1.4;
        max-width: 38.2%;
        padding-top: 1rem;
        padding-right: calc(1.333em + 3px);
        padding-bottom: 1rem;
        padding-left: calc(1.333em + 3px);
        text-decoration: none;
        text-transform: uppercase;
        &:hover, &:focus {
            background-color: var(--wp--preset--color--background);
            color: var(--wp--preset--color--foreground);
            border-color: var(--wp--preset--color--foreground);
        }
    }

/* block overrides */
html .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    /* fix bug where 2 column galleries were showing as 1 column bc images were too wide */
    width: calc(50% - var(--wp--style--unstable-gallery-gap));
}
html .wp-block-navigation-item__content {
    font-size: var(--wp--preset--font-size--medium);
}
.wp-block-navigation-item.current-menu-item {
    background-color: var(--wp--preset--color--foreground);
    border: 1.5px solid var(--wp--preset--color--secondary);
    border-radius: 999px;
    color: var(--wp--preset--color--secondary);
    margin: calc(-0.3em - 2px) calc(-.5em - 2px);
    padding-top: calc(0.3em + 2px);
    padding-right: calc(.5em + 2px);
    padding-bottom: calc(0.3em + 2px);
    padding-left: calc(.5em + 2px);
}
html :where(.wp-block-columns) {
    margin-bottom: 0;
}
html .wp-block-details summary {
    border-radius: 999px;
    border-color: var(--wp--preset--color--foreground);
    border-width: .0875em;
    border-style: solid;
    letter-spacing: .005em;
    line-height: 1.4;
    max-width: 61.8ch;
    padding-top: calc(0.3em + 2px);
    padding-right: calc(1em + 2px);
    padding-bottom: calc(0.3em + 2px);
    padding-left: calc(1em + 2px);
    text-transform: uppercase;
}
html .wp-block-details summary:is(:hover, :focus) {
    background-color: var(--wp--preset--color--foreground);
    color: var(--wp--preset--color--background);
}
html .wp-block-details summary::marker {
    content: '\2193 \00a0 \00a0';
}
html .wp-block-details[open] summary::marker {
    content: '\2191 \00a0 \00a0';
}
html .wp-block-pullquote cite {
    font-style: italic;
}
html .wp-block-pullquote p {
    margin-block-end: 1.618rem;
}
.wp-block-read-more:is(:hover, :focus), .wp-block-post-title a:is(:hover, :focus) {
    text-decoration: none;
}
:root :where(.wp-block-read-more) {
    border-width: .0875em;
}
:root :where(.wp-block-query-pagination a) {
    border-radius: 999px;
    border-width: .0875em;
    border-style: solid;
    line-height: 1.4;
    padding-top: calc(0.3em + 2px);
    padding-right: calc(1em + 2px);
    padding-bottom: calc(0.3em + 2px);
    padding-left: calc(1em + 2px);
    text-transform: uppercase;
    &:is(:hover, :focus) {
      background-color: var(--wp--preset--color--foreground);
    }
}
:root :where(.wp-block-post-navigation-link:not(:empty)) {
    border-radius: 999px;
    border-width: .0875em;
    border-style: solid;
    line-height: 1.4;
    padding-top: calc(0.3em + 2px);
    padding-right: calc(1em + 2px);
    padding-bottom: calc(0.3em + 2px);
    padding-left: calc(1em + 2px);
    text-transform: uppercase;
    &:is(:hover, :focus) {
        background-color: var(--wp--preset--color--foreground);
        & a, span {
          color: var(--wp--preset--color--background);
          text-decoration: none;
        }
    }
}
:root :where(.wp-block-separator) {
    border-bottom-width: .0875em;
}
:root :where(.wp-block-site-title a:where(:not(.wp-element-button))) {
    font-weight: normal;
}
.wp-block-search__input:focus-visible {
    background-color: var(--wp--preset--color--highlight);
}


/*! NOTE: Including here so I can edit plugin css
 * baguetteBox.js
 * @author  feimosi
 * @version 1.12.0
 * @url https://github.com/feimosi/baguetteBox.js
 */#baguetteBox-overlay{display:none;opacity:0;position:fixed;overflow:hidden;top:0;left:0;width:100%;height:100%;z-index:10000;background-color:rgba(85,57,43,0.875);}#baguetteBox-overlay.visible{opacity:1}#baguetteBox-overlay .full-image{display:inline-block;position:relative;width:100%;height:100%;text-align:center}#baguetteBox-overlay .full-image figure{display:inline;margin:0;height:100%}#baguetteBox-overlay .full-image img{display:inline-block;width:auto;height:auto;max-height:100%;max-width:100%;vertical-align:middle;}#baguetteBox-overlay .full-image figcaption{display:block;position:absolute;bottom:0;width:100%;text-align:center;line-height:1.8;white-space:normal;color:#ccc;background-color:#000;background-color:rgba(0,0,0,.6);font-family:sans-serif}#baguetteBox-overlay .full-image:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#baguetteBox-slider{position:absolute;left:0;top:0;height:100%;width:100%;white-space:nowrap;-webkit-transition:left .4s ease,-webkit-transform .4s ease;transition:left .4s ease,-webkit-transform .4s ease;transition:left .4s ease,transform .4s ease;transition:left .4s ease,transform .4s ease,-webkit-transform .4s ease,-moz-transform .4s ease}#baguetteBox-slider.bounce-from-right{-webkit-animation:bounceFromRight .4s ease-out;animation:bounceFromRight .4s ease-out}#baguetteBox-slider.bounce-from-left{-webkit-animation:bounceFromLeft .4s ease-out;animation:bounceFromLeft .4s ease-out}@-webkit-keyframes bounceFromRight{0%,100%{margin-left:0}50%{margin-left:-30px}}@keyframes bounceFromRight{0%,100%{margin-left:0}50%{margin-left:-30px}}@-webkit-keyframes bounceFromLeft{0%,100%{margin-left:0}50%{margin-left:30px}}@keyframes bounceFromLeft{0%,100%{margin-left:0}50%{margin-left:30px}}.baguetteBox-button#next-button,.baguetteBox-button#previous-button{top:50%;top:calc(50% - 30px);width:44px;height:60px}.baguetteBox-button{position:absolute;cursor:pointer;outline:0;padding:0;margin:0;border:0;background-color:rgba(85,57,43,0);color:var(--wp--preset--color--highlight);font:1.6em sans-serif;}.baguetteBox-button:hover{background-color:var(--wp--preset--color--foreground)}.baguetteBox-button#next-button{right:2%}.baguetteBox-button#previous-button{left:2%}.baguetteBox-button#close-button{top:20px;right:calc(2% + 6px);width:30px;height:30px}.baguetteBox-button svg{position:absolute;left:0;top:0}.baguetteBox-spinner{width:40px;height:40px;display:inline-block;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px}.baguetteBox-double-bounce1,.baguetteBox-double-bounce2{width:100%;height:100%;-moz-border-radius:50%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s infinite ease-in-out;animation:bounce 2s infinite ease-in-out}.baguetteBox-double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce{0%,100%{-webkit-transform:scale(0);-moz-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}}