/**
 * Base typography and small site-wide helpers.
 *
 * Moved verbatim out of Appearance > Customize > Additional CSS. Customizer CSS
 * lives in the database, so it never travels with a deploy; these rules are the
 * same ones, now version controlled.
 *
 * The !important flags are inherited from the originals — Divi sets font sizes
 * inline on modules, so the utility classes cannot win without them.
 */

:root {
	/* page hero */
	--heading-1: 56px;
	/* section title */
	--heading-2: 44px;
	/* article title */
	--heading-3: 36px;
	/* sub-section */
	--heading-4: 28px;
	/* card title */
	--heading-5: 22px;
	/* label / sidebar */
	--heading-6: 20px;

	/* Mobile */
	--heading-1-m: 42px;
	--heading-2-m: 35px;
	--heading-3-m: 30px;
	--heading-4-m: 23px;
	--heading-5-m: 20px;
	--heading-6-m: 18px;
}

/* Heading size utilities — desktop */
.heading-1, .heading-1 * { font-size: var(--heading-1) !important; line-height: 1.1em !important; }
.heading-2, .heading-2 * { font-size: var(--heading-2) !important; line-height: 1.1em !important; }
.heading-3, .heading-3 * { font-size: var(--heading-3) !important; line-height: 1.1em !important; }
.heading-4, .heading-4 * { font-size: var(--heading-4) !important; line-height: 1.1em !important; }
.heading-5, .heading-5 * { font-size: var(--heading-5) !important; line-height: 1.1em !important; }
.heading-6, .heading-6 * { font-size: var(--heading-6) !important; line-height: 1.1em !important; }

@media (max-width: 767px) {
	.heading-1, .heading-1 * { font-size: var(--heading-1-m) !important; }
	.heading-2, .heading-2 * { font-size: var(--heading-2-m) !important; }
	.heading-3, .heading-3 * { font-size: var(--heading-3-m) !important; }
	.heading-4, .heading-4 * { font-size: var(--heading-4-m) !important; }
	.heading-5, .heading-5 * { font-size: var(--heading-5-m) !important; }
	.heading-6, .heading-6 * { font-size: var(--heading-6-m) !important; }
}

/* Font weight utilities */
.font-w-thin,       .font-w-thin *       { font-weight: 100 !important; }
.font-w-extralight, .font-w-extralight * { font-weight: 200 !important; }
.font-w-light,      .font-w-light *      { font-weight: 300 !important; }
.font-w-normal,     .font-w-normal *     { font-weight: 400 !important; }
.font-w-medium,     .font-w-medium *     { font-weight: 500 !important; }
.font-w-semibold,   .font-w-semibold *   { font-weight: 600 !important; }
.font-w-bold,       .font-w-bold *       { font-weight: 700 !important; }
.font-w-extrabold,  .font-w-extrabold *  { font-weight: 800 !important; }
.font-w-black,      .font-w-black *      { font-weight: 900 !important; }

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

p {
	text-wrap: balance;
	line-height: 1.7em;
}

.header-paragraph {
	font-size: 18px;
	line-height: 1.7em;
}

.short-underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 80px;
	height: 3px;
	background: #fff;
}

/* Faded in by the theme builder header once it is ready, to avoid a flash of
   unstyled menu. */
.et-l--header {
	opacity: 0;
	transition: opacity 0.2s ease;
}

.center-vertically {
	align-content: center;
}

.month-item {
	font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif !important;
}

@media (max-width: 767px) {
	h1.et_pb_module_heading {
		text-align: center;
	}
}
