/*
Theme Name: RebootWP
Theme URI: https://scottparry.co/rebootwp/
Author: Scott Parry
Author URI: https://scottparry.co/
Description: Design without ever leaving your browser with the power of RebootWP & WordPress Site Editor. Customise every detail in real time — no coding required. RebootWP ships with thoughtfully designed Patterns, Templates & Styles that allow you to create pages and layouts quickly and easily.
Tags: blog, portfolio, grid-layout, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, threaded-comments, translation-ready, wide-blocks
Tested up to: 6.5
Requires PHP: 7.3
Version: 1.3.3
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rebootwp
*/

/* Reset */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4; 
    tab-size: 4;
}

/**
 * Defaults. !important required to override editor style 
 */
body {
    line-height: 150%;
    margin: 0 !important;
    padding: 0 !important;
    text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
}

h1, h2, h3 {
    line-height: 115%;
}

h4, h5, h6 {
    line-height: 120%;
}

::-moz-selection
{
	background: #fff5d1;
	text-shadow: none;
}

::selection
{
	background: #fff5d1;
	text-shadow: none;
}

::-webkit-input-placeholder
{
   opacity: 0.6;
   font-size: 14px;
}

::-moz-placeholder
{
   opacity: 0.6;
   font-size: 14px;
}

::-ms-input-placeholder
{
   opacity: 0.6;
   font-size: 14px;
}

[placeholder]:focus::-webkit-input-placeholder
{
	transition: text-indent 0.4s 0.4s ease;
  	text-indent: -100%;
}

[placeholder]:focus::-moz-placeholder
{
	transition: text-indent 0.4s 0.4s ease;
	text-indent: -100%;
}

[placeholder]:focus::-ms-input-placeholder
{
	transition: text-indent 0.4s 0.4s ease;
	text-indent: -100%;
}

input:-webkit-autofill
{
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
}

/* Reset block spacing */
:where(.wp-site-blocks) > * {
    margin: 0 !important;
}

/* Links */
a, 
a:focus {
    transition: 150ms linear all; /* add some smoothness to hovers */
    text-decoration: none !important; /* remove underlines to better target below */
}

/* Make links more accessible */
a:hover,
.entry-content p > a:not(:where(header *, footer *, button *, .wp-block-button *)) {
	text-decoration: underline !important;
}

/* Text */
b,
strong {
	font-weight: bold !important;
}

/* Lists */
ol,
ul {
	padding: 0;
}

ul {
	list-style: none;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

/* Forms */
input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="tel"],
input[type="text"],
textarea {
    appearance: none;
    transition: 150ms linear all; /* add some smoothness to hovers */
    color: var(--wp--preset--color--secondary) !important;
    border-radius: 5px;
    border: solid 1px var(--wp--preset--color--tenopaqueblack);
    padding: .5em 1em;
    font-size: var(--wp--preset--font-size--small);
    width: 100%;
}

input[type="submit"] {
    cursor: pointer;
}

input[type="submit"]:hover {
	text-decoration: underline !important;
}

select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--secondary);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--tenopaqueblack);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	width: 100%;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

label {
	width: 100%;
	display: block;
}

/* Placeholders */
.block-editor-block-list__block[data-empty=true] [data-rich-text-placeholder] {
    color: #757575 !important; /* ensure placeholder is visible on light or dark backgrounds */
}

::placeholder {
	color: #757575 !important; /* ensure placeholder is visible on light or dark backgrounds */
	font-size: var(--wp--preset--font-size--small);
}

/* Misc */
div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

/* Code */
pre,
code {
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--seventyfiveopaquewhite);
	font-family: Menlo, Monaco, Consolas, monospace !important;
    font-size: var(--wp--preset--font-size--x-small);
}

.wp-block-code code {
	overflow-wrap: normal;
	overflow-x: scroll;
	white-space: pre;
}

*:not(.wp-block-code) > pre,
*:not(.wp-block-code) > code {
	padding: 20px 25px;
	position: relative;
    border: none;
	border-radius: 3px;
}

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--light-grey);
    border-radius: 3px;
    color: var(--wp--preset--color--primary);
    font-size: smaller;
	font-weight: var(--wp--custom--font-weight--medium);
	padding: 4px 6px;
	position: relative;
}

