/*
 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
*/


/* Import Font Awesome Icons */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css");

/* Local Google Font - oswald-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: url('https://mellowmage.com/wp-content/uploads/2023/07/oswald-v49-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* Local Google Font - lora-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  src: url('https://mellowmage.com/wp-content/uploads/2023/07/lora-v32-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* Local Google Font - playfair-display-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('https://mellowmage.com/wp-content/uploads/2024/01/playfair-display-v36-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* playfair-display-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  src: url('https://mellowmage.com/wp-content/uploads/2024/01/playfair-display-v36-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* playfair-display-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  src: url('https://mellowmage.com/wp-content/uploads/2024/01/playfair-display-v36-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/* Local Google Font - gelasio-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Gelasio';
  font-style: normal;
  font-weight: 400;
  src: url('https://mellowmage.com/wp-content/uploads/2024/01/gelasio-v10-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* Local Google Font - montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('https://mellowmage.com/wp-content/uploads/2024/01/montserrat-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}




/*   ============   0. TOGGLE LIGHT AND DARK MODE   ==================   */


/*   --------   Toggle Light Mode  --------   */

:root[data-theme="light"] {
	

	/* Color Variables */
	
	--body-bg-color: #f8f8f8; /* body background colour */
	
	--logo-color: #505050; /* logo colour #505050 */ 
	--logo-tagline-color: #808080;
	
    --primary-color: #303030; /* Normal state */
    /*--primary-alt-color: #909090;*/ /* Hover state */
	--primary-alt-color: var(--brand-color); /* Hover state */
	
    /*--brand-color: #cf4344;*/ /* Brand Primary */
	/*--brand-color: #ff4500;*/
	--brand-color: #bc544b; /* Tangelo is a bright, vibrant orange color. It is a combination of tangerine and mango. #fc4c02*/
    --brand-alt-color: #fd7035; /* Brand color with a opacity of 0.05 */
	
	
	--button-text-primary-color: var(--body-bg-color); /* Button variables */
	--button-text-alt-color:var(--body-bg-color);
	--button-bg-primary-color: #505050;
	--button-bg-alt-color: #b0b0b0;
	
	--category-button-text-primary-color: var(--brand-color); /* Buttons for Blog Post Categories/Tags/Terms */
	--category-button-text-alt-color: var(--body-bg-color);
	--category-button-bg-primary-color: var(--brand-alt-color);
	--category-button-bg-alt-color: var(--brand-color);
	
	--h1-color: #606060;
	--h2-color: #606060;
	--h3-color: #606060;
	--h4-color: #505050;
	--h5-color: #505050;
	--h6-color: #404040;
	--text-color: #303030; /* Text colour */
	--text-light-color: #a0a0a0; /* Text light color */
   
	--contrast-1-color: #ffffff; /* Colors get darker down the line */
	--contrast-2-color: #d0d0d0;
	--contrast-3-color: rgb(240, 240, 240, 0.3); /* contast-4-color with 0.3 opacity */
    --contrast-4-color: #f0f0f0;
	
	/* Box Shadow */
	--box-shadow: -2px 2px 70px -25px rgba(0,0,0,0.3);
	
	
	/* Toggle Switch */
	--switch-bg: #f0f0f0;
	--switch-circle-bg: #f5f5f5;
	--switch-circle-pos: 0.35rem;
	
	/*--icon-sun: #ffae42;*/
	--icon-sun: #f5761a;
	--icon-moon: #d0d0d0;
	
}


/*   --------   Toggle Dark Mode  --------   */

:root[data-theme="dark"] {
	
	/* Color Variables */
	
	--body-bg-color: #303030; /* body background colour */
	
	--logo-color: #f0f0f0; /* logo colour */
	--logo-tagline-color: #c0c0c0;
	
    --primary-color: #c0c0c0; /* Normal state */
    /*--primary-alt-color: #909090;*/ /* Hover state */
	--primary-alt-color: var(--brand-color); /* Hover state */
	
    /*--brand-color: #cf4344;*/ /* Brand Primary */
	/*--brand-color: #ff4500;*/
	--brand-color: #bc544b; /* Tangelo is a bright, vibrant orange color. It is a combination of tangerine and mango. #fc4c02*/
    --brand-alt-color: #fd7035; /* Brand Secondary */
	
	--button-text-primary-color: var(--body-bg-color); /* Button variables */
	--button-text-alt-color:var(--body-bg-color);
	--button-bg-primary-color: #c0c0c0;
	--button-bg-alt-color: #868686;
	
	
	--category-button-text-primary-color: var(--brand-color); /* Buttons for Blog Post Categories/Tags/Terms */
	--category-button-text-alt-color: var(--body-bg-color);
	--category-button-bg-primary-color: var(--background-alt-color);
	--category-button-bg-alt-color: var(--brand-color);
	
	--h1-color: #b0b0b0;
	--h2-color: #b0b0b0;
	--h3-color: #b0b0b0;
	--h4-color: #c0c0c0;
	--h5-color: #d0d0d0;
	--h6-color: #d0d0d0;
	--text-color: #f0f0f0; /* Text colour */
	--text-light-color: #d0d0d0; /* Text light color */
   
	--contrast-1-color: #909090; /* Colors get darker down the line */
    --contrast-2-color: #606060;
    --contrast-3-color: #303030;
    --contrast-4-color: #28282b;
	
	
	/* Box Shadow */
	--box-shadow: -2px 2px 70px -25px rgba(255,255,255,0.3);
	
	
	/* Toggle Switch */
	--switch-bg: #383838;
	--switch-circle-bg: #303030;
	--switch-circle-pos: 3.1rem;
	
	--icon-sun: #606060;
	--icon-moon: #c0c0c0;
	
}


