@charset "utf-8";
/* CSS Document */


html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	font-optical-sizing: auto;
	font-family: "poppins", sans-serif;
	font-weight: 300;
	font-style: normal;
}
/** Text **/
strong {
	font-weight: 600;
}
.preheader {
	color: #c61b8e;
	font-size: 1.5em;
	font-family: marvin-round, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin: 0 0 10px 0;
}
hgroup {
	margin: 0 0 30px 0;
}
.banner-text h1 {
	font-size: 2.25em;
	line-height: 1em;
	font-family: marvin-round, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	text-shadow: 2px 2px 5px rgba(49,45,85,0.3);
}
h1 {
	font-size: 2.25em;
	line-height: 1em;
	font-weight: 400;
	font-style: normal;
	color: #333;
	margin: 0 0 20px 0;
}
h2 {
	font-size: 2em;
	line-height: 1em;
	font-weight: 400;
	font-style: normal;
	color: #333;
}
.teaser h3 {
	font-size: 1.25em;
	line-height: 1em;
	font-family: marvin-round, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	letter-spacing: 0.5px;
	margin: 0 0 10px 0;
}
h3 {
	font-size: 3em;
	line-height: 1em;
	margin: 0 0 30px 0;
	font-family: marvin-round, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #c6168d;
	letter-spacing: 0.5px;
}
h4 {
	font-size: 1.5em;
	margin: 5px 0 10px 0;
	font-weight: 600;
}
.footer h4 {
	margin: 0 0 10px 0;
}
.banner-text p {
	font-size: 1.25em;
	line-height: 1.2em;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	margin: 20px 0;
}
.teaser p {
	font-size: 1em;
	line-height: 1.2em;
	font-weight: 400;
	font-style: normal;
	margin: 10px 0 0 0;
	letter-spacing: 0.5px;
}
p {
	font-size: 1em;
	letter-spacing: 0.5px;
	line-height: 1.5em
}
.small {
	font-size: 85%;
}
.footer p {
	font-size: 1em;
}
.align-center {
	text-align: center;
}
.align-right {
	text-align: right;
}
@media (min-width: 420px) {
.banner-text h1 {
	font-size: 2.75em;
}
.banner-text p {
	font-size: 1.5em;
}
.teaser h3 {
	font-size: 1.5em;
}
.teaser p {
	font-size: 1.15em;
}
h1 {
	font-size: 3.5em;
}
h2 {
	font-size: 2.5em;
}
}
@media (min-width: 576px) {
.banner-text h1 {
	font-size: 3em;
}
.banner-text p {
	font-size: 1.5em;
}
.teaser h3 {
	font-size: 2em;
}
.teaser p {
	font-size: 1.25em;
}
}
@media (min-width: 768px) {
.banner-text h1 {
	font-size: 3.5em;
}
.banner-text p {
	font-size: 1.5em;
}
.teaser h3 {
	font-size: 1.75em;
}
.teaser p {
	font-size: 1.15em;
}
h1 {
	font-size: 4em;
}
h2 {
	font-size: 3em;
}
}
@media (min-width: 1200px) {
.teaser h3 {
	font-size: 2em;
	line-height: 1em;
	margin: 0 0 10px 0;
}
.teaser p {
	font-size: 1.25em;
	line-height: 1.3em;
}
h1 {
	font-size: 4em;
}
h2 {
	font-size: 3em;
}
	p {
	font-size: 1.15em;
}
}
@media (min-width: 1400px) {
.banner-text h1 {
	font-size: 4.5em;
}
.banner-text p {
	font-size: 2em;
	margin: 30px 0;
}
h1 {
	font-size: 3.5em;
}
h2 {
	font-size: 3.5em;
}
}
@media (min-width: 1600px) {
.banner-text h1 {
	font-size: 5em;
}
.banner-text p {
	font-size: 1.75em;
}
.teaser h3 {
	font-size: 2em;
	line-height: 1em;
	margin: 0 0 10px 0;
}
}

.contact-list {
	text-align: center;
}
.contact-form {
	text-align: center;
	padding-left: 20px;
}
.contact-form {
	text-align: left;
	border-left: 1px dotted #333;
	padding-left: 20px;
}
}