/* Blockquote */
.wp-block-quote {
	border-color: var(--wp--preset--color--primary-accent) !important;
	font-weight: bold;
	font-size: larger;
    margin: 1.75em 0 1.75em !important;
    padding-left: 1em;
}

.wp-block-quote cite {
	opacity: 0.5;
	font-weight: 400;
}

/* Force equal post height */
ul[class*=columns-].wp-block-post-template .wp-block-post > .wp-block-group
{
    height: 100%;
}

/* Comments */
#respond {
	background: var(--wp--preset--color--light-grey);
	border-radius: 10px;
	margin-top: 0 !important;
	padding: 35px 50px;
}

.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title), 
.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title) {
	font-size: var(--wp--preset--font-size--large);
}

p.logged-in-as {
	font-size: var(--wp--preset--font-size--small);
}

.comment {
	border-top: 1px solid var(--wp--preset--color--tenopaqueblack);
	padding-top: 25px;
}

.comment-reply-link {
	background: var(--wp--preset--color--tertiary);
	border-radius: 3px;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xxx-small);
	padding: 3px 5px;
	
}

.comment-awaiting-moderation{
	color: 1px solid var(--wp--preset--color--secondary);
}

#commentform .required-field-message {
	color: #ff0000;
	font-size: var(--wp--preset--font-size--xxx-small);
	float: right;
	margin-top: 5px;
}

#commentform label,
.comment-notes,
.comment-form-cookies-consent  {
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-post-comments-form input[type="submit"] {
	font-weight: 600;
}

textarea#comment {
	border: 1px solid var(--wp--preset--color--tenopaqueblack);
	border-radius: 3px;
	margin-top: 5px;
}

/* Tagcloud */
.wp-block-tag-cloud a {
	background-color: var(--wp--preset--color--tertiary) !important;
	border-radius: 3px;
	color: var(--wp--preset--color--white) !important;
	font-size: var(--wp--preset--font-size--xxx-small) !important;
	font-weight: 600;
	padding: 3px 6px;
}

/* Helpers */
a.more-link {
	display: block;
}

.gdpr {
    bottom: 15px;
    position: fixed;
    width: 100%;
    z-index: 999;
}