:root {
	
	/* Border Radius Variables */

	--radius-xs: .125rem;
    --radius-s: .25rem;
    --radius-m: .5rem;
    --radius-l: 1rem;
    --radius-xl: 1.5rem;
    --radius-xxl: 2rem;
    --radius-50: 50%;
    --radius-circle: 50%;
	
	
	
	/* Transition */
	--default-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, fill .3s ease-in-out, transform .3s ease-in-out, all .3s ease-in-out, fill .3s ease-in-out;
	
	
}



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


/* GeneratePress Global Variables */

:root {
	/*
    --contrast: #222222;
    --contrast-2: #575760;
    --contrast-3: #b2b2be;
    --base: #f0f0f0;
    --base-2: #f7f8f9;
    --base-3: #ffffff;
    --accent: #1e73be;
	*/
	
	--contrast: red;
    --contrast-2: red;
    --contrast-3: red;
    --base: red;
    --base-2: red;
    --base-3: red;
    --accent: red;
}


/*==================== Author Style for Author Avatar eg: Blog Post. Used instead of Gravatar. Plugin name: One User Avatar| User Profile Picture ==========================*/

.avatar {
	display: block;
	width: 100px;
	height: auto;
	border-radius: 50px;
}

a {
	color: var(--primary-color);
}

a:hover {
	color: var(--brand-alt-color);
}





/* Search Block */

.wp-block-search {
	border-radius: 4px;
	overflow: hidden;
	outline: 1px solid var(--contrast-4-color);
	box-shadow: 0px 0px 0px var(--contrast-1-color);
	transition: var(--default-transition);
}

.wp-block-search:focus-within {
	outline: 1px solid var(--contrast-4-color);
	box-shadow: 0px 4px 10px var(--contrast-4-color);
	
}

.wp-block-search input {
	border: none;
	padding: 0px 1em;
	border-radius: 4px;
	outline: none;
}

.wp-block-search button {
	background: var(--contrast-4-color);
	color: var(--contrast-1-color);
	padding: 10px 12px;
	border-left: 1px solid var(--contrast-4-color);
}

.wp-block-search button:hover {
	background: var(--contrast-4-color);
	color: var(--contrast-2-color);
}



/*   ============   2. BODY   ==================   */

/* Body background color (outside wrapper) */
body {
	background-color: var(--body-bg-color);
	font-family: var(--body-font);
	transition: var(--default-transition);
	overflow-x: hidden; /* For Responsive Mobile Menu */
}



/*   ============   2. UTILITIES   ==================   */

/* Container background color transistions */

.transition {
	transition: var(--default-transition);
}


/* Aspect Ratios */

.ar-16-9, .ar-9-16, .ar-4-3 {
	object-fit: cover;
}

.ar-16-9 {
	aspect-ratio: 16/9;
}

.ar-9-16 {
	aspect-ratio: 9/16;
}

.ar-4-3 {
	aspect-ratio: 4/3;
}

.ar-1-1 {
	aspect-ratio: 1/1;
}



/*Looks like classes */

.looks-h1 {
	font-size: var(--fs-headline-h1);
	line-height: 1.05;
	color: var(--h1-color);
}

.looks-h2 {
	font-size: var(--fs-headline-h2);
	line-height: 1.1;
	color: var(--h2-color);
}

.looks-h3 {
	font-size: var(--fs-headline-h3);
	line-height: 1.15;
	color: var(--h3-color);
}

.looks-h4 {
	font-size: var(--fs-headline-h4);
	line-height: 1.1;
	color: var(--h4-color);
}

.looks-h5 {
	font-size: var(--fs-headline-h5);
	line-height: 1.25;
	color: var(--h5-color)
}

.looks-h6 {
	font-size: var(--fs-headline-h6);
	line-height: 1.4;
	color: var(--h6-color)
}


/* Author Name button or link */

.author-name {
	font-family: var(--body-font);
	font-size: var(--fs-category-button);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	color: var(--category-button-text-primary-color);
	transition: var(--default-transition);
}

.author-name:hover {
	color: var(--contrast-2-color);
}


/* Buy me coffee */

.coffee {
	font-family: var(--button-font);
	font-size: var(--fs-button);
	font-weight: 500;
	column-gap: 1rem;
	background-color: var(--button-bg-primary-color);
	color: var(--button-text-primary-color);
	transition: var(--default-transition);
	cursor: pointer;
	padding: 1rem 1.5rem 1rem 1.5rem;
	border-radius: var(--radius-xxl);
	margin-top: 1rem;
}

