/*
Theme Name: WP Theme Dev - m07 a07
Theme URI: https://toleary.bitweb1.nwtc.edu

Author: Torin O'Leary
Author URI: https://toleary.bitweb1.nwtc.edu

Description: WP Theme Dev - Module 07 Assignment 07 Theme
Tags: two-column

Version: 1.0

Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.0 and greater

License: GNU GPU
License URI: https://www.gnu.org/licenses/gpl-3.0.txt

Text Domain: wptd

General comments (optional).
*/
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Show Page Info in H1 */
@media screen and (min-width: 768px) {
    header h1:after {
        display: block;
        font-size: .4em;
        line-height: 4;
        text-transform: uppercase;
    }

    .home header h1:after {
        content: ".home - index.php";
    }

    .archive header h1:after {
        content: ".archive - index.php";
    }

    .page header h1:after {
        content: ".page - page.php";
    }

    .single header h1:after {
        content: ".single - single.php";
    }

    .search header h1:after {
        content: ".search - index.php";
    }

    .error404 header h1:after {
        content: ".error404 - index.php";
    }
}

:root {
    --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --color-lt-yellow: hsla(44, 93%, 93%, 1);
    --color-lt-orange: hsla(20, 78%, 93%, 1);
    --color-lt-blue: hsl(225,50%,95%);
    --color-main: hsl(225, 50%, 50%);
    --color-main-a20: hsl(225, 50%, 50%, .2);
    --color-main-a40: hsl(225, 50%, 50%, .4);
    --color-main-a60: hsl(225, 50%, 50%, .6);
    --color-main-a80: hsl(225, 50%, 50%, .8);
    --color-font-dark: hsl(225, 50%, 5%);
    --color-font-light: hsl(0, 0%, 97%);
    --color-font-light-a40: hsl(0, 0%, 100%, .4);
    --color-font-light-a60: hsl(0, 0%, 100%, .6);
    --color-font-light-a80: hsl(0, 0%, 100%, .8);
    --nav-main-height: 64px;
    --grid-columns-12: repeat(12, 1fr);
    --grid-columns-8: repeat(8, 1fr);
    --grid-gap: 20px;
    --grid-gap-half: calc(var(--grid-gap) * .5);
}

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    margin: 0;
    font-family: var(--font-system);
    color: var(--color-font-dark);
    /* background-color: var(--color-lt-yellow); */
}

body.page-template-page_full-width {
    background-color: var(--color-lt-yellow);
}

body.page-id-91 {
    background-color: var(--color-lt-orange);
}

.wrapper {
    margin: calc(var(--nav-main-height) + 2rem) auto 0;
    width: min(1280px, 94%);
}

header {
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    left: 0;
    height: 64px;
    background: var(--color-main);
}

header h1 {
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    left: 0;
    height: 64px;
    box-shadow: 0 2px 4px var(--color-font-dark);
    background: var(--color-main);
    color: var(--color-font-light);
    padding: 0 var(--grid-gap);
    margin: 0;
    font-size: 2em;
}

header h1 a {
    color: inherit;
    text-decoration: none;
    display: block;
}

header h1 span {
    display: block;
    padding-right: calc(4px + 48px);
    font-size: .4em;
    line-height: 1;
    text-transform: uppercase;
    margin-top: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.header-content-ad {
    display: none;
}

#custom-header {
    display: none;
}

