/*

Theme Name: Frameword Lite HK
Theme URI: https://siegalworks.com/
Author: Siegal Works
Author URI: https://siegalworks.com
Description: Based on Frameword Lite theme https://frameword.romanfink.com/ from Roman Fink
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 5.7
Version: 0.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: frameword-litehk
Tags: one-column, custom-colors, custom-menu, editor-style, full-site-editing, block-patterns, block-styles, blog, portfolio

*/

.entry-content {
    margin-top: 0; /* Remove margin from header to content */
}

.padding-to-center {
    padding-left: calc((100vw - var(--wp--style--global--content-size)) / 2);
}
  
@media screen and (max-width: 1280px) {
  .padding-to-center {
    padding-left: var(--wp--preset--spacing--40);
  }
}
  
.minus-top-margin {
  margin-top: -28px !important;
}

.alignfull, footer {
    margin-right: -16px;
    margin-left: -16px;
}

@media screen and (min-width: 768px) {
    .alignfull, footer {
        margin-right: -24px;
        margin-left: -24px;
    }
  }

@media screen and (max-width: 768px) {
    .single-post .wp-site-blocks > * {
            margin-block-start: 0px;
    }
}


/* --- Submenu background and colors --- */
.wp-block-navigation ul.wp-block-navigation__submenu-container {
    background: var(--wp--preset--color--background-soft) !important;
    border: none !important;
    border-radius: 10px !important;
}

.wp-block-navigation .wp-block-navigation-item {
    border-radius: 10px !important;
}

.wp-block-navigation li a:hover {
    color: var(--wp--preset--color--font-text) !important;
}

/* --- Links border control --- */
.wp-block-site-logo a {
    border: none !important;
}

a:has(img) {
    border: none !important;
}

/* --- Stick footer to bottom --- */

.wp-site-blocks {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.wp-site-blocks > footer {
    margin-block-start: auto !important;
}




.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
    font-size: var(--wp--preset--font-size--normal);
}

/* --- Comments in single posts --- */
#reply-title {
    margin-top: 0;
}


/* --- Helpers for block stylization --- */

.border-radius-default {
    border-radius: var(--wp--preset--spacing--10);
}

.overflow-hidden {
    overflow: hidden;
}

.full-height {
    height: 100%;
}


/* Block Style: Space Between */

@media screen and (max-width: 768px) {
    .is-style-frameword-reverse .wp-block-column:first-child{
        order: 2;
    }
}


.is-style-frameword-rounded-borders {
    border-radius: 16px;
}

.is-style-frameword-rounded-borders-10 {
    border-radius: 10px;
}

.is-style-frameword-rounded-borders-20 {
    border-radius: 20px;
}

.is-style-frameword-rounded-borders-40 {
    border-radius: 40px;
}

.is-style-frameword-text-wrap-balance {
    text-wrap: balance !important;
}


/* --- Helper classes for mobile devices --- */

@media (max-width: 767px) {

    .mobile-hide {
        display: none !important
    }

    .mobile-max-height-40 {
        max-height: 40px;
    }

    .mobile-order-1 {
        order: 1;
    }

    .mobile-order-2 {
        order: 2;
    }

    .mobile-align-none {
        float: none !important;
        margin-inline-start: 0 !important;
    }

    .mobile-no-br br {
        display: none;
    }

    .mobile--no-padding-top {
        padding-top: 0 !important;
    }

    .mobile--no-padding-bottom {
        padding-bottom: 0 !important;
    }

    .mobile-gallery-column > .wp-block-image {
        width: 100% !important;
    }

    /* sw */
    .mobile-cover-min-height {
        min-height: 18em !important;
    }
}

/* --- Material buttons --- */

.wp-element-button, .wp-block-button a {
    transition: 0.2s ease;
    -webkit-transition: 0.2s ease;
    box-sizing: border-box;
}

.wp-element-button:hover, .wp-block-button:hover a {
    transform: scale(1.02);
}

.wp-element-button:focus, .wp-block-button:focus a {
    transform: scale(1);
}

.wp-element-button:active, .wp-block-button:active a {
    transform: scale(1);
}

