/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ========== TABLE OF CONTENTS ========== 

1. Theme Tweaks
2. Utilities
3. Typography
4. Variables

======================================== */


/*** 1. THEME TWEAKS ***/

/* Body background color (outside wrapper) */ 
body {
    
}

/* Site Wrapper */
.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
    background-color: var(--white);
}

/* Set the main content area height */
#main {
    min-height: 65vh;
}

/* Container Padding Overrides */
.inside-header {
    padding-inline: 0px !important;
}

.site-header {
    padding-block: var(--space-xs);
	padding-inline: var(--gutter);
}

.site-content, #content {
    padding: 0px;
}
/* scrollbar win fix */
html, body {
	scrollbar-gutter: stable;
}
/* transition */
a, button, input {
    transition: color 0.3s ease-in-out,background-color .3s ease-in-out;
}
/* mobile menu button */
.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled {
	background: transparent;
}
/* header submenu */
@media (min-width:1025px) {
    .main-navigation ul ul {
        border-radius: var(--border-radius);
        box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.05), 0 4px 6px -4px rgb(0 0 0 / 0.05)!important;
    }
    
}
/* header submenu icon */
.main-navigation .main-nav ul li:hover > a .gp-icon.icon-arrow  {
 transform: rotate(180deg) translateY(-5px);
 transition: transform .2s;
}
/* Post Editor Width (BACKEND) */ 
.post-type-post .block-editor-block-list__layout {
	max-width: 728px !important;
	margin-inline: auto !important;
    padding-inline: 200px !important;
}

.post-type-post .edit-post-visual-editor__post-title-wrapper .editor-post-title {
	max-width: 728px !important;
	margin-inline: auto !important;
	padding-inline: 200px !important;
}

/* -- Search Tweaks -- */

/* Clears the ‘X’ from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	filter: grayscale(100) opacity(.3);
	cursor: pointer;
}

/* Search in Navigation */ 
#site-navigation .menu-bar-item a{
	padding-right: 0
}
/* Search Block */ 
form.search-form {
    display: flex;
    gap: 4px;
}
input.search-field {
    border-radius: var(--border-radius)!important;
    outline: none;
}

/* Modal */ 
.search-modal-fields button, button.search-submit{
	background: var(--primary) !important;
	color: var(--white) !important;
	line-height: 1;
	font-weight: 600;
	padding: 10px 12px;
    transition: all 0.3s ease;
    border-radius: var(--border-radius);
}

.search-modal-fields button:hover, button.search-submit:hover{
  background: var(--primary-hover) !important;
  color: var(--white) !important;
}

.search-modal-fields input {
	background-color: var(--white) !important;
	border-radius: 4px;
	border: none;
	padding: 0px 1em;
}

.search-modal-form{
    border-radius: var(--border-radius);
}

.search-modal-fields{
	border-radius: var(--border-radius);
	overflow: hidden;
	/* outline: 1px solid var(--neutral-ultra-dark); */
	box-shadow: 0px 0px 0px #00000010;
	transition: all 250ms ease-in;
}

.search-modal-fields:focus-within{
	/* outline: 1px solid var(--neultral-ultra-dark); */
	box-shadow: 0px 4px 10px #00000010
}

.gp-search-modal .gp-modal__overlay {
	background-color: #1f293399;
}

/* Search Results / No Search Results template */ 
.search-title-wrapper{
	display: flex;
	align-items: flex-start;
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid var(--neutral-ultra-light);
}

.search-for {
	line-height: 1.4;
}

.search-title{
	font-size: var(--text-m);
	text-transform: capitalize;
	margin-left: .4em;
	line-height: 1.4;
}


/* Hamburger Menu */
.mobile-menu-control-wrapper .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus,
.has-inline-mobile-toggle #site-navigation.toggled {
    background-color: transparent;
    margin-right: -1rem;
    font-size: 1em;
    line-height: 8px;
}

/* Primary Menu Button Styles */
@media (min-width: 1025px) {
    .main-navigation .main-nav ul li.nav-cta a {
        font-size: var(--text-m);
        background: var(--primary) !important;
        color: var(--white) !important;
        padding: 0.8em 1.2em;
        margin-left: 16px;
        border-radius: var(--border-radius);
		border: 1px solid var(--primary);
        line-height: inherit;
        font-weight: 500;
    }
    .main-navigation .main-nav ul li.nav-cta a:hover {
        background: var(--primary-hover) !important;
        color: var(--white) !important;
		border: 1px solid var(--primary-hover);
    }
}

@media (max-width: 1024px) {
    .main-navigation .main-nav ul li.nav-cta a {
        margin-left: 0px;
    }
}

/* Post Editor Width & Title */
body .editor-styles-wrapper .post-type-post .block-editor-block-list__layout,
body .editor-styles-wrapper .post-type-post .edit-post-visual-editor__post-title-wrapper .editor-post-title {
    max-width: 768px !important;
    margin-inline: auto !important;
}