.nav-main ul,
.nav-sub ul {
    list-style: none;
    padding: var(--grid-gap-half) 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.nav-main ul a,
.nav-sub ul a {
    display: block;
    line-height: 2;
    font-weight: bold;
    padding: 0 var(--grid-gap);
    border-bottom: 2px solid transparent;
    transition: all .5s ease-in;
}

.nav-main ul a:hover,
.nav-sub ul a:hover,
.nav-main .current-menu-item a,
.nav-sub .current-menu-item a {
    border-bottom-color: var(--color-font-light);
}

.nav-sub {
    display: none;
}

.nav-main-drawer {
    position: fixed;
    z-index: -1;
    right: 0;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    transition: all .2s ease-in-out;
    padding: 5rem var(--grid-gap) var(--grid-gap);
    background: var(--color-font-light);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 2px 4px var(--color-font-dark);
}

.nav-main-drawer form {
    align-self: center;
    display: flex;
}

main form {
    display: flex;
    flex-direction: column;
}

main form label {
    display: block;
}

.nav-main-drawer form>label,
main form>label {
    flex: 1;
    display: flex;
}

.nav-main-drawer form input[name=s],
main form input[name=s] {
    border: 1px solid var(--color-font-dark);
    padding: 0 .25em;
    margin: 0;
    font-family: inherit;
    outline: none;
    font-size: 1rem;
    line-height: 2;
    flex: 1;
}

.nav-main-drawer form input[type=submit],
main form input[type=submit] {
    border: 1px solid var(--color-font-dark);
    /* border-left: none; */
    padding: 0 .25em;
    margin: 0;
    font-family: inherit;
    outline: none;
    font-size: 1rem;
    line-height: 2;
}

[for=nav-toggle-icon] {
    position: fixed;
    z-index: 999;
    top: .5rem;
    right: var(--grid-gap);
    width: 48px;
    height: 48px;
    cursor: pointer;
}

[id=nav-toggle-icon] {
    display: none;
}

[for=nav-toggle-icon] span {
    width: 80%;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
}

[for=nav-toggle-icon] span::before,
[for=nav-toggle-icon] span,
[for=nav-toggle-icon] span::after {
    background-color: var(--color-font-light);
    height: 6px;
    position: absolute;
    content: '';
    transition: all .25s ease-in;
    border-radius: 3px;
}

[for=nav-toggle-icon] span::before {
    width: 100%;
    top: -10px;
}

[for=nav-toggle-icon] span::after {
    width: 100%;
    top: 10px;
}

[id=nav-toggle-icon]:checked~[for=nav-toggle-icon] span {
    background-color: transparent;
}

[id=nav-toggle-icon]:checked~[for=nav-toggle-icon] span::before,
[id=nav-toggle-icon]:checked~[for=nav-toggle-icon] span::after {
    top: 0;
}

[id=nav-toggle-icon]:checked~[for=nav-toggle-icon] span::before {
    transform: rotate(-135deg);
}

[id=nav-toggle-icon]:checked~[for=nav-toggle-icon] span::after {
    transform: rotate(135deg);
}

#nav-toggle-icon:checked~.nav-main-drawer {
    transform: translateY(0);
}

.nav-footer {
    margin: calc(var(--grid-gap) * 2) 0 var(--grid-gap);
}

.nav-footer>ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}

.nav-footer>ul :nth-last-child(3) {
    margin-left: auto;
}

.nav-footer>ul a {
    display: block;
    padding: 0 .25em;
    line-height: 2;
    text-decoration: none;
}

.nav-footer>ul :first-child a {
    padding-left: 0;
}

.nav-footer>ul :last-child a {
    padding-right: 0;
}

.breadcrumb {
    grid-column: 1 / -1;
}

a {
    color: var(--color-main);
}

figure {
    margin: 0;
    padding: 0;
}

figure img {
    width: 100%;
    height: auto;
}

.splide {
    margin-bottom: var(--grid-gap);
}

.splide a {
    color: var(--color-font-light);
}

.splide__slide img {
    object-fit: cover;
    height: 270px;
    width: 100%;
}

.splide__slide-title {
    margin: 0;
    padding: 0 var(--grid-gap) 0;
    line-height: 1.4em;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--color-main);
    backdrop-filter: blur(10px);
}

.splide__toggle {
    position: relative;
    float: right;
    margin-top: -2em;
    margin-right: 1em;
}

.cards {
    padding-left: 0;
    margin: 0;
    list-style: none;
}

.cards .card {
    overflow: hidden;
}

.home .cards .card,
.archive .cards .card {
    border: 1px solid var(--color-font-dark);
    border-radius: .5rem;
}

.cards .card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
}

.cards .card-figure {
    position: relative;
    margin: 0;
    line-height: 0;
    overflow: hidden;
}