.coffee:hover {
	background-color: var(--button-bg-alt-color);
	color: var(--button-text-primary-color);
}

.coffee svg {
	/*color: var(--brand-color);*/
	font-size: 2rem;
}


/* Button Class */

.button-large, .button-medium, .button-small {
	font-family: var(--button-font);
	font-size: var(--fs-button);
	font-weight: 500;
	background-color: var(--button-bg-primary-color);
	color: var(--button-text-primary-color);
	transition: var(--default-transition);
	cursor: pointer;
}

.button-large:hover, .button-medium:hover, .button-small:hover {
	background-color: var(--button-bg-alt-color);
	color: var(--button-text-primary-color);
}

.button-large {
	padding: 1rem 3rem 1rem 3rem;
	border-radius: var(--radius-xxl);
	margin-top: 3rem;
}

.button-medium {
	padding: 1rem 2.5rem 1rem 2.5rem;
	border-radius: var(--radius-xxl);
}

.button-small {
	padding: 1rem 2rem 1rem 2rem;
	border-radius: var(--radius-xxl);
}



/* Category Button Class */

.category-button {
	font-family: var(--body-font);
	font-size: var(--fs-category-button);
	font-weight: 600;
	border-radius: var(--radius-xs);
	text-transform: uppercase;
	padding: 0.25rem 1rem 0.25rem 1rem;
	letter-spacing: 0.1rem;
	background-color: var(--button-bg-alt-color);
	color: var(--button-text-primary-color);
	transition: var(--default-transition);
}

.category-button:hover {
	background-color: var(--button-bg-primary-color);
	color: var(--button-text-alt-color);
}



/*   ============   3. TYPOGRAPHY   ==================   */

:root {
	/* This has to match what is in the Customizer > Typography. Pull in font families using font manager. Set headline-font as 'All headings'. Set body-font as HTML */
    /*--logo-font: 'Gelasio', serif;*/
	--logo-font: 'Playfair Display', serif;
	/*--logo-font: 'Montserrat', sans-serif;*/
	--logo-tagline-font: 'Playfair Display', serif;
	--headline-font: 'Playfair Display', serif;
	--nav-font: 'Playfair Display', serif;
	/*--nav-font: 'Montserrat', sans-serif;*/
	/*--nav-font: 'Gelasio', serif;*/
    --body-font: 'Gelasio', serif;
	--button-font: 'Montserrat', sans-serif;
	/*--fs-logo: clamp(3rem, 2.286rem + 1.905vw, 4rem);*/
	--fs-logo: clamp(1rem, -0.25rem + 3.333vw, 2.75rem);
	--fs-logo-tagline: clamp(1rem, 0.769rem + 0.615vw, 1.5rem);
	--fs-nav: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
	--fs-brand: clamp(1.375rem, 1.3rem + 0.375vw, 1.75rem);
    --fs-body: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
	--fs-button: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
	--fs-category-button: clamp(0.78rem, calc(0.79rem + -0.01vw), 0.79rem);
    --fs-headline-xxl: clamp(4rem, 3.45rem + 2.75vw, 6.75rem);
    --fs-headline-xl: clamp(2.875rem, 2.375rem + 2.5vw, 5.375rem);
	--fs-headline-h1: clamp(2.5rem, 1.786rem + 1.905vw, 3.5rem);
    /*--fs-headline-h1: clamp(2.5rem, 2.15rem + 1.7500000000000002vw, 4.25rem);*/
    /*--fs-headline-h2: clamp(2.175rem, 1.9349999999999998rem + 1.2000000000000002vw, 3.375rem);*/
	--fs-headline-h2: clamp(2.2rem, 1.629rem + 1.524vw, 3rem);
    --fs-headline-h3: clamp(1.85rem, 1.6700000000000002rem + 0.8999999999999999vw, 2.75rem);
    --fs-headline-h4: clamp(1.625rem, 1.5rem + 0.625vw, 2.25rem);
    --fs-headline-h5: clamp(1.375rem, 1.3rem + 0.375vw, 1.75rem);
    --fs-headline-h6: clamp(1.25rem, 1.22rem + 0.1499999999999999vw, 1.4rem);
    --fs-headline-s: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
    --fs-headline-pre: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
    --fs-headline-body-xxl: clamp(1.25rem, 1.15rem + 0.5vw, 1.75rem);
    --fs-headline-body-xl: clamp(1.13rem, 1.0159999999999998rem + 0.5700000000000001vw, 1.7rem);
    --fs-headline-body-l: clamp(1.11rem, 1.052rem + 0.2899999999999998vw, 1.4rem);
    --fs-headline-body-s: clamp(0.95rem, 0.9339999999999999rem + 0.08000000000000007vw, 1.03rem);
    --fs-headline-body-xs: clamp(0.89rem, 0.888rem + 0.010000000000000009vw, 0.9rem);
	--text-s: clamp(0.89rem, calc(0.87rem + 0.08vw), 0.94rem);
	--text-xs: clamp(0.78rem, calc(0.79rem + -0.01vw), 0.79rem);
}