.divider-bubbles {
	width: 50%;
	margin: 20px auto 60px auto;
	border-bottom: 1px dotted #82cde1;
	position: relative;
}
.divider-bubbles-pic {
	width: 60px;
	height: auto;
	margin: 0 auto;
	position: relative;
	object-fit: contain;
	bottom: -20px;
	background-color: #fff;
}
.divider-bubbles-pic img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/** Sections **/
/* Header */
.header {
	background-color: #fff;
	width: 100%;
	padding: 10px 0 10px 0;
	border-bottom: 10px solid #c6168d;
}
.header-left {
	width: 100%;
}
.header-left-logo {
	width: 200px;
	height: auto;
	margin: 0 auto;
}
.header-left-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.header-right {
	width: 100%;
}
.header-right-contact {
	width: 100%;
}
.header-right-socialicons {
	width: 100%;
	text-align: center;
	margin: 0;
}
.socialicon {
	width: 20px;
	height: 20px;
	display: inline-block;
	margin: 0;
}
.socialicon:hover {
	opacity: 0.5;
}
.header-right-tel {
	text-align: center;
	font-size: 1.5em;
	font-weight: 900;
	margin: 5px 0 0 0;
	color: #82cde1;
	letter-spacing: .5px;
	line-height: 1.4em;
}
.header-right-navigation {
	width: 100%;
	margin: 0;
}
@media (min-width: 768px) {
.header {
	padding: 20px 2% 0 2%;
}
.header-left-logo {
	width: 180px;
	height: auto;
	margin: 0 0 20px 0;
}
.header-right-socialicons {
	 text-align: right;
	display: block;
}
.header-right-tel {
	text-align: right;
	font-size: 2em;
}
.socialicon {
	width: 24px;
	height: 24px;
	display: inline-block;
	margin: 0;
}
.header-right-tel {
	text-align: right;
	font-size: 2em;
	margin: 20px 0 0 0;
}
}
@media (min-width: 992px) {
.header {
	padding: 20px 5% 0 5%;
}
.header-left-logo {
	width: 200px;
}
.header-right-tel {
	font-size: 2.5em;
	margin: 20px 0 5px 0;
}
}
@media (min-width: 1200px) {
.header {
	padding: 20px 8% 0 8%;
}
.header-right-tel {
	margin: 20px 0 0 0;
}
.header-right-navigation {
}
}
@media (min-width: 1400px) {
.header {
	padding: 20px 10% 0 10%;
}
}
@media (min-width: 1600px) {
.header {
	padding: 20px 12% 0 12%;
}
}

/* Banner */
.banner {
	width: 100%;
	height: auto;
	background: url("../images/bannerimages01.jpg");
  	background-repeat: no-repeat;
  	background-size: cover;
	background-position: left -300px center;
	position: relative;
}
.banner-text {
	padding: 30px 3% 50px 3%;
	width: 100%;
	text-align: center;
}
@media (min-width: 420px) {
.banner {
	background-position: left -200px center;
}
.banner-text {
	padding: 30px 8% 50px 8%;
}
}
@media (min-width: 576px) {
.banner {
	background-position: left -100px center;
}
.banner-text {
	padding: 40px 12% 80px 12%;
}
}
@media (min-width: 768px) {
.banner {
	background-position: right -100px center;
}
.banner-text {
	padding: 40px 15% 80px 5%;
	text-align: left;
	width: 75%;
}
}
@media (min-width: 992px) {
.banner {
	background-position: center;
}
.banner-text {
	padding: 60px 15% 120px 5%;
	text-align: left;
	width: 65%;
}
}
@media (min-width: 1200px) {
.banner {
	background-position: center;
}
.banner-text {
	padding: 60px 15% 100px 12%;
	text-align: left;
	width: 65%;
}
}
@media (min-width: 1400px) {
.banner {
	background-position: center;
}
.banner-text {
	padding: 80px 15% 150px 12%;
	text-align: left;
	width: 70%;
}
}
@media (min-width: 1600px) {
.banner {
	background-position: center;
}
.banner-text {
	padding: 70px 15% 120px 12%;
	text-align: left;
	width: 68%;
}
}

/* Content */
.content {
	padding: 50px 0;
}
.prices {
	text-align: center;
	padding: 0 5%;
}
.prices span {
	font-weight: 800;
}
.prices ul {
	list-style-position: inside;
	list-style: none;
	margin-left: -35px;
	font-size: 1.1em;
}
.prices ul li {
	margin: 8px 0;
}
@media (min-width: 1200px) {
.content {
	padding: 50px 0;
}
.prices {
	padding: 0 20%;
}
}


