/*
 Theme Name:   Voolcano Digital Theme
 Theme URI:    https://voolcano.ca
 Description:  Voolcano's customized theme for GeneratePress
 Author:       Team Voolcano
 Author URI:   https://voolcano.ca
 Template:     generatepress
 Version:      0.1
*/

:root {
	--max-container: 128rem;
	
	/* BORDER */
    --rounded-sm:  .4rem;
    --rounded:  .8rem;
    --rounded-md:  1.2rem;
    --rounded-lg:  1.6rem;
    --rounded-xl:  2.4rem;
    --rounded-2xl:  3.2rem;
    --rounded-full:  50%;
	
	/* SECTION */	
	--section-py: clamp(4rem,3.125vw + 3rem,7rem);
	--section-px: clamp(1.6rem,1.667vw + 1.067rem,3.2rem);
	
	--container-m-px: clamp(1.6rem, 5.714vw - 0.229rem, 8rem);
	--container-m-py: clamp(2rem,1.786vw + 1.429rem,4rem);
	
	--fs-h1: clamp(3.8rem, 2.073vw + 3.22rem, 7.2rem);
	--fs-h2: clamp(3.4rem, 3.0571rem + 1.7143vw, 4.6rem);
	--fs-h3: clamp(2.5rem, 2.44rem + 0.3vw, 2.8rem);
	--fs-h4: clamp(2rem, 1.8857rem + 0.5714vw, 2.4rem);
	--fs-body: calc(1.6rem + ((1vw - 0.32rem) * 0.2778));
}

html { 
	font-size: 10px;
}

@media (min-width: 767px) and (max-width: 1024px) {
	html { font-size: .85vw; }
}

@media (min-width: 1441px) {
	html { font-size: .6945759vw; }	
}

body {
	font-family: var(--gb-font--body);
	font-size: var(--fs-body);
	line-height: 1.5;
	color: var(--base-700);
}

h1, h2, h3, h4,
.heading--h1, .heading--h2, .heading--h3, .heading--h4 {
	letter-spacing: .02em;
	font-family: var(--gp-font--headline);
	font-weight: 700;	
	margin-bottom: .125em;
	color: var(--base-800);
}

h1, .heading--h1 {		
	font-size: var(--fs-h1, 5.5rem);
	line-height: 1.05;
}

h2, .heading--h2 {
	font-size: var(--fs-h2, 4rem);
	line-height: 1.1;
}

h3, .heading--h3 {
	font-size: var(--fs-h3,2.75rem);
	line-height: 1.15;
}

h4, .heading--h4 {
	font-size: var(--fs-h4, 2.2rem);
	line-height: 1.1;
}

figcaption { font-weight: 500; }

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

.vd-border--gradient {
	--brdr: 2px;
	--brdr-color-from: var(--base-300);
	--brdr-color-offset-from: 60%;
	border-image: linear-gradient(to right, var(--brdr-color-from) var(--brdr-color-offset-from), var(--brand));
	border-image-slice : 1;
}

.grid-container { max-width: var(--max-container); }

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type,
*[class*="gb-element"] p:last-child:last-of-type{
    margin-bottom: 0px;
}

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