.cards .card-figure img {
    width: 100%;
    height: 270px;
    object-fit: contain;
    transform-origin: 40% 80%;
    transform: rotate(0) scale(1);
    transition: all .45s;
}

.cards .card-figure-caption {
    padding: 0 10px;
}

.cards .card-link:hover .card-figure img {
    transform: rotate(-8deg) scale(1.3);
}

.cards .card-figure-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    background: hsla(228, 3%, 34%, 0.5);
    color: hsla(0, 0%, 100%, 1);
    line-height: 2;
    font-style: italic;
}

.cards .card-section {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: var(--grid-gap-half);
}

.cards .card-section-title {
    margin-bottom: 0;
    border-bottom: 1px solid;
}

.cards .card-section-meta {
    display: flex;
    flex-wrap: wrap;
}

.cards .card-section-meta * {
    flex: 0 0 50%;
    font-size: .8em;
    line-height: 2;
}

.cards .card-section-meta :nth-child(even) {
    text-align: right;
}

.cards .card-section-excerpt {
    flex-grow: 1;
}

.cards .card-section-button {
    align-self: flex-end;
    margin: 10px;
    padding: 0 1em;
    border-radius: .5em;
    border: 1px solid;
    line-height: 2;
}

.cards .no-posts {
    grid-column: 1 / -1;
}

.page-numbers {
    list-style: none;
    padding-left: 0;
    display: flex;
    margin: var(--grid-gap) 0;
    justify-content: center;
}

.page-numbers .page-numbers {
    line-height: 3em;
    padding: 0 1em;
    margin: 0 4px;
    border-radius: 0.5rem;
    color: var(--color-font-dark);
    background: var(--color-main-a20);
    text-decoration: none;
    transition: all .25s ease-in;
}

.page-numbers .page-numbers:not(span):hover {
    color: var(--color-font-light);
    background: var(--color-main);
}

.page-numbers .page-numbers.current {
    color: var(--color-font-light);
    background: var(--color-main);
}

.widget {
    margin: var(--grid-gap) 0;
    display: flex;
    flex-direction: column;
}

.wp-block-rss {
    margin-top: 0;
}

.wp-block-rss__item {
    margin: calc(var(--grid-gap) * .5) 0;
}

.naddpod .wp-block-rss__item:first-of-type {
    margin-top: 0;
}

.wp-block-categories-list {
    list-style-type: none;
    padding-inline-start: 0;
}

.wp-block-categories-list .cat-item a:link {
    text-decoration: none;
}

.wp-block-categories-list .cat-item a:hover {
    text-decoration: underline;
}

.wp-block-tag-cloud {
    display: flex;
    flex-flow: row wrap;
    gap: var(--grid-gap-half);
}

p.wp-block-tag-cloud a.tag-cloud-link {
    margin-right: 0;
}

/* TODO TAG CLOUD LINKS */