.wp-lightbox-container {
    transition: 0.2s ease;
    -webkit-transition: 0.2s ease;  
}

.wp-lightbox-container:hover {
    transform: scale(1.02);
}


/* --- --- */

.wp-block-navigation__responsive-container.is-menu-open {
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

ul.wp-block-categories-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--40);
}


/* --- Styles for pagination --- */

.wp-block-query-pagination-numbers {
    display: flex;
    gap: var(--wp--preset--spacing--30);
}

.wp-block-query-pagination-numbers > * {
  background: var(--wp--preset--color--background-hard);
  width: 32px;
  height:  32px;
  text-align: center;
  align-content: center;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  display: flex;
}

.wp-block-query-pagination-numbers > a {
  border: none;
  background: var(--wp--preset--color--background);
}

.wp-block-query-pagination-numbers > a:hover {
  border: none;
  background: var(--wp--preset--color--background-hard);
}

/* SW */
/* front page nav */
/* so front page header nav doesn't wrap too soon and when it does, the gap isn't xl */
@media (max-width: 1079px) {
.header-bg nav.front-page-nav {
  gap: inherit;
 }
}

/* TABS */
.selectedTab .wp-block-button__link.wp-element-button {
  background-color: var(--wp--preset--color--buttons) !important;
  color: var(--wp--preset--color--font-text-light) !important;
}

/* AWARDS  */
.award_icon {
  height: 28px;
  display: block;
  background: url(/wp-content/themes/frameword-litehk/patterns/images/ribbon-svgrepo-com.svg) no-repeat;
  background-size: 28px;
}
.reach-regional-and-state .award_icon {
  background-image: url(/wp-content/themes/frameword-litehk/patterns/images/list-check-svgrepo-com.svg);
  background-size: 24px;
}


/* BROADCASTS and PRESS */
.external_link::after {
  content: '';
  background: url(/wp-content/themes/frameword-litehk/patterns/images/external-link-svgrepo-com.svg) no-repeat;
  background-size: .8em;
  background-position: .3em .1em;
  display: inline-block;
  width: 1.3em;
  height: .8em;
}

.external_link_icon {
  height: 24px;
  width: 24px;
  display: block;
  background: url(/wp-content/themes/frameword-litehk/patterns/images/play-video-svgrepo-com.svg) no-repeat;
  background-size: 24px;
  transition: 0.2s ease;
  padding-bottom: 1px;
  border: none;
}

.external_link_icon.audio {
  background-image: url(/wp-content/themes/frameword-litehk/patterns/images/sound-up-svgrepo-com.svg);
}

.external_link_icon.press {
  background-image: url(/wp-content/themes/frameword-litehk/patterns/images/newspaper-svgrepo-com.svg);
}

.press-type-by-hena .external_link_icon.press {
  background-image: url(/wp-content/themes/frameword-litehk/patterns/images/newspaper-3-svgrepo-com.svg);
}

a.external_link_icon:hover {
  transform: scale(1.2);
}

/* BOOK REVIEWS */
.quote-container p {
  display: none;
}

.quote {
  display: block;
  height: 27px;
  background: url(/wp-content/themes/frameword-litehk/patterns/images/quote.svg) no-repeat;
  background-size: 27px;
  background-position: 0px 3px;
  margin-top: 0px;
}

.quote.starred {
  background-image: url(/wp-content/themes/frameword-litehk/patterns/images/star-svgrepo-com.svg);
}

/* BOOKS */
/* BOOK DETAILS */
/* purchase link buttons */
.sw-purchase-links {
  gap: .5em;
  margin-top: var(--wp--preset--spacing--xxs);
}

.sw-purchase-links .publisher-link {
  width: 11em;
  display: block;
  text-align: center;
}

.wp-block-mfb-meta-field-block .prefix {
  font-weight: 500;
}

.book-meta .wp-block-mfb-meta-field-block.is-display-inline-block > *,
.broadcast .wp-block-mfb-meta-field-block.is-display-inline-block > *,
.press-article .wp-block-mfb-meta-field-block.is-display-inline-block > * {
  display: inline;
}