.picrow {
	margin: 30px 0 60px 0;
}
.pic {
	width: 85%;
	height: 250px;
	border-radius: 20px;
	background: #eaeaea;
	overflow: hidden;
	margin: 0 auto 20px auto;
}
.pic img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

/* Teasers */
.teasers {
	padding: 30px 2% 0 2%;
	position: relative;	
}
.teaser {
	width: 100%;
	height: auto;
	padding: 25px 15px 25px 15px;
	border-radius: 40px;
	text-align: center;
	box-shadow: 0 0 20px rgba(49,45,85,0.4);
	margin: 0 auto 20px auto;
}
.bg-pink {
	background: #c61b8e;
	color: #fff;
}
.bg-blue {
	background: #82cde1;
	color: #fff;
}
@media (min-width: 420px) {
.teasers {
	padding: 30px 10% 0 10%;
	position: relative;	
}
}
@media (min-width: 576px) {
.teasers {
	padding: 30px 12% 0 12%;
	position: relative;	
}
.teaser {
	width: 90%;
	height: auto;
	padding: 30px 30px;
	border-radius: 40px;
	text-align: center;
	position: relative;	
}
}
@media (min-width: 768px) {
.teasers {
	padding: 30px 2% 0 2%;
	position: relative;	
}
.teaser {
	width: 100%;
	height: auto;
	padding: 30px 10px;
	border-radius: 40px;
	text-align: center;
	position: relative;	
}	
}
@media (min-width: 1400px) {
.teasers {
	padding: 30px 10% 0 10%;
	position: relative;	
}
}
@media (min-width: 1600px) {
.teasers {
	padding: 30px 12% 0 12%;
	position: relative;	
}
.teaser {
	width: 100%;
	height: auto;
	padding: 40px 20px;
	border-radius: 40px;
	text-align: center;
	position: relative;	
}	
}

/* Bubble Teasers 
.teasers {
	padding: 0 0 140px 0;
	position: relative;	
}
.teaser {
	width: 310px;
	height: 220px;
	padding: 40px 30px 20px 30px;
	text-align: center;
	margin: 0 auto 20px auto;
}
.teaser-blue {
	background: url("../images/bubbles-blue.svg");
  	background-repeat: no-repeat;
  	background-size: 100%;
	background-position: center;
	filter: drop-shadow(0 0 8px rgb(0 0 0 / 0.4));
	color: #333;
}
.teaser-blue:hover {
	filter: drop-shadow(0 0 14px rgb(0 0 0 / 0.2));
}
.teaser-pink {
	background: url("../images/bubbles-pink.svg");
  	background-repeat: no-repeat;
  	background-size: 100%;
	background-position: center;
	filter: drop-shadow(0 0 8px rgb(0 0 0 / 0.4));
	color: #fff;
}
.teaser-pink:hover {
	filter: drop-shadow(0 0 14px rgb(0 0 0 / 0.2));
}
@media (min-width: 992px) {

}
@media (min-width: 1200px) {
.teasers {
	padding: 0 5% 500px 5%;	
}
.teaser {
	width: 400px;
	height: 350px;
	padding: 100px 60px 40px 60px;
	text-align: center;
	position: absolute;
	top: -80px;
}
.teaser-blue {
  	background-size: 85%;
}
.teaser-pink {
  	background-size: 85%;
}
}
@media (min-width: 1400px) {
.teasers {
	padding: 0 8% 500px 8%;	
}
.teaser {
	width: 400px;
	height: 350px;
	padding: 100px 60px 40px 60px;
	text-align: center;
	position: absolute;
	top: -80px;
}
.teaser-blue {
  	background-size: 90%;
}
.teaser-pink {
  	background-size: 90%;
}
}
@media (min-width: 1600px) {
.teasers {
	padding: 0 10% 500px 10%;	
}
.teaser {
	width: 400px;
	height: 350px;
	padding: 80px 20px 20px 20px;
	text-align: center;
	position: absolute;
	top: -60px;
}
.teaser-blue {
  	background-size: 100%;
}
.teaser-pink {
  	background-size: 100%;
}
}
*/

hr {
	margin: 40px auto 40px auto;
	width: 50%;
	border-top: 1px dotted #666;
}
.services hr {
	margin: 20px 0 20px 0;
}