.tag-cloud-link {
    /* background: linear-gradient(var(--color-font-light),var(--color-main-a20)); */
    background-color: var(--color-lt-blue);
    text-decoration: none;
    font-size: 1.25rem !important;
    padding: calc(var(--grid-gap) * .75) calc(var(--grid-gap) * .5);
    /* border-radius: calc(var(--grid-gap) * .5); */
    /* border: 1px solid var(--color-font-dark); */
    transition: all .3s ease;
    box-shadow: 2px 2px 2px var(--color-main-a80);
    text-align: center;

    /*height: 180px; /*
    /* aspect-ratio: 1.8; */
    --g: radial-gradient(50% 50%, #000 98%, #0000) no-repeat;
    mask: var(--g) 100% 100%/30% 60%,var(--g) 70% 0/50% 100%,var(--g) 0 100%/36% 68%,var(--g) 27% 18%/26% 40%,linear-gradient(#000 0 0) bottom/67% 58% no-repeat;
    /* background: #269af2; */
    flex: auto;
}

.tag-cloud-link:hover,
.tag-cloud-link:focus {
    transform: scale(1.1);
}

.tag-cloud-link:active {
    box-shadow: 1px 1px 1px inset var(--color-main-a80);
}

.tag-link-count {
    color: var(--color-font-dark);
}

.search .size-thumbnail {
    float: left;
    padding: var(--grid-gap-half);
    border: 1px solid;
    margin: 0 var(--grid-gap-half) var(--grid-gap-half) 0;
}

.error404 main .cards {
    background: no-repeat right 0 / contain url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQBAMAAAAVaP+LAAAAGFBMVEUAAABTU1NNTU1TU1NPT09SUlJSUlJTU1O8B7DEAAAAB3RSTlMAoArVKvVgBuEdKgAAAJ1JREFUeF7t1TEOwyAMQNG0Q6/UE+RMXD9d/tC6womIFSL9P+MnAYOXeTIzMzMzMzMzaz8J9Ri6HoITmuHXhISE8nEh9yxDh55aCEUoTGbbQwjqHwIkRAEiIaG0+0AA9VBMaE89Rogeoww936MQrWdBr4GN/z0IAdQ6nQ/FIpRXDwHcA+JIJcQowQAlFUA0MfQpXLlVQfkzR4igS6ENjknm/wiaGhsAAAAASUVORK5CYII=);
}

@media screen and (min-width: 768px) {
    .wrapper {
        margin: 0 auto;
        display: grid;
        grid-template-rows: auto 1fr auto;
        gap: var(--grid-gap);
    }

    header {
        position: static;
        color: var(--color-font-light);
        height: auto;
    }

    .header-content {
        display: grid;
        grid-template-columns: var(--grid-columns-12);
        gap: var(--grid-gap);
    }

    header h1 {
        grid-column: span 7;
        position: static;
        height: auto;
        box-shadow: none;
        background: var(--color-main);
        padding: 0 var(--grid-gap);
        margin: 0;
        font-size: 2em;
    }

    header h1 a {
        border-bottom: none;
    }

    header h1 span {
        display: block;
        padding-right: calc(4px + 48px);
        font-size: .4em;
        line-height: 1;
        text-transform: uppercase;
        margin-top: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .header-content-ad {
        padding: 0 var(--grid-gap);
        grid-column: span 5;
        display: flex;
        justify-content: flex-end;
    }

    .header-content-ad img {
        object-fit: contain;
        max-width: 100%;
    }

    #custom-header {
        display: block;
        object-fit: contain;
        max-width: 100%;
    }

    [for=nav-toggle-icon] {
        display: none;
    }

    .nav-sub {
        display: block;
    }

    .nav-main-drawer {
        position: static;
        display: flex;
        z-index: -1;
        right: 0;
        left: 0;
        top: 0;
        transform: translateY(0);
        transition: all .2s ease-in-out;
        padding: 0;
        background: var(--color-main);
        color: var(--color-font-light);
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        box-shadow: none;
    }

    header a {
        color: var(--color-font-light);
        text-decoration: none;
    }

    .nav-main {
        margin-right: auto;
    }

    .nav-main,
    .nav-sub {
        background: var(--color-main);
    }

    .nav-main ul,
    .nav-sub ul {
        flex-direction: row;
    }

    .nav-main ul a:hover,
    .nav-sub ul a:hover,
    .nav-main .current-menu-item a,
    .nav-sub .current-menu-item a {
        border-bottom-color: var(--color-font-light);
    }

    .nav-main-drawer form {
        padding-right: var(--grid-gap);
    }

    .main-content {
        display: grid;
        grid-template-columns: var(--grid-columns-12);
        gap: var(--grid-gap);
    }

    .main-content main {
        grid-column: span 8;
    }

    .page-template-page_full-width .main-content main {
        grid-column: span 12;
    }

    .main-content aside {
        grid-column: span 4;
    }

    .home .main-content .cards,
    .archive .main-content .cards {
        display: grid;
        grid-template-columns: var(--grid-columns-8);
        gap: var(--grid-gap);
    }

    .main-content .card {
        grid-column: span 4;
    }

    .footer-upper {
        display: grid;
        grid-template-columns: var(--grid-columns-12);
        gap: var(--grid-gap);
    }

    .footer-upper .widget {
        grid-column: span 4;
    }
}