/* Hydromancer CSS */

/* - */

body {
	font-family: "Montserrat", Helvetica, Arial, "sans-serif";
	font-weight: 400;
}

p,
li {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.5px;
	color: #111;
}

h1,
h2,
h3,
h4 {
	/*font-family: "Lora", serif;*/
	font-family: "tt-ricordi-allegria", sans-serif;
	font-weight: 400;
	color: #3732af;
}

b,
strong {
	color: #3732af;
}

a {
	color: #3732af;
	text-decoration: none;
}

/* - */

#page-content {
	display: grid;
	grid-gap: 32px;
	margin-bottom: 256px;
}

/* - */

.sect-a {
	display: grid;
	grid-template-columns: auto;
}

@media (min-width: 768px) {
	.sect-a {
		grid-template-columns: auto 384px 384px auto;
	}
}

@media (min-width: 992px) {
	.sect-a {
		grid-template-columns: auto 496px 496px auto;
	}
}
@media (min-width: 1200px) {
	.sect-a {
		grid-template-columns: auto 600px 600px auto;
	}
}

.workspace {
	grid-gap: 32px;
}

/* - */

.heading-1 {
	grid-gap: 4px;
}

.heading-1 h1 {
	font-size: 35px;
	color: #666;
}

.heading-1 h3 {
	font-size: 23px;
	font-style: italic;
}

/* - */

.heading-2 {
	grid-gap: 4px;
	align-self: center;
	justify-self: center;
}

.heading-2 h1 {
	font-size: 40px;
	color: #ddd;
	justify-self: center;
}

.heading-2 h3 {
	font-size: 26px;
	font-style: italic;
	color: #b8b8b8;
	justify-self: center;
}

.heading-2 .btn {
	justify-self: center;
	margin-top: 32px;
}

/* - */

hr {
	justify-self: center;
	width: 50vw;
	border: none;
	border-top: 1px solid;
	color: #cecece;
}

/* - */

.btn {
	border: solid 2px;
	color: #3732af;
	padding: 12px 16px;
	text-decoration: none;
	font-size: 16px;
	border-radius: 32px;
	transition:
		background ease 0.2s,
		transform ease 0.2s;
	justify-self: start;
}

.btn:hover {
	cursor: pointer;
	background-color: #3732af1a;
	transform: scale(0.9);
}

/* - */

.feature-a {
	display: grid;
	grid-gap: 32px;
	justify-content: start;

	overflow-x: hidden;
	width: 100%;
}

.feature-a-img {
	grid-row: 1;
	grid-column: 1;

	width: 50vw;
}

.feature-a-content {
	grid-row: 1;
	width: 568px;
	margin: 32px 0;
}

/* - */

.feature-b {
	display: grid;
	grid-gap: 32px;
	justify-content: end;

	overflow-x: hidden;
	width: 100%;
}

.feature-b-img {
	grid-row: 1;
	grid-column: 2;

	width: calc(50vw - 16px);
}

.feature-b-content {
	grid-row: 1;
	width: 568px;
	margin: 32px 0;
}

/* - */

/* - */

.list {
	display: grid;
	align-content: center;
}

.list p {
	align-content: center;
	display: grid;
	grid-template-columns: max-content auto;
}

.list p:before {
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	color: #3732af;
	align-self: start;
	content: "\f6e3";
	margin-right: 8px;
	font-size: 16px;
	border-right: solid 2px;
	padding-right: 8px;
}

/* - */

.paralax-banner {
	height: 384px;
	overflow: hidden;
	background-image: url(../img/para.jpg);
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 64px 0;
}

/* Testimonials */

.testimonial-container {
	display: grid;
	width: 100%;
	background-image: url("../img/testimonial-bg.jpg");
	background-attachment: fixed;
	background-position: center center;
	background-color: #111;
	background-repeat: no-repeat;
	background-size: cover;

	min-height: 400px;
}

.testimonial {
	display: grid;
	align-self: center;
	justify-self: center;

	grid-row: 1;
	grid-column: 1;

	grid-gap: 16px;

	width: 512px;
	max-width: 80vw;

	opacity: 1;

	transition: opacity ease 0.5s;

	z-index: 3;
}

.opacity-0 {
	opacity: 0 !important;
}

.testimonial h3 {
	color: #fff;
	justify-self: center;
	font-size: 32px;
}

.testimonial p {
	color: #fff;
	justify-self: center;
	text-align: center;
}

.star-container {
	display: grid;
	align-content: center;
	justify-content: center;
}

.star {
	color: #fff;
	grid-row: 1;
}

.testimonial-controls {
	display: grid;
	z-index: 1;
	grid-row: 2;
	grid-column: 1;
	align-content: center;
	padding: 0 32px;
}

@media (min-width: 992px) {
	.testimonial-controls {
		grid-row: 1;
		grid-column: 1;
	}
}