/* Used for styling purposes */
.no-block-spacing {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

 /* Text Gradient */
.rebootwp-text-gradient {
    -webkit-text-fill-color: transparent;
    background: linear-gradient(45deg, #4f46e5, #7cd4fd, #f472b6); 
    background-clip: text;
    box-decoration-break: clone;
    color: #f472b6;
    display: inline-block;
}

/**
 * Animated link effect class. 
 * Usage: class="link effect" on anchor 
 */
.link {
    display: inline-block;
    line-height: 1;
    outline: none;
    position: relative;
    text-decoration: none;
}

.effect {
    line-height: 0.75;
    overflow: hidden;
}

.effect:hover {
    color: #cccccc;
}

.effect::after {
    background: var(--wp--preset--color--secondary-accent) !important;
    content: ' ';
    height: 1px;
    margin-top: 0;
    position: absolute;
    right: 1px;
    top: 50%;
    transform: translate3d(-100%,0,0);
    transition: transform 0.4s;
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    width: 100%;
}

.effect:hover::after {
    transform: translate3d(100%,0,0);
}

.effect::before {
    color: var(--wp--preset--color--secondary-accent) !important;
    content: attr(data-attr);
    overflow: hidden;
    position: absolute;
    transition: width 0.4s 0.3s;
    white-space: nowrap;
    width: 0%;
    z-index: 2;
}

.effect:hover::before {
    width: 100%;
}

a.link.effect {
    position: relative;
    z-index: 999;
}

/* Style pattern previews to make more visible */
.edit-site-page-patterns-dataviews .page-patterns-preview-field {
    background: #e7ebee !important;
    display: grid;
    padding: 15px;
    place-items: center;
}

/* Product */
.wp-block-woocommerce-product-collection-no-results p > strong {
    font-family: var(--wp--preset--font-family--mona) !important;
    font-size: var(--wp--preset--font-size--x-large) !important;
    font-weight: 800 !important;
    letter-spacing: -1px;
}

.wc-block-components-product-sale-badge {
    border: none !important;
    border-radius: 1px !important;
    background: #111111 !important;
    color: #ffffff !important;
    text-transform: lowercase !important;
}

.woocommerce span.onsale {
    background: #000000 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 4px 8px !important;
    font-size: 12px;
    font-weight: 600;
    text-transform: lowercase !important;
    margin: 10px 10px 0 0 !important;
}

/* Single Product */
.woocommerce div.product p.stock {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 2px;
    font-weight: 500;
    font-size: 12px !important;
    line-height: 1;
    margin: 10px 0;
}

/* In stock */
.woocommerce div.product p.stock.in-stock {
    background: #e8f7ee;
    color: #1f7a3f;
    border: 1px solid #bfe8cd;
}

/* Low stock (if WooCommerce adds "low-stock") */
.woocommerce div.product p.stock.low-stock {
    background: #fff4e5;
    color: #a15c00;
    border: 1px solid #ffd9a3;
}

/* Out of stock */
.woocommerce div.product p.stock.out-of-stock {
    background: #fde8e8;
    color: #b42318;
    border: 1px solid #f5b5b5;
}

#payment-method-message, .wp-block-woocommerce-product-price+#payment-method-message {
    display: none !important;
}

.woocommerce-product-details__short-description p {
    margin-bottom: 1em;
}

.custom-star-rating {
    display: flex;
    gap: 2px;
    font-size: 16px;
    line-height: 1;
}

.custom-star-rating .star {
    color: #ddd;
}

.custom-star-rating .star.full {
    color: #000;
}

.custom-star-rating .star.half {
    background: linear-gradient(90deg, #000 50%, #ddd 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.woocommerce-review-link {
    font-size: 12px !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button, .woocommerce div.product form.cart button[name=add-to-cart] {
    margin-left: -5px !important;
    width: 100% !important;
    transition: 150ms linear all; /* add some smoothness to hovers */
}

.woocommerce div.product form.cart::after, .woocommerce div.product form.cart::before {
    display: none !important;
}

.wp-block-woocommerce-add-to-cart-form form.cart {
    grid-template-columns: min-content auto 0 !important;
}


.wp-block-table td, .wp-block-table th {
    border: none !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.wp-block-product-specifications-item__value p {
    margin: 15px 0 !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    text-align: right;
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 0 10px !important;
}

.woocommerce-Reviews-title, .woocommerce .wp-block-woocommerce-product-image-gallery span.onsale {
    display: none !important;
}

.wp-block-woocommerce-product-review-form .comment-form-rating .stars svg {
    color: rgba( 255, 255, 255, 0.8 ) !important;
}

.rating-error {
    color: #b42318;
}

#commentform label, .comment-notes, .comment-form-cookies-consent {
    font-size: var(--wp--preset--font-size--x-small);
}

.woocommerce #review_form #respond textarea {
    color: #ffffff !important;
    background: rgba( 255, 255, 255, 0.08 ) !important;
}

.woocommerce #review_form #respond .form-submit {
    display: flex !important;
    justify-content: center !important;
    align-items: center;
}

.woocommerce #review_form #respond .form-submit input {
    width: 150px;
    margin: 0 !important;
    float: none !important;
    display: inline-block;
}
/* Account */
.woocommerce-account .addresses .title .edit {
    float: left !important;
}

.woocommerce-account .wp-block-post-title {
    max-width: 1360px !important;
    margin: 25px 0 75px 0;
}

.wp-block-woocommerce-customer-account a {
    display: inline !important;
    padding: .6em !important;
}

.woocommerce table.shop_table tbody td a {
    font-weight: 700;   
}

.woocommerce table.shop_table tfoot td {
    font-weight: 400 !important;
}

.woocommerce table.shop_table tr td {
    max-width: 250px;
}

.woocommerce table.my_account_orders .button {
    margin-top: 10px !important;
}

a.tracking-link {
    text-decoration: underline !important;
}
/* Cart */
.woocommerce-cart .wp-block-post-title {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.wc-block-cart-items__header-image, 
.wc-block-cart-items__header-total, 
.wp-block-woocommerce-cart-order-summary-block h2 {
    text-transform: capitalize !important;
    font-weight: 600 !important;
}

.wc-block-cart-item__wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-start !important;
    gap: 1rem;
}

.wc-block-cart-item__quantity {
    margin-left: auto;
    display: flex;
    align-items: flex-start;
    align-self: flex-start !important;
    margin-top: -75px !important
}