/* Default Body / p font settings */
p {
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.01rem;
	margin-bottom: 1.5rem;
	/*font-family: var(--body-font);*/
	color: var(--text-color);
	transition: var(--default-transition);
}


/* Default Headings weight, margin, font-family */
h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	margin-bottom:0.5em;
	font-family: var(--headline-font);
	transition: var(--default-transition);
}

/* Heading font-size and line-height */

h1 {
	font-size: var(--fs-headline-h1);
	line-height: 1.05;
	color: var(--h1-color);
}

h2 {
	font-size: var(--fs-headline-h2);
	line-height: 1.1;
	color: var(--h2-color);
}

h3 {
	font-size: var(--fs-headline-h3);
	line-height: 1.15;
	color: var(--h3-color);
}

h4 {
	font-size: var(--fs-headline-h4);
	line-height: 1.1;
	color: var(--h4-color);
}

h5 {
	font-size: var(--fs-headline-h5);
	line-height: 1.25;
	color: var(--h5-color);
}

h6 {
	font-size: var(--fs-headline-h6);
	line-height: 1.4;
	color: var(--h6-color);
}



/*   ============   5. FLUENT FORMS   ==================   */


.fluentform .frm-fluent-form input:not([type="submit"]),
.fluentform .frm-fluent-form textarea {
	font-family: var(--body-font);
	border-width: 1px;
	border-radius: 0px;
	border-color: var(--contrast-4-color);
	background-color: var(--contrast-1-color);
	padding: 12px 16px;
}

/* required asterisk color */
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
	color: var(--primary-color);
}

.fluentform .ff-el-group {
	margin-bottom: 15px;
}

.fluentform .frm-fluent-form input:not([type="submit"]):focus ,
.fluentform .frm-fluent-form textarea:focus {
	border-width: 1px;
	border-color: var(--contrast-1-color);
	background-color: var(--contrast-4-color);
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.0);
}

.fluentform .ff_t_c { /* Need to find out what this is? */
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: red;
	padding-left: 5px;
	padding-bottom: 16px;
}

.fluentform .ff-el-is-error .ff-el-form-control {
	border: 1px solid var(--primary-color);
}

.fluentform .ff-el-is-error .text-danger {
	font-family: var(--body-font);
	font-size: 14px;
	color: var(--contrast-1-color);
}

.fluentform .ff-el-form-check-label .ff-el-form-check-input {
	top: -1px;
}

.fluentform .frm-fluent-form .ff-el-input--label label {
	font-family: var(--body-font);
	font-size: 0.9rem;
	color: var(--text-color);
}

.fluentform .frm-fluent-form input::placeholder,
.fluentform .frm-fluent-form textarea::placeholder {
	font-family: var(--body-font);
	font-size: 16px;
	font-weight: 400;
	color: var(--text-light-color);
}


.fluentform .frm-fluent-form button[type='submit'] {
	font-family: var(--button-font);
	font-size: var(--fs-button);
	font-weight: 500;
	color: var(--button-text-primary-color)!important;
	background-color: var(--button-bg-primary-color)!important;
	border: none;
	padding: 10px 32px;
	height: auto;
	display: block;
	margin-right: auto;
	border-radius: var(--radius-xxl);
}

.fluentform .frm-fluent-form button[type='submit']:hover {
	color: var(--button-text-alt-color)!important;
	background-color: var(--button-bg-alt-color)!important;
}

#fluentform_4_success .ff-message-success {
	font-family: var(--body-font);
	border: 0px solid white;
	box-shadow: 0px 0px 0px 0px #ffffff;
	margin-top: 16px;
	font-size: 1rem;
	padding: 0px;
}

.fluentform .ff-el-form-control {
	background: var(--contrast-1-color);
}


/* ======================  START  ================   GP CUSTOM SITE HEADER   ========  START ======================== */

/* Hamburger bars for the mobile menu */
.menu-toggle .icon-menu-bars {
	color: var(--text-color);
	transition: var(--default-transition);
}

/* Slideout navigation panel for mobile menu */
.main-navigation.slideout-navigation {
	background-color: var(--contrast-2-color);
}

.main-navigation.slideout-navigation a {
	margin-top: 1rem;
}

/*Logo*/
.my-header .my-logo.gp-custom-nav-logo a {
	font-size: var(--fs-headline-h1);
}

/* Navigation items */
.my-header .header-item.gp-custom-nav-menu a {
	font-family: var(--nav-font);
	font-size: var(--fs-nav);
	transition: var(--default-transition);
}



/* ======================  END  ================   GP CUSTOM SITE HEADER   ========  END ======================== */



/* ======================  START  ================   MEGAMENU MYVERSION 2 SITE HEADER   ========  START ======================== */


/*   ================   Outer FIRST Container: .my-header   =================== */

.my-header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 99;
	padding: 15px;
}



/*   ==================   Inner SECOND container: .my-header > .my-container   ======================= */

.my-container {
	max-width: 1200px;
	margin:auto;
}


/* ====================   Inner THIRD container: .my-header > .my-container > .my-row.v-center   ===================== */

.my-row {
	display: flex;
	flex-wrap: wrap;
}

.v-center {
	align-items: center;
}

a {
	text-decoration: none;
}