/* the source of a press/broadcast */
.broadcast .wp-block-mfb-meta-field-block .prefix,
.press-article .wp-block-mfb-meta-field-block .prefix {
  font-weight: 400;
  margin-inline-end: 0;
}

.wp-block-mfb-meta-field-block.is-display-inline-block .suffix {
    margin-inline-start: 0;
}

.broadcast .external_link, 
.press-article .external_link {
    border: none;
    font-style: italic;
}

.broadcast .external_link:hover,
.press-article .external_link:hover {
    border-bottom: 1px solid var(--wp--preset--color--links);
}

/* Activity Guide in the Single Book Template, hide Resources block if empty */
.resources-block:has(.activity-guide:empty) {
  display: none;
}


/* BOOKS GRID */

/* aligns the books by the bottom of the image (actually don't need this because featured image is object-fit: contains */
/*.book {
    align-self: baseline;
}*/
.book .wp-block-post-featured-image a img {
	transition: transform 0.4s ease-in-out, transform-origin 0.4s ease-in-out, scale 0.4s ease-in-out;
    border-radius: 2px;
}

.book .wp-block-post-featured-image a:hover img {
    transform: perspective(900px) rotateY(-40deg);
	transform-origin: 0% 50%;
	transition: transform 0.4s ease-in-out, transform-origin 0.4s ease-in-out, scale 0.4s ease-in-out;
    filter: drop-shadow(3px 0 12px rgb(0 0 0 / 60%));
}

.book-ribbon::before {
  content: 'NEW';
  display: block;
  position: absolute;
  right: -1em;
  top: -1em;
  transform: rotate(12deg);
  background-color: var(--wp--preset--color--background-hard);
  color: var(--wp--preset--color--accent);
  padding: 0.25em 0.7em;
  z-index: 2;
  border-radius: 0px 30px;
  font-family: var(--wp--preset--font-family--farro);
  font-size: var(--wp--preset--font-size--usual);
  font-weight: 500;
  line-height: 1.25;
}

.book-coming-soon::before {
  content: 'Coming Soon';
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--background-hard);
  font-size: var(--wp--preset--font-size--small)
}

/* fluent forms */
/* make opt out checkbox label smaller */
.ff-el-form-check-label {
  font-size: var(--wp--preset--font-size--tiny);
}

.fluentform .ff-el-form-control::placeholder {
  color: var(--wp--preset--color--header-font);
}

.ff-default .ff-el-form-control {
  border-color: var(--wp--preset--color--border-inputs);
}

.ff-default .ff-btn-submit {
  font-weight: 600;
}

.ff-default .ff-btn-submit:hover {
  transform: scale(1.02);
  opacity: inherit;
}


/* general */
/* sans font (for the arrow) */
.sans {
    font-family: sans-serif;
}

/* hidden element (need a button on the page to get styles but using js buttons) */
.hide-always {
    display: none !important;
}

/* header round the bottom corners */
.header-bg {
    border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

/* don't want to round corners of image */
.not-rounded, .not-rounded img {
    border-radius: 0px;
}

/* footer */
.sw-footer-copyright {
    color: var(--wp--preset--color--background-hard);
    font-size: var(--wp--preset--font-size--tiny);
}

.sw-footer-copyright a {
    color: var(--wp--preset--color--links-light);
    border-bottom: none;
}

.sw-footer-copyright a:hover {
    border-bottom: 1px solid;
}

/* animations */       
/* @keyframes duration | easing-function | delay |
iteration-count | direction | fill-mode | play-state | name */
.fade-in-fast {
    animation: fade-in 0.3s ease-in 0s 1 normal backwards;
}

.anim-delay1 {
    animation-delay: .5s;
}
.anim-delay2 {
    animation-delay: 1s;
}
.anim-delay3 {
    animation-delay: 1.5s;
}
.anim-delay4 {
    animation-delay: 2s;
}
.anim-delay5 {
    animation-delay: 2.5s;
}
.anim-delay6 {
    animation-delay: 3s;
}
.anim-delay7 {
    animation-delay: 3.5s;
}
    
#left-hena-khan-letters .fade-in-fast {
    opacity: 0;
    animation-fill-mode: forwards;
}