.testimonial-arrow {
	color: #fff;
	font-size: 32px;
	grid-row: 1;
	grid-column: 1;

	transition: opacity 0.5s ease;
}

.testimonial-arrow:hover {
	cursor: pointer;
	opacity: 0.5;
}

.testimonial-left {
	justify-self: start;
}

.testimonial-right {
	justify-self: end;
}

.testimonial-dots {
	display: grid;
	grid-gap: 8px;
	justify-content: center;
	justify-self: center;
	align-self: center;
	z-index: 3;

	grid-row: 2;
	grid-column: 1;
}

.testimonial-dot {
	grid-row: 1;
	width: 8px;
	height: 8px;
	border-radius: 16px;
	border: #fff solid 1px;
	align-self: center;
}

.testimonial-dot:hover {
	cursor: pointer;
	border-color: #3732af;
}

.active-testimonial-dot {
	background-color: #3732af;
	border-color: #3732af;
	/*border: none;*/
}

/* - */

.elem-table {
	/* justify-self: start; */
	align-self: start;
}

thead {
	background-color: #555;
}

thead h1 {
	padding: 4px 16px;
	color: #fff;
}

tbody tr {
	background-color: #ececec;
	border: solid 2px #555;
	border-top: none;
}

tbody tr:nth-child(odd) {
	background-color: #fff;
}

td {
	position: relative;
	z-index: 1;
	padding: 8px 16px;
	transition: all 0.2s ease;
}

td::after {
	content: "";
	/* background: #3732AF; */
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 0;
	height: 100%;
	transition: all 0.2s ease;

	grid-row: 1;
	grid-column: 1;
}

td:hover::after {
	width: 100%;
}

td:hover {
	color: #fff;
	cursor: pointer;
}

/* Catch-all Centering Class */
.cent {
	justify-self: center;
	text-align: center;
}

.heading {
	font-weight: 300;
	width: 100%;
	border-bottom: 1px solid #3732af;
	padding-bottom: 16px;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.paralax-banner {
	height: 512px;
}

.paralax-banner .element {
	align-self: start;
	margin-top: 128px;
}

.hide-on-contact #footer .workspace .contact-details {
	display: none;
}

.hide-on-contact #footer .workspace .dashed-line {
	display: none;
}

.contact-item {
	grid-template-columns: max-content auto;
	align-content: center;
}

.contact-item .element {
	background-color: #3732af;
	padding: 2px;
	border-radius: 64px;
}

.contact-item i {
	align-self: center;
	color: #fff;
	background-color: #3732af;
	padding: 16px;
	border-radius: 64px;
	justify-self: center;
	font-size: 24px;
	border: solid 4px #fff;
}

.contact-item a {
	align-self: center;
}

.contact-item p {
	align-self: center;
}

@media (max-width: 767px) {
	.long-txt {
		font-size: 12px;
	}
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/*  WAVES */

#bot-wave-conainer {
	overflow: hidden;
	width: 100%;
	height: 256px;
	margin-top: -256px;
	z-index: 2;
	display: grid;
}

#bot-wave-conainer .st0 {
	fill: #222;
}

#bot-wave-conainer .st1 {
	fill: rgba(34, 34, 34, 0.65);
}

.paralax-banner {
	height: 512px;
}

.paralax-banner .element {
	align-self: start;
	margin-top: 128px;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/*  CONTACT PAGE SPACING */

.space {
	height: 200px;
}

.imgicon {
	max-height: 23px;
	font-size: 23px;
}
.contactimgicon {
	max-height: 20px;
	grid-row: 1;
	border-right: solid 1px;
	padding-right: 12px;
	color: #257cf5;
}

.revmedusa {
	filter: grayscale();
	transition: ease 1s;
}

.revmedusa:hover {
	filter: none;
	transition: ease 1s;
}

.zoom {
	transition: transform 2s ease-in-out;
}

.zoom:hover {
	transform: scale(1.05);
}

.zoomsection {
	overflow-x: visible !important;
}

.colorback {
	padding: 30px 0px;
	background-color: #3732b0;
	border-top: 2px solid #ec1e7a;
	border-bottom: 2px solid #ec1e7a;
}

.colorback p {
	color: #fff;
	text-align: center;
}

.roof .workspace .element {
	align-self: center;
	justify-self: center;
}

.roof .workspace .element .element h1,
.roof .workspace .element .element h3,
.roof .workspace .element .element p {
	justify-self: center;
	text-align: center;
}

@media (max-width: 768px) {
	.roof .workspace .element {
		align-self: left;
		justify-self: left;
	}

	.roof .workspace .element .element h1,
	.roof .workspace .element .element h3,
	.roof .workspace .element .element p {
		justify-self: left;
		text-align: left;
	}
}

.notice {
	background-color: #ec1e7a;
	border-top: 2px solid #3732b1;
	border-bottom: 2px solid #3732b1;
	padding: 30px;
}
