/*
 Theme Name:   LocalBiz Theme
 Theme URI:    https://iminbizonline.com
 Description:  A custom local business theme for GeneratePress
 Author:       Naomi Lolley
 Author URI:   https://iminbizonline.com
 Template:     generatepress
 Version:      2.025
*/

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

/* Set mobile menu to center */
nav#mobile-menu-control-wrapper {
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}

body {
	background-color: var(--outside-container);
}

/* Site Wrapper to set overall site max width */
.site-wrapper {
	width: 100%;
	max-width: 1920px;
	background-color: var(--body);
} 

body {
	background-color: var(--outside-container);
}



/* =========================
   TYPOGRAPHY
========================= */

/* Font Family Utilities */
.ff-body {
    font-family: var(--gp-font--body);
}

.ff-heading {
    font-family: var(--gp-font--headings);
}

/* Heading and utility class font assignment */
h1, h2, h3, h4, h5, h6,
[class^="fs-"] {
    font-family: var(--gp-font--headings);
}

.fs-p {
    font-family: var(--gp-font--body);
}

/* Fluid Typography Scale */

h1, .looks-h1 {
	font-size: clamp(2.375rem, 2.315vw + 1.264rem, 3rem);
	font-family: var(--gp-font--headings);
}

h2, .looks-h2 {
	font-size: clamp(1.75rem, 1.389vw + 1.083rem, 2.125rem);
	font-family: var(--gp-font--headings);
}

h3, .looks-h3 {
	font-size: clamp(1.313rem, 1.157vw + 0.757rem, 1.625rem);
	font-family: var(--gp-font--headings);
}

h4, .looks-h4 {
	font-size: clamp(1.25rem, 0.926vw + 0.806rem, 1.5rem);
	font-family: var(--gp-font--headings);
}

h5, .looks-h5 {
	font-size: clamp(1.2500rem, 1.1364rem + 0.4545vw, 1.5000rem);
	font-family: var(--gp-font--headings);
}

h6, .looks-h6 {
	font-size: clamp(1.1250rem, 1.0227rem + 0.4091vw, 1.3500rem);
	font-family: var(--gp-font--headings);
}

p, .looks-p {
	font-size: clamp(0.9375rem, 0.8523rem + 0.3409vw, 1.1250rem);
	font-family: var(--gp-font--body);
}

/* HELPER CLASSES */

/* Standard Shadow(s) */

.shadow-standard {
	box-shadow: 0px 5px 16px -5px rgba(33, 33, 33, 0.2);
	transition: all .2s ease-in;
}

.shadow-standard:hover {
	box-shadow: 0px 8px 32px 0px rgba(33, 33, 33, 0.1);
}

/* Create cards with even bottom element */

.even-cards .gb-inside-container, .even-cards {
  display: flex;
  height: 100%;
  flex-direction: column; 
}

.even-cards .gb-inside-container >*:last-child {
  margin-top: auto;
}

/* Max Width(s) */

.max-width-1024 {
	max-width: 1024px;
}

.max-width-768 {
	max-width: 768px;
}

.max-width-640 {
	max-width: 640px;
}

.max-width-480 {
	max-width: 480px;
}

/* Margin Auto */

.margin-auto{
	margin-left: auto;
	margin-right: auto;
}

/* Position Properties */

.relative{
	position: relative;
}

.absolute{
	position:absolute;
	top: 0px;
	left: 0px;
}

.sticky{
	position: sticky;
	top: 24px;
}

/* Image Aspect Ratios */

.aspect-1-1 img{
    aspect-ratio: 1/1;
	object-fit: cover;
}

.aspect-3-2 img{
    aspect-ratio: 3/2;
	object-fit: cover;
}

.aspect-2-3 img{
    aspect-ratio: 2/3;
	object-fit: cover;
}

.aspect-4-3 img{
    aspect-ratio: 4/3;
	object-fit: cover;
}

.aspect-3-4 img{
    aspect-ratio: 3/4;
	object-fit: cover;
}

.aspect-16-9 img{
    aspect-ratio: 16/9;
	object-fit: cover;
}

.aspect-9-16 img{
    aspect-ratio: 9/16;
	object-fit: cover;
}


/* Visually Hidden */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* No Underline */
.no-ul, .no-ul a {
	text-decoration: none;
}
/* 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;
}