/* Services */
.services {
	width: 100%;
	padding: 0 0 200px 0;
	background: url("../images/bubblebackground.svg");
  	background-repeat: no-repeat;
  	background-size: 200%;
	background-position: center bottom -50px;
}
.services-intro,.services-list {
	text-align: center;
}
.servicespic-small {
	margin: 0 auto 20px auto;
	width: 50%;
	height: auto;
	display: none;
}
.servicespic {
	margin: 0 auto 30px auto;
	width: 75%;
	height: auto;
	display: block;
}
.services hr {
	margin: 20px auto;
}
.servicespic img, .servicespic-small img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
@media (min-width: 768px) {
.services {
	width: 100%;
	padding: 0 0 200px 0;
}
.services-intro {
	text-align: right;
}
.services-list {
	text-align: left;	
}
.services hr {
	margin: 20px 0;
}
.servicespic-small {
	display: none;
}
.servicespic {
	margin: 0 auto 30px auto;
	width: 500px;
	height: auto;
	display: block;
}
}
@media (min-width: 992px) {
.services {
  	background-size: 150%;
}
}
@media (min-width: 1200px) {
.services {
  	background-size: 100%;
	padding: 60px 12% 200px 12%;
}
.servicespic {
	width: 650px;
}
}

/* Lists */
ul.services-bullets {
 	list-style-type: none;
	margin: 20px 0 40px -15px;
}
ul.services-bullets li {
	font-size: 1.1em;
	line-height: 1.5em;
	margin: 0;
}
ul.services-bullets li:before {
	content: '';
	display: inline-block;
	height: 15px;
	width: 15px;
	background-size: contain;
	background-image: url("../images/tickbullet-blue.svg");
	background-repeat: no-repeat;
	background-position: center;
	margin: 0 10px 0 -25px;
	position: relative;
	bottom: -3px;
	list-style-position: inside;
}

.footer-cta {
	width: 100%;
	padding: 20px 12%;
	background-color: #c61b8e;
	text-align: center;
	font-size: 1.5em;
	font-weight: 400;
	font-style: normal;
	color: #fff;
}
.footer-cta span {
	font-size: 1.5em;
	font-family: marvin-round, sans-serif;
}

/* Footer */
.footer {
	padding: 30px 5%;
	text-align: center;
}
.footer-logo {
	width: 150px;
	height: auto;
	margin: 0 auto 20px auto;
}
.footer-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.footer ul {
	list-style: none;
	margin-left: -40px;
	font-weight: 400;
}
.footer-socialicons {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}
@media (min-width: 1200px) {
.footer {
	padding: 60px 15%;
	text-align: center;
}
.footer-logo {
	width: 200px;
	height: auto;
	margin: 0;
}
}

/* Testimonials */
.testimonials {
	padding: 50px 5%;
	text-align: center;
}
.testimonial {
	margin: 0 0 50px 0;
}
blockquote p::before {
  	content: open-quote;
}
blockquote p::after {
  	content: close-quote;
}
blockquote {
  	quotes: "“" "”" "‘" "’";
}
.blockquote p {
	font-size: .8em;
	line-height: 1.5em;
}
.blockquote-footer {
	text-align: center;
	font-weight: 700;
	font-size: 1.2em;
	margin: 20px 0 0 0;
	color: #333;
}
.blockquote-footer cite {
	margin: 0!important;
}
.blockquote-footer::before {
    content: none;
}
.rating {
	color: #c61b8e;
}
@media (min-width: 768px) {
.blockquote p {
	font-size: .9em;
	margin: 0 0 0 30px;
}
}
@media (min-width: 992px) {
.testimonials {
	padding: 50px 15%;
}
blockquote {
	margin: 0;
	width: 100%;
}
.blockquote p {
	font-size: 1em;
	margin: 0 0 0 30px;
}
}
@media (min-width: 1200px) {
.testimonials {
	padding: 50px 20%;
}
}



/** Social Icons **/
@media (min-width: 576px) {
}

/** Jumbo **/
@media (min-width: 576px) {
}

/** Rules & Dividers **/
@media (min-width: 576px) {
}

/** Lists **/
@media (min-width: 576px) {
}

/** Links **/
main a, .footer a {
	color: #c6168d;
	text-decoration: underline;
	font-weight: 900;
}
main a:hover, .footer a:hover {
	color: #c6168d;
	text-decoration: none;
}
.teaser a {
	text-transform: uppercase;
	color: #fff;
}
.teaser a:hover {
	text-transform: uppercase;
	color: #fff;
}