/*   ================   LEFT Container: .my-header > .my-container > .my-row.v-center > .header-item.item-left   =================== */

.my-header .item-left {
	flex: 0 0 15%;
	/*border: 1px solid red;*/
}

.my-header .my-logo a {
	font-family: var(--logo-font);
	font-size: var(--fs-logo); 
	color: var(--logo-color);
	text-decoration: none;
	transition: var(--default-transition);
	font-weight: 500;
}

.my-header .my-logo a::before {
	content: "Alyssia";
	color: var(--brand-color);
	/*font-size: var(--fs-logo);
	font-family: var(--logo-font);
    font-style: normal;
    font-weight: 400;*/
}


/*
.my-header .my-logo a::after {
	content: "Mage";
	color: var(--brand-color);
	font-size: var(--fs-brand);
	font-family: var(--body-font);
    font-style: normal;
    font-weight: 400;
}
*/


/*   ================   RIGHT Container: .my-header > .my-container > .my-row.v-center > .header-item.item-right   =================== */

.my-header .item-right {
	flex: 0 0 17%;
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
	/*border: 1px solid green;*/
}

/*
.my-header .item-right a {
	text-decoration: none;
}


.my-header .item-right a svg {
	fill: var(--primary-color);
	transition: var(--default-transition);
}


.my-header .item-right a:hover svg {
	fill: var(--primary-alt-color);
}
*/


/* Toggle button for switching light and dark mode */

#theme-switcher {
	background-color: var(--switch-bg);
	border-radius: 50px;
	display: flex;
	align-items: center;
	gap: 1.33rem;
	cursor: pointer;
	padding: 0.68rem;
	position: relative;
	transition: var(--default-transition);
}

#theme-switcher::before {
	content: '';
	position: absolute;
	width: 2.22rem;
	height: 2.22rem;
	background-color: var(--switch-circle-bg);
	border-radius: 50px;
	z-index: 0;
	left: 0;
	transform: translateX(var(--switch-circle-pos));
	transition: var(--default-transition);
}

#theme-switcher svg {
	z-index: 1;
	transition: var(--default-transition);
}

#icon-sun {
	fill: var(--icon-sun);
	transition: var(--default-transition);
}

#icon-moon {
	fill:var(--icon-moon);
	transition: var(--default-transition);
}


/* Transition animation for shop button svg cart */

@keyframes cartSlideToRight {
	0% {
		transform: translatex(0px) rotatez(0);
	}
	20% {
		transform: translatex(30px) rotatez(-15deg);
	}
	30% {
		transform: translatex(60px) rotatez(-30deg);
	}
	50% {
		transform: translatex(90px) rotatez(-45deg);
	}
	60% {
		transform: translatex(120px) rotatez(-30);
	}
	80% {
		transform: translatex(150px) rotatez(-15);
	}
	100% {
		transform: translatex(180px) rotatez(0);
		opacity: 0;
	}
}


.shop-button {
	transition: var(--default-transition);
}

.shop-button:hover .gb-icon svg {
	animation-name: cartSlideToRight;
	animation-duration: 1.5s;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-fill-mode: forwards;
	fill: var(--primary-color);
	/*fill: black;*/
}



/*   ================   CENTER Container: .my-header > .my-container > .my-row.v-center > .header-item.item-center   =================== */

.my-header .item-center {
	flex: 0 0 52%; /* Used to be 66% and left and right 17% respectively. */
	display: flex; /* NEWLY ADDED */
	justify-content: center; /* NEWLY ADDED */
	align-items: center; /* NEWLY ADDED */
	/*border: 1px solid blue;*/
}




/*====================STYLING THE MENU ==========================================*/
/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu (Styling all the main menu links - HOME, NEW, SHOP, BLOG, PAGES, CONTACT)  */

.my-header .menu > .ul > .li {
	display: inline-block;
	line-height: 50px;
	margin-left: 25px;
	/*border: 1px solid black;*/
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li > a  */

.my-header .menu > .ul > .li > a {
	font-family: var(--nav-font);
	font-size: var(--fs-nav);
	font-weight: 500;
	color: var(--primary-color);
	position: relative;
	text-transform: capitalize;
	transition: var(--default-transition);
}

.my-header .menu > .ul > .li:hover > a {
	/*color: var(--primary-alt-color);*/
	color: var(--brand-color);
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li > a > svg (Drop-down Cheveron)  */

.my-header .menu > .ul > .li > a svg {
	fill: var(--primary-color);
	transform: translatey(0);
	opacity: 1;
	transition: var(--default-transition);
	/*transition: fill 0.3s ease;*/
}

.my-header .menu > .ul > .li:hover > a svg {
	fill: var(--primary-alt-color);
	opacity: 0;
	transform: translatey(25px);
}




/*====================STYLING THE SUB-MENU ==========================================*/
/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children .sub-menu (eg: Creating a BOX frame for NEW, SHOP, BLOG, PAGES sub-menu)   */

.my-header  .menu > .ul > .li .sub-menu {
	position: absolute;
	z-index: 500;
	background-color: var(--contrast-1-color);
	box-shadow: var(--box-shadow);
	padding: 20px 30px;
	transition: var(--default-transition);
	margin-top: 25px;
	opacity: 0;
	visibility: hidden;
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu (eg: Restricting the frame for New, Shop, Blog, Pages sub-menu to page width more than 992px)   */

@media(min-width:992px) {
.my-header  .menu > .ul > .li.menu-item-has-children:hover .sub-menu {
	margin-top: 10px; /* NEWLY CHANGED. Used to be 0px. */
	visibility: visible;
	opacity: 1;
}
}


/*====================FOR BOTH NEW & BOOKS/SHOP MENU ==========================================*/
/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.mega-menu (Mega-menu sub-menu structure for BOTH NEW & SHOP menu) */

.my-header .menu > .ul > .li .sub-menu.mega-menu {
	left: 50%;
	transform: translateX(-50%);
}


.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 {
	max-width: 2000px; /* Used to be 1100px*/
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 15px;
	justify-content: center;
	border: 3px solid var(--brand-color);
	border-radius: var(--radius-xxl);
}

.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item {
	flex: 0 0 25%;
	padding: 0 15px;
}


/*====================FOR BOOKS/SHOP MENU ==========================================*/

.my-header .menu > .ul > .li .sub-menu.mega-menu-column-3 {
	max-width: 1000px; /* Used to be 1100px*/
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 15px;
	justify-content: center;
	border: 3px solid var(--brand-color);
	border-radius: var(--radius-xxl);
	/*outline: 1px solid var(--brand-color);*/
}

.my-header .menu > .ul > .li .sub-menu.mega-menu-column-3 > .list-item {
	flex: 0 0 25%;
	padding: 0 15px;
}

/*====================NEW MENU ==========================================*/
/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.mega-menu.mega-menu-column-4 > .list-item (For NEW menu 'title' & 'image') */

.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item .title {
	font-size: var(--fs-headline-h6);
	color: var(--h6-color);
	/*font-weight: 500;*/
	/*line-height: 1;*/
	padding: 10px 0;
}


.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item.text-center .title {
	text-align: center;
}


.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item img {
	max-width: 100%;
	width: 100%;
	vertical-align: middle;
	margin-top: 10px;
}




/*====================SHOP MENU ==========================================*/
/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.mega-menu.mega-menu-column-4 > .list-item > .list-item-ul > .list-item-li (Shop Page Links)*/

.my-header .menu > .ul > .li .sub-menu.mega-menu > .list-item > .list-item-ul > .list-item-li {
	line-height: 1;
	display: block;
}


.my-header .menu > .ul > .li .sub-menu.mega-menu > .list-item > .list-item-ul > .list-item-li > a {
	padding: 10px 0;
	display: inline-block;
	font-size: 15px;
	color: var(--primary-color);
	transition: var(--default-transition);
}


.my-header .menu > .ul > .li .sub-menu.mega-menu > .list-item > .list-item-ul > .list-item-li > a:hover {
	color: var(--primary-alt-color);
}



/*====================FOR BOTH BLOG & PAGES MENU ==========================================*/
/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.single-column-menu > .blog-ul > .blog-li > a (Blog sub-menu links)   */


.my-header  .menu > .ul > .li .sub-menu {
	border: 3px solid var(--brand-color);
	border-radius: var(--radius-xxl);
}

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li {
	line-height: 1;
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.single-column-menu > .blog-ul > .blog-li > a (Blog sub-menu <a> tag hyperlink)   */

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > a {
	display: inline-block;
	padding: 10px 0;
	font-size: var(--fs-button);
	color: var(--primary-color);
	transition: var(--default-transition);
	text-decoration: none;
	text-transform: capitalize;
}


.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li:hover > a {
	color: var(--primary-alt-color);
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.single-column-menu (Single column sub-menu structure. Eg: For Blog Menu)*/

.my-header .menu > .ul > .li .single-column-menu {
	/*min-width: 280px;*/
	min-width: 230px;
	max-width: 350px;
}



/*===================For BLOG Submenu ===========================================*/


.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > .sub-menu-2 {
	position: absolute;
	z-index: 500;
	background-color: var(--contrast-1-color);
	box-shadow: var(--box-shadow);
	padding: 20px 30px;
	transition: var(--default-transition);
	top: 10px;
	left: 105%;
	opacity: 0;
	visibility: hidden;
}

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li:hover > .sub-menu-2 {
	opacity: 1;
	visibility: visible;
	border: 3px solid var(--brand-color);
	border-radius: var(--radius-xxl);
}


.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > .sub-menu-2 > .blog-ul > .blog-li {
	line-height: 1;
}

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > .sub-menu-2 > .blog-ul > .blog-li .single-column-menu {
	min-width: 280px;
	max-width: 350px;
}

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > .sub-menu-2 > .blog-ul > .blog-li > a {
	display: inline-block;
	padding: 10px 0;
	font-size: var(--fs-button);
	color: var(--primary-color);
	transition: var(--default-transition);
	text-decoration: none;
	text-transform: capitalize;
}


.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > .sub-menu-2 > .blog-ul > .blog-li:hover > a {
	color: var(--primary-alt-color);
}


/*.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > a {
	display: flex;
	justify-content: flex-start;
	border: 1px solid blue;
}*/

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > a svg {
	fill: var(--primary-color);
	transform: translatex(0) rotatez(-90deg) ;
	opacity: 1;
	transition: var(--default-transition);
}

.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li:hover > a svg {
	fill: var(--primary-alt-color);
	opacity: 0;
	transform: translatex(25px) rotatez(-90deg) ;
}



/*====================FOR MyPages MENU ==========================================*/

.my-header  .menu > .ul > .li .sub-menu > ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.single-column-menu > .blog-ul > .blog-li > a (Blog sub-menu links)   */

.my-header  .menu > .ul > .li .sub-menu > ul > li {
	line-height: 1;
}


/* .my-header > .my-container > .my-row.v-center > .header-item.item-center > .menu > .menu-main.ul > .li.menu-item-has-children > .sub-menu.single-column-menu > .blog-ul > .blog-li > a (Blog sub-menu <a> tag hyperlink)   */

.my-header  .menu > .ul > .li .sub-menu > ul > li > a {
	display: inline-block;
	padding: 10px 0;
	font-size: var(--fs-button);
	color: var(--primary-color);
	transition: var(--default-transition);
	text-decoration: none;
	text-transform: capitalize;
}


.my-header  .menu > .ul > .li .sub-menu > ul > li > a:hover {
	color: var(--primary-alt-color);
}





/* Mobile Menu Trigger */

.mobile-menu-head,
.mobile-menu-trigger {
	display: none;
}

/*-------------------RESPONSIVE-------------------------------------------*/

@media(max-width: 991px){

	.my-header .item-center{
		order:3;
		flex:0 0 100%;
	}
		
	.my-header .item-left,
	.my-header .item-right {
		flex:0 0 auto;
	}
	
	.v-center {
		justify-content: space-between;
	}
	
	.my-header .mobile-menu-trigger {
		display: flex;
		height: 30px;
		width: 30px;
		/*border: 1px solid #444444;*/
		margin-left: 15px;
		cursor: pointer;
		align-items: center;
		justify-content: center;
	}
	
	.my-header .mobile-menu-trigger span {
		display: block;
		height: 2px;
		width: 24px;;
		background-color: var(--primary-color);
		position: relative;
		transition: var(--default-transition);
	}
	
	.my-header .mobile-menu-trigger span::before,
	.my-header .mobile-menu-trigger span::after {
		content: "";
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--primary-color);
		transition: var(--default-transition);
	}
	
	.my-header .mobile-menu-trigger span::before {
		top: -6px;
	}
	
	.my-header .mobile-menu-trigger span::after {
		top: 6px;
	}
	
	.my-header .item-right{
		align-items: center;
	}
	
	.my-header .menu {
		position: fixed;
		width: 320px;
		/*background-color: #ffffff;*/
		background-color: var(--contrast-4-color);
		left: 0;
		top: 0;
		height: 100%;
		overflow: hidden;
		transform: translate(-100%);
		transition: var(--default-transition);
		z-index: 1099;
	}
	
	.my-header .menu.active {
		transform: translate(0%);
	}
	
	.my-header .menu > .ul > .li {
		line-height: 1;
		margin: 0;
		display: block;
	}
	
	.my-header .menu > .ul > .li > a {
		line-height: 50px;
		height: 50px;
		padding: 0 50px 0 15px;
		display: block;
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}
	
	.my-header .menu > .ul > .li > a i {
		position: absolute;
		height: 50px;
		width: 50px;
		top: 0;
		right: 0;
		text-align: center;
		line-height: 50px;
		transform: rotate(-90deg);
	}
	
	.my-header .menu .mobile-menu-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 50px;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		position: relative;
		z-index: 501;
		position: sticky;
		/*background-color: #ffffff;*/
		background-color: var(--contrast-4-color);
		top: 0;
	}
	
	.my-header .menu .mobile-menu-head .go-back {
		height: 50px;
		width: 50px;
		border-right: 1px solid rgba(0,0,0,0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: center;
		/*color: #000000;*/
		fill: var(--primary-color);
		display: none;
	}
	
	.my-header .menu .mobile-menu-head.active .go-back {
		display: block;
	}
	
	
	.my-header .menu .mobile-menu-head .current-menu-title {
		font-size: 15px;
		font-weight: 500;
		color: var(--primary-color);
	}
	
	.my-header .menu .mobile-menu-head .mobile-menu-close {
		height: 50px;
		width: 50px;
		border-left: 1px solid rgba(0,0,0,0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: center;
		color: var(--primary-color);
		font-size: 25px;
	}
	
	.my-header .menu .menu-main {
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
	}
	
	.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li .sub-menu-2,
	.my-header .menu > .ul > .li .sub-menu.mega-menu,
	.my-header .menu > .ul > .li .sub-menu {
		visibility: visible;
		opacity: 1;
		position: absolute;
		box-shadow: none;
		margin: 0;
		padding: 15px;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding-top: 65px;
		max-width: none;
		min-width: auto;
		display: none;
		transform: translateX(0%);
		overflow-y: auto;
	}
	
	.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li .sub-menu-2.active,
	.my-header .menu > .ul > .li .sub-menu.active {
		display: block;
	}
	
	@keyframes slideLeft {
		0% {
			opacity: 0;
			transform: translateX(100%);
		}
		100% {
			opacity: 1;
			transform: translateX(0%);
		}
	}
	
	@keyframes slideRight {
		0% {
			opacity: 1;
			transform: translateX(0%);
		}
		100% {
			opacity: 0;
			transform: translateX(100%);
		}
	}
	
	
	.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item img {
		margin-top: 0;
	}
	
	.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item.text-center .title {
		margin-bottom: 20px;
	}
	
	.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item.text-center:last-child .title {
		margin-bottom: 0px;
	}
	
	.my-header .menu > .ul > .li .sub-menu.mega-menu-column-4 > .list-item {
		flex: 0 0 100%;
		padding: 0px;
	}
	
	.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li .sub-menu-2 > .blog-ul > .blog-li > a,
	.my-header  .menu > .ul > .li .sub-menu > ul > li > a,
	.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > a,
	.my-header .menu > .ul > .li .sub-menu.mega-menu > .list-item > .list-item-ul > .list-item-li > a {
		display: block;
	}
	
	.my-header .menu > .ul > .li .sub-menu.mega-menu > .list-item > .list-item-ul {
		margin-bottom: 15px;
	}
	
	
	/* Creating space between the link name and svg for mobile navigation */
	.my-header  .menu > .ul > .li .sub-menu > .blog-ul > .blog-li > a {
	display: flex;
	justify-content: space-between;
    }
	
	
	
	.menu-overlay {
		position: fixed;
		background-color: rgba(0,0,0,0.5);
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 1098;
		visibility: hidden;
		opacity: 0;
		transition: var(--default-transition);
	}
	
	.menu-overlay.active {
		visibility: visible;
		opacity: 1;
	}
}


/* ======================END================   MEGAMENU MYVERSION 2 SITE HEADER   ========  END ======================== */


/*==================== Page Animation ==========================*/

.page-animation {
	animation: animatePage 0.75s;
}


@keyframes animatePage {
	from {
		opacity: 0;
		transform: translateY(-16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*==================== BLOG POST ==========================*/


/*==================== Blog post Excerpt ==========================*/

.mellow-mage-says-svg {  /*Flying Dove SVG*/
	width: 2rem;
	height: auto;
	fill: var(--brand-color);
	transition: var(--default-transition);
}

.mellow-mage-says { /* Excerpt Container */
	background-color: var(--body-bg-color);
	padding: 32px;
	border-radius: var(--radius-m);
	border: 1px solid var(--contrast-2-color);
	transition: var(--default-transition);
}

.mellow-mage-says p { /* Excerpt Paragraph */
	text-align: center;
	font-family: var(--logo-font);
	font-weight: 600;
	font-size: var(--text-x);
	font-style: italic;
	transition: var(--default-transition);
}

/*==================== Global style for all the contents in a Blog post (includes images and block quotes within a post) ==========================*/

.blog-post-content-container: is(h2, h3, h4, h5, h6) {
	margin-top: 1.5rem;
}

.blog-post-content-container img {
	border: 2px solid var(--contrast-1-color);
	border-radius: var(--radius-m);
	box-shadow: 10px 10px 20px 0px #00000020;
	transition: var(--default-transition);
	
}

.blog-post-content-container figcaption {
	font-size: var(--text-xs);
	margin-top: 8px;
	text-align: center;
	font-style: italic;
}

.blog-post-content-container blockquote {
	background-color: var(--body-bg-color);
	padding: 32px;
	border-radius: var(--radius-m);
	border: 1px solid var(--contrast-2-color);
	transition: var(--default-transition);
}


/*==================== Text Wrap Around Image ==========================*/


.text-wrap-around-image {
	max-width: 800px;
	margin: 0 auto 5rem auto;
	padding: 3rem;
	display: flow-root; /* Keeps the conatiner independent of the text and covers the whole image. */
	border: 1px solid var(--contrast-2-color);
	background-color: var(--contrast-4-color);
	transition: var(--default-transition);
}

.text-wrap-around-image h2 {
	margin-bottom: 3rem;
}

.text-wrap-around-image img {
	width: 300px;
	height: auto;
	margin-right: 20px;
	margin-bottom: 10px;
	display: block;
	float: left;
}



/*This is for the text-hover effect*/

.wrapper {
	width: 100%;
	/*height: 100vh;*/
	display: flex;
	justify-content: center;
	align-items: center;
}

.image {
	width: 500px;
	position: relative;
}

img {
	width: 100%;
	display: block;
	margin: auto;
}

.content {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	background: rgba(135, 137, 192, 0.6);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	opacity: 0;
	transition: 0.6s;
}

.content:hover {
	opacity: 1;
}

.content h1 {
	font-size: 45px;
	color: #ffe100;
	margin-bottom: 15px;
}

.content p {
	font-size: 19px;
	color: #fff;
}

.content > * {
	transform:translateY(200px);
	transition: transform 0.6s;
}

.content:hover > * {
	transform:translateY(0px);
}