/* Password Protected Pages */
.post-password-form {
    max-width: 768px;
    padding: 8rem 0px;
    margin-inline: auto;
    text-align: center;
}

/*** 2. UTILITIES ***/

/* Is BG */
:has(> .is-bg) {
    position: relative;
    isolation: isolate;
}
img.is-bg {
    object-fit: var(--bg-object-fit, cover);
    object-position: var(--bg-object-position, center);
	width: 100%;
	height: 100%;
}
.is-bg {
    position: var(--bg-position, absolute);
    inset: var(--bg-inset, 0);
    inline-size: var(--bg-width, 100%);
    block-size: var(--bg-height, 100%);
    border-radius: var(--bg-radius, 0);
    z-index: var(--bg-z-index, -2);
}

/* Line Limits */
.line-limit-3, .line-limit-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3 {
    -webkit-line-clamp: 3;
}

.line-limit-2 {
    -webkit-line-clamp: 2;
}


/* No Underline */
.no-ul, .no-ul a {
	text-decoration: none;
}

/* Text Balance / Pretty */

.balance {
	text-wrap: balance;
}

/*** 3. TYPOGRAPHY  ***/ 

/* Default Body / p font settings */ 
p {
	font-weight: 400;
	line-height: 1.5;
}

p {
	margin-bottom: 1.5rem;
}

/* Add top margin to blog post H2-H6 */

.single-post__content :is(h2, h3, h4, h5, h6) {
	margin-top: 1em;
}

/* Button Global Line Height */
.gb-button {
    line-height: 1;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
    margin-bottom: 0px;
}

.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
    margin-bottom: 0px;
}

/*** 4. Variables & Typography ***/
:root {
    /* text	*/
	--text-xs: clamp(0.8125rem, 0.7934rem + 0.0956vw, 0.875rem);
    --text-s: clamp(0.875rem, 0.8368rem + 0.1912vw, 1rem);
    --text-m: clamp(1rem, 0.9618rem + 0.1912vw, 1.125rem);
    --text-l: clamp(1.13rem, calc(0.21vw + 1.08rem), 1.27rem);
    --text-xl: clamp(1.27rem, calc(0.47vw + 1.17rem), 1.58rem);
    --text-2xl: clamp(1.42rem, calc(0.82vw + 1.26rem), 1.98rem);
    --text-3xl: clamp(1.6rem, calc(1.29vw + 1.34rem), 2.47rem);
    --text-4xl: clamp(1.8rem, calc(1.91vw + 1.42rem), 3.09rem);
	--text-5xl: clamp(2.03rem, calc(2.15vw + 1.6rem), 3.48rem);
	/* space */
	--space-xs: clamp(0.8441720333rem, calc(-0.0172384889vw + 0.8480506933rem), 0.8333333333rem);
    --space-s: clamp(1.1252813203rem, calc(0.1983597291vw + 1.0806503813rem), 1.25rem);
    --space-m: clamp(1.5rem, calc(0.5964214712vw + 1.365805169rem), 1.875rem);
    --space-l: clamp(1.9995rem, calc(1.2930417495vw + 1.7085656064rem), 2.8125rem);
    --space-xl: clamp(2.6653335rem, calc(2.4706425447vw + 2.1094389274rem), 4.21875rem);
    --space-xxl: clamp(3.5528895555rem, calc(4.4138933511vw + 2.5597635515rem), 6.328125rem);
   /* section space */
	--section-space-xs: clamp(1.6883440665rem, calc(1.2909040692vw + 1.3978906509rem), 2.5rem);
    --section-space-s: clamp(2.2505626407rem, calc(2.3847910288vw + 1.7139846592rem), 3.75rem);
    --section-space-m: clamp(3rem, calc(4.1749502982vw + 2.0606361829rem), 5.625rem);
    --section-space-l: clamp(3.999rem, calc(7.0592445328vw + 2.4106699801rem), 8.4375rem);
    --section-space-xl: clamp(5.330667rem, calc(11.6510266402vw + 2.709186006rem), 12.65625rem);
    --section-space-xxl: clamp(7.105779111rem, calc(18.8923990282vw + 2.8549893296rem), 18.984375rem);
   /* border */
	--border-radius: 14px;
   /* context variables */
	--container-gap: var(--space-l);
	--grid-gap: var(--space-m);
	--content-gap: var(--space-m);
	--card-gap: var(--space-s);
	--gutter: clamp(1.25rem, calc(3.9761431412vw + 0.3553677932rem), 3.75rem);
}
h1 {
    font-size: var(--text-4xl);
}
h2 {
    font-size: var(--text-3xl);
}
h3 {
    font-size: var(--text-2xl);
}
h4 {
    font-size: var(--text-xl);
}
h5 {
    font-size: var(--text-l);
}
h6 {
    font-size: var(--text-m);
}
h1,h2,h3,h4,h5,h6 {
	line-height: calc(4px + 2ex);
}

