/*
 ************************************************************
 * BASE
 ************************************************************
 * ----------------------------------------------------------
 * GLOBAL
 * ----------------------------------------------------------
 */

/* DEFAULT */

:root
{
	--font-body: 'ProximaNova', sans-serif;
	--font-feat: 'ProximaNova', sans-serif;
	--color-white: #FFFFFF;
	--color-black: #000000;
	--color-gray-1: #cccad7;
	--color-gray-2: #9396b0;
	--color-lightgray-1: #f9f9fc;
	--color-lightgray-2: #ebeaef;
	--color-cvi-1: #342b60;
	--color-cvi-2: #E4067d;
}

/* ANIMATE */

#top i,
#top a,
#top a::before,
#top a img,
#top h1,
#top h2,
#top h3,
#top h4,
#top h5,
#top h6,
#top dl,
#top dt,
#top dd,
#top span,
#top path,
#top circle,
#top strong,
#top label,
#top input,
#top select,
#top textarea,
#top button,
#top .button,
#top .avia-button,
#top .avia-button::before,
#top .avia-menu-text,
#top .avia-menu-text::before,
#top .toggler,
#top .colorbox
{
	transition-property: opacity,fill,color,border-color,background-color,top,left,right,bottom;
	transition-duration: .3s;
	transition-timing-function: ease;
}

@keyframes fade-in-up
{
	from
	{
		opacity: 0;
		transform: translateY(20px);
	}

	to
	{
		opacity: 1;
		transform: translateY(0);
	}
}

#top .is-loaded
{
	animation: fade-in-up 0.4s ease both;
}

/* TYPO */

body
{
	font-family: var(--font-body);
	line-height: 1.6em;
}

b,
b a,
strong,
strong a
{
	font-weight: 700;
}

.special_amp
{
	color: inherit !important;
	font-family: inherit;
	font-size: inherit;
	font-style: normal;
	font-weight: 600;
}

::marker
{
	font-weight: 700;
	color: var(--color-cvi-2);
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-family: var(--font-feat);
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong
{
	font-weight: 800;
}

.template-page .entry-content-wrapper h1,
.template-page .entry-content-wrapper h2
{
	letter-spacing: 0;
}

.modern-quote .av-special-heading-tag
{
	font-weight: 700;
}

/* BLOCKQUOTE */

blockquote
{
	position: relative;
	margin: 0;
	padding: 48px 24px;
	font-size: 1em;
	border: none;
	border-radius: 0;
	background-color: var(--color-lightgray-1);
}

blockquote p
{
	margin: 2em 0;
}

blockquote p:first-child
{
	margin-top: 1em;
}

blockquote p:last-child
{
	margin-bottom: 0;
}

blockquote::before
{
	content: url('../img/svg/quote.svg');
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 24px;
	width: 32px;
	height: 32px;
	padding: 8px;
	border-radius: 0;
	transform: translateY(-50%);
	background-color: var(--color-cvi-1);
}