/*
 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, .fs-h1 {
  font-size: clamp(3.0000rem, 2.7273rem + 1.0909vw, 3.6000rem);
}

h2, .fs-h2 {
  font-size: clamp(2.2500rem, 2.0455rem + 0.8182vw, 2.7000rem);
}

h3, .fs-h3 {
  font-size: clamp(1.8750rem, 1.7045rem + 0.6818vw, 2.2500rem);
}

h4, .fs-h4 {
  font-size: clamp(1.5000rem, 1.3636rem + 0.5455vw, 1.8000rem);
}

h5, .fs-h5 {
  font-size: clamp(1.2500rem, 1.1364rem + 0.4545vw, 1.5000rem);
}

h6, .fs-h6 {
  font-size: clamp(1.1250rem, 1.0227rem + 0.4091vw, 1.3500rem);
}

p, .fs-body {
  font-size: clamp(0.8333rem, 0.7576rem + 0.3030vw, 1.0000rem);
}

/* 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;
}
/* Borrowed from Bootstrap */ 
/* Tutorial: https://youtu.be/HBriBrnRlQE?si=DLiSXEiBHt6lw91l */ 
/* Make sure you only have ONE link inside your card 😅 or this will not work!  */ 

.stretch-link{
	position: relative;
}

.stretch-link a::after{
	content: '';
	position: absolute;
	inset: 0;
}

.stretch-link a:is(:focus-visible)::after{
	outline: 2px solid;
}

.stretch-link a:is(:hover, :focus){
	outline: none;
}