.hena-khan-letters {
  position: relative;
  width: 360px;
}

@media (min-width: 768px) and (max-width: 969px) {

    .logo-anim-container > div {
        transform: translateX(calc(30vw - 280px)) scale(0.5) ;
    }
}
@media (max-width: 650px) {

    .logo-anim-container > div {
        transform: scale(0.5) translateX(calc(55vw - 360px));
    }
}

.paisleys, 
.outer-paisley,
.inner-paisley {
  position: absolute;
  width: 260px;
  left: 100px;
  opacity: 0;
}

.dot {
 position: absolute;
 left: 162px;
 top: 86px;
 display: block;
 width: 15px;
 height: 15px;
 background-color: var(--wp--preset--color--font-headers);
 border-radius: 8px;
 box-shadow: 0 0 5px;
 opacity: 0;
}

.inner-paisley {
    transform-origin: 27% 55%;
    animation: fade-in-paisley 4.5s ease-in 0.5s 1 normal forwards;
}

.dot1 {
    animation: dot1-spiral 2s ease-in-out 1 normal backwards;
}

@keyframes dot1-spiral {
    0% {
        transform: rotate(0deg)
            translate(0px, 0px)           
            rotate(0deg);
    }
    100% {
        transform: rotate(180deg)
            translate(-30px, -10px) 
            rotate(-180deg);
        opacity: .2;
	}
}

.dot2 {
    left: 182px;
    top: 120px;
    animation: dot2-spiral 2.5s linear 1 normal backwards;
    background-color: var(--wp--preset--color--header-font);
    animation-delay: 1.8s;
}

@keyframes dot2-spiral {
    0% {
        transform: rotate(100deg)
            translate(0px, 0px)
            rotate(100deg);
    }
    100% {
    	transform: rotate(360deg)
            translate(150px, -20px) 
            rotate(-360deg);
        opacity: .2;
	}
}

@keyframes rotate-inner {
            
    0% {
        transform: rotate(250deg);
        opacity:0;
    }
    50% {
        transform: rotate(360deg) scale(1.0);
        opacity:0.3;
    }
    100% {
        transform: rotate(360deg) scale(1.0);
        opacity:0;
    }
}

.outer-paisley {
    transform-origin: 27% 55%;
    /*animation: rotate-outer 2s ease-in 2s 1 normal forwards;*/
    animation: fade-in-paisley 4s ease-in 2s 1 normal forwards;
}


@keyframes fade-in-paisley {
            
    0% {
        opacity:0;
    }
    100% {
        opacity:0.3;
    }
}

@keyframes rotate-outer {
            
    0% {
        transform: rotate(180deg);
        opacity:0;
    }
    50% {
        transform: rotate(360deg);
        opacity:0.3;
    }
    100% {
        transform: rotate(360deg);
        opacity:0;
    }
}

@keyframes fade-in {
            
    0% {
        opacity:0.1;
    }
    100% {
        opacity:1;
    }
}
    
.fade-in-up-ease {
    animation: fade-in-bottom 0.5s ease-in 0s 1 normal forwards;
}
@keyframes fade-in-bottom {
            
    0% {
        transform:translateY(50px);
        opacity:0;
    }
    100% {
        transform:translateY(0);
        opacity:1;
    }
}

.fade-in-left-ease {
    animation: fade-in-left 0.5s ease-in 0s 1 normal backwards;
}
    
@keyframes fade-in-left {
            
    0% {
        transform:translateX(-50px);
        opacity:0;
    }
    100% {
        transform:translateX(0);
        opacity:1;
    }
}
    
.slide-in-r {
    opacity: 0;
    animation: slide-in-right 1s linear 0s 1 normal forwards;
}
@media (max-width: 980px) {
    .slide-in-r {
        animation-duration: 0.5s;
    }
}

@keyframes slide-in-right {     
    0% {
        transform:translateX(100%);
        opacity:0;
    }
    100% {
        transform:translateX(0);
        opacity:1;
    }
}
