/** Kinda common style */
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }
p { line-height: 1.5; margin: 0; }

a.regular-link, a.regular-link:visited
{
	color: var(--risalto-red-dark);
	text-decoration: underline;
	font-weight: 500;
}

section
{
	width: 90%;
	max-width: 512px;
	margin: 40px auto;
}

section p { margin-bottom: 20px; }

.section-description { text-align: center; }

#page-content h2 { margin-bottom: 20px; text-align: center; }
@media (min-width: 425px) { h2 { font-size: 28px; } }

hr { width: 75%; max-width: 512px; }

@media (min-width: 500px)
{
	.br-1 { display: none; }
}

.desktop-description
{
	display: none;
}

#hero-img
{
	display: block;
	width: 100%;
	max-width: 450px;
	height: auto;
	margin: 0 auto 30px;
}

#intro-cta
{
	margin: 40px auto;
	text-align: center;
}

#intro-text
{
	margin-bottom: 20px;
}

#intro-flex, #intro-flex-2
{
	text-align: center;
}

.cta-container
{
	margin: 60px auto;
	text-align: center;
}

.img-with-info
{
	position: relative;
	width: 100%;
	max-width: 450px;
	margin: 0 auto 20px;
}

.img-with-info img
{
	display: block;
	width: 100%;
	height: auto;
}

.info-link
{
	color: #aa0000;
	display: block;
	margin: 5px auto;
	text-align: center;
	text-decoration: underline;
}

/* TODO(matteo): actually fix the carousel! */
#container-product-images
{
	margin: 0 auto;
	width: 100%;
}

/* TODO(matteo): actually fix the "contact us" form! */
/* #contact-us-section { padding-top: 170px !important; padding-bottom: 0 }; */
#contact-us-section .container
{
	margin-top: 40px;
	padding: 0;
}

@media (max-width: 349px)
{
	.cta-xl
	{
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (min-width: 768px)
{
	section
	{
		max-width: 1024px;
	}

	#intro-flex
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 40px;
	}

	#intro-flex-2
	{
		width: 75%;
		margin: 0 auto;
	}

	#intro-text
	{
		max-width: 50%;
		padding-left: 20px;
		padding-right: 20px;
	}

	#hero-img
	{
		width: 100%;
		margin: 0 auto;
	}

	.section-flex
	{
		justify-content: space-between;
		align-items: center;
		display: flex;
		margin: 40px 0;
	}

	.section-flex > div
	{
		width: 48%;
	}

	.img-with-info
	{
		margin: 0;
	}

	.img-with-info a, .info-link
	{
		display: none;
	}

	#dibond-banner-flex .img-with-info
	{
		max-height: 450px;
	}

	#dibond-banner-flex .img-with-info img
	{
		height: 450px;
		width: 173px;
		margin: 0 auto;
	}

	.desktop-description
	{
		display: block;
	}
}