.wc-block-components-product-name {
    font-weight: 700 !important;
}

.wc-block-cart-item__wrap .wc-block-components-product-price {
    font-size: 13px !important;
}

.wc-block-components-product-metadata p {
    font-size: 13px !important;
}

.wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 16px !important;
}

.wp-block-post-terms__prefix {
    color: var(--wp--preset--color--fiftyopaqueblack) !important;
}

.cart-font-small, .wc-block-components-validation-error {
    font-size: smaller !important;
}

.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    border-bottom: none !important;
}

.wc-block-components-form .wc-block-components-text-input label, 
.wc-block-components-text-input label {
    font-size: 14px !important;
    color: var(--wp--preset--color--fiftyopaqueblack) !important;
}

.wc-block-components-button:not(.is-link).is-style-outline, 
.wc-block-components-button:not(.is-link).outlined {
    box-shadow: none !important;
    color: #000000 !important;
}
/* Mini Cart */
.wc-block-mini-cart-items .wc-block-cart-items__row {
    border-bottom: 1px solid var(--wp--preset--color--fiveopaqueblack);
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.wc-block-mini-cart-items .wc-block-components-product-metadata {
    display: none !important;
}

.wc-block-mini-cart-items .wc-block-cart-item__quantity {
    margin: 0 -15px 0 0 !important;
}

h2.wc-block-mini-cart__title {
    font-size: 1.2em !important;
}

.wc-block-components-checkbox__label a {
    text-decoration: underline !important;
}
/* Checkout */
span.wc-block-components-checkbox__label {
    font-size: 14px !important;
}

#wcf_cf_gdpr_message_block span {
    font-size: 11px !important;
}

#wcf_cf_gdpr_message_block span a {
    text-decoration: underline !important;
}

/* Contact Form 7 */
.wpcf7-textarea {
    border: solid 1px var(--wp--preset--color--tenopaqueblack) !important;
}

.wpcf7 input[type="submit"] {
    background: #111111 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    appearance: none !important;
    transition: 150ms linear all; /* add some smoothness to hovers */
    border-radius: 3px !important;
    border: solid 1px var(--wp--preset--color--tenopaqueblack) !important;
    padding: .5em 1em !important;
    font-size: var(--wp--preset--font-size--small) !important;
    font-family: var(--wp--preset--font-family--mona) !important;
}

/* Floats */
.fl {
    float: left !important;
}

.fr {
    float: right !important;
}

.fn {
    float: none !important;
}

/* Hide from screenreaders and browsers. */
.hidden,
.hidden
{
    display: none!important;
    visibility: hidden;
}

/* Hide only visually, but have it available for screenreaders */
.visually-hidden,
.visually-hidden
{
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard. */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus
{
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/* Hide visually and from screenreaders, but maintain layout */
.invisible,
.invisible
{
    visibility: hidden;
}

/* Media Queries: Mobile */
.is-content-justification-right {
    float: left;
}

.rebootwp-not-mobile {
    visibility: hidden;
}

.rebootwp-not-desktop {
    visibility: visible;
}

/* Media Queries: Tablet (portrait) */
@media only screen and (min-width: 767px) {
    .single-product .sticky-scroll  {
        position: sticky;
        top: 125px;
        align-self: flex-start;
    }
    
    .woocommerce .wp-block-woocommerce-product-image-gallery {
        width: 100% !important;
    }
    
    .woocommerce div.product div.images .flex-control-thumbs {
        margin: 10px 0 !important;
    }
    
    .woocommerce div.product div.images .woocommerce-product-gallery__image,
    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 100% !important;
        margin-top: 10px !important;
    }
}
/* Media Queries: Tablet (landscape) */
@media only screen and (min-width: 1023px) {
    .woocommerce .wp-block-woocommerce-product-image-gallery {
        max-width: 95% !important;
    }
}
/* Media Queries: Regular Desktops */
@media only screen and (min-width: 1278px) {
    .rebootwp-not-mobile {
        visibility: visible;
    }

    .rebootwp-not-desktop {
        visibility: hidden;
    }
}
/* Media Queries: Medium Desktops */
@media only screen and (min-width: 1678px) {

}
/* Media Queries: Large Desktops */
@media only screen and (min-width: 1918px) {

}