@font-face {
 font-family: "Angels";
 src: url("/fonts/Angels.ttf");
}
@font-face {
 font-family: "Shameless";
 src: url("/fonts/shameless.otf");
}


html, body, p, div, span, td, th, li, blockquote {
	font-size: 15pt;
	font-family:"Cormorant Garamond", serif;
	color:#fff;
	line-height: 21pt;
	font-weight: 500;
}

body {
	height:100%;
	background: #e4c7f0;
	background: -moz-linear-gradient(top,  #e4c7f0 0%, #753ba8 100%);
	background: -webkit-linear-gradient(top,  #e4c7f0 0%,#753ba8 100%);
	background: linear-gradient(to bottom,  #e4c7f0 0%,#753ba8 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4c7f0', endColorstr='#753ba8',GradientType=0 );
}
#body-overlay {
	position:fixed;
	left:0; top:0; width:100vw; height:100vh;
	overflow-y:scroll;
	background: #fcf8ff;
	background: -moz-radial-gradient(center, ellipse cover,  #fcf8ff 0%, #e9d0ff 100%);
	background: -webkit-radial-gradient(center, ellipse cover,  #fcf8ff 0%,#e9d0ff 100%);
	background: radial-gradient(ellipse at center,  #fcf8ff 0%,#e9d0ff 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcf8ff', endColorstr='#e9d0ff',GradientType=1);
}
#body-overlay, #body-overlay p, #body-overlay div, #body-overlay span {
	font-size:15pt;
}
.modal *, #body-overlay div, #body-overlay p, #body-overlay span, #body-overlay td, #body-overlay li {color:#846e9e;}

h1, h2, h3, h4, h5, h6 {
	font-family:"Cinzel Decorative", cursive;
}

#body-overlay h1, #body-overlay h2, #body-overlay h3, #body-overlay h4, #body-overlay h5, #body-overlay h6 {
	color:#8346c4;
}

.subheadline {
	font-size: 28px;
	margin-top: 20px;
}

a {
	color: #f0a6ca;
}

#body-overlay a {color:#007bff;}
#body-overlay a:hover {color:#3c9aff;}
#body-overlay a.btn {color:#fff;}

.error {color:#f45757;}
.warning {color:orange;}
.logged-in, .logged-out {display:none;}

button, .btn, .navbar ul li a {
	font-family:"Cinzel", sans-serif;
	color:#fff;
}
button:hover, .btn:hover {
	color:#fff;
}

input, .form-control, .form-control:focus {color:#000;}
.form-control:focus, .btn:focus {
	box-shadow:0 0 5px 0 rgba(0,123,255,.25);
	-webkit-box-shadow:0 0 5px 0 rgba(0,123,255,.25);
	-moz-box-shadow:0 0 5px 0 rgba(0,123,255,.25);
}

.form-control::placeholder {color:#bbb;}
.form-control::-webkit-input-placeholder {color:#bbb;}
.form-control:-ms-input-placeholder {color:#bbb;}

.navbar ul li a {
	font-size: 15pt;
	
}
.navbar-spacer {
	height:50px;
}

.navbar, .modal-header, #mini-calendar .cal-header, #card-button, #confirmation-buttons .btn, #action-buttons .btn {
	background: #8547c6;
	background: -moz-linear-gradient(top,  #8547c6 0%, #471b6b 100%);
	background: -webkit-linear-gradient(top,  #8547c6 0%,#471b6b 100%);
	background: linear-gradient(to bottom,  #8547c6 0%,#471b6b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8547c6', endColorstr='#471b6b',GradientType=0);
}

.navbar {
	padding:0 15px;
	height: 50px;
	line-height: 50px;
}

.navbar > .container-fluid {
	padding: 0px;
}

.navbar ul.nav {
	margin:0 auto;
}

.navbar ul.nav li a {
	color:white !important;
	padding: 0 12px;
	transition:0.2s ease-in-out;
}
.navbar ul.nav li a:hover {
	text-decoration:none;
	text-shadow:0 0 5px #fff;
}

.navbar li.dropdown ul {
	background-color:#753ba8;
	border-radius:0 0 5px 5px;
	-webkit-border-radius:0 0 5px 5px;
	-moz-border-radius:0 0 5px 5px;
	-ms-border-radius:0 0 5px 5px;
	border:none;
	margin:9px 0 0;
}

.navbar-header {
	position: relative;
	top:-2px;
	margin:0;
	height: 40px;
	line-height: 40px;
	display: block;
	padding: 0;
}

.navbar-toggler {
	width:32px; height: 32px; line-height:32px;
	top: 8px; left:15px;
	background-color: rgba(255,255,255,0.2);
	padding:0;
	position: absolute;
	display:none;
	align-items:center;
	justify-content:center;
	z-index:1031 !important;
	font-size:12pt;
}

.navbar-toggler:focus {
	outline: none;
}

.container-fluid {
	padding-left: 45px;
	padding-right: 45px;
}

.tooltip-inner {
	/* background-color:#333; */
	color:#fff;
	font-size:15pt;
	font-weight: normal;
}

.main {
	padding: 0 30px;
}
.main, .content {min-height:400px;}

.jumbotron {
	position:relative;
	height:300px;
	background-repeat:no-repeat;
	overflow:hidden;
	z-index:0;
	background-size:100% auto;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;

}

#jumbotron-home {
		background-image:url("/images/empty-beach.jpg");
		height:400px;
}

#jumbotron-about img{
	width: 100%;
	height: auto;
	margin: auto;
	top: -11vw;
	left: -9999px;
	right: -9999px;
	position: absolute;
}

#jumbotron-consultation img{
	width: 100%;
	height: auto;
	margin: auto;
	top: -9999px;
	bottom: -9999px;
	left: -9999px;
	right: -9999px;
	position: absolute;
}


#jumbotron-contact img{
	width: 100%;
	height: auto;
	margin: auto;
	top: -9999px;
	bottom: -9999px;
	left: -9999px;
	right: -9999px;
	position: absolute;
}

#jumbotron-tips {
	background-image: url("/images/wedding_dance_tips.jpg");
}
@media only screen and (max-width: 700px) {
	#jumbotron-tips {
		background-size:auto 100%;
	}
	#tips {
		padding-left:45px;
	}
}

.jumbotron-container {
	width: 50%;
	left:0; top:0;
	height:100%;
	position: absolute;	
	text-align: center;
}

.dancers-container {left:0;}

.logo-container {left:50%;}

#dancers {
	height:calc(100% - 30px);
	top: 30px;
	position:relative;
	margin:0 auto;
	display:inline-block;
}

#logo, #logo-shadow {
	position:relative;
	margin:0 auto;
	display:inline-block;
	height:calc(100% - 60px);
	top:30px;
	left: -30px;
}

#logo-shadow {
	display:none;
	-webkit-filter: blur(3px) saturate(0) brightness(1000%);
}


 .header {
	 margin-bottom: 40px;
 }
 
 #header-home {
	 margin-top: 30px;
 }
 
 .spacer {
	 margin-bottom: 30px;
 }
/* Home page CSS */

#panel-container {
	padding-bottom: 20px;
}

.thumbnail {
	background-color:#fff; 
	padding:15px; border-radius:8px; 
	overflow:hidden; 
	box-shadow:0 0 15px 
	rgba(0,0,0,0.25);
	height: 540px;
	position: relative;
}
	
	
.thumbnail, .thumbnail * {color:#000;}

.thumbnail a.morelink {color:#753ba8 !important; padding-left:10px;}

.thumbnail a.img-container {
	display:block;
	overflow-x:hidden;
	height:270px;
	width: calc(100% + 32px);
	margin:-15px -15px 15px -15px;
}
.thumbnail a img {
	width:100%;
	height:100%;
	object-fit:cover;
}

button, .btn {
	font-size:12pt;
	color:#fff;
}
.btn.full-width {
	width:100%;
}

.thumbnail p.button {
	position: absolute;
	bottom: 0;
	text-align: right;
	width: calc(100% - 30px);
	
}


#welcome .thumbnail {
	background:none;
	text-align:center;
	height:auto;
}


.wedding-special {
	float:right; 
	margin: 0 0 15px 15px;
	width: 300px;
	height: 440px;
	display: block;
	position:relative;
}

.wedding-special img {
	width: 100%;
	height: 100%;
	position:absolute;
	left:0;
	top:0;
	border: 5px solid white;
}

.wedding-special div {
	position:absolute;
	font-size:90px;
	color:#de6584;
	left: 75px;
	top: 180px;
	line-height:0;
}


.info-carla {
	float:left;
	height: 200px;
	display: block;
	border: 5px solid white;
	margin:15px 25px 25px 0;
	-ms-transform: rotate(7deg);
	-webkit-transform: rotate(7deg);
	transform: rotate(7deg);
	

}

.info-carla img {
	height: 100%;
}

/* About Me images */

.portrait {
	float:right;
	height: 200px;
	display: block;
	border: 5px solid white;
	margin:15px 25px 1px 25px;
	-ms-transform: rotate(-7deg);
	-webkit-transform: rotate(-7deg);
	transform: rotate(-7deg);
}

#j-l-having-fun {
	float: left;
	height: 250px;
	margin-bottom: 40px;
	margin-right: 60px;
}	

.portrait img {
	height: 100%;
}

.landscape {
	float:left;
	height: 200px;
	display: block;
	border: 5px solid white;
	margin:15px 25px 25px 0;
	-ms-transform: rotate(7deg);
	-webkit-transform: rotate(7deg);
	transform: rotate(7deg);	

}

.landscape img {
	height: 100%;
}

#teaching {
	margin-bottom: 20px;
	-ms-transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	transform: rotate(-5deg);	

}
/* wedding tips CSS */

#tips {
	position: absolute;
	width: 45%;
	color: #753ba8;	
	text-align: right;
	bottom: 30px;
	right: 30px;
}

.img-circle {
	border-radius: 50%;
	margin:0 30px 15px 0;
	padding-top: 100%;
	overflow:hidden; 
	width:100%; height:0;
	position:relative;
	background-color:#aaa;
	box-shadow:0 0 20px rgba(0,0,0,0.4);
}

.img-circle img {
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}

#dance-tips .row:first-child .img-circle img{
	height:auto;
}

#dance-tips .row:nth-child(2) .img-circle img{
	width:auto;
}

#dance-tips .row:last-child .img-circle img{
	right: 0;
}

/*
.img-circle img.tall {height:auto;}
.img-circle img.wide {width:auto;}
*/

/* Consultation Request CSS */

.input-wrapper {
	position: relative;
	clear:both;
}

.select-wrapper {
	position: relative;	
}

.input-wrapper .fa {
	position: absolute;
	color: white;
	left:10px;
	top: 8px;
}

.select-wrapper .fa {
	display: inline-block;
	width: 40px;
	height: 50px;
	line-height:50px;
	padding-left: 8px;
}

.input-wrapper input, .input-wrapper textarea {
	width:100%;
	padding: 4px 8px 4px 40px;
	border: 1px solid rgba(255,255,255,0.5);
	background-color:rgba(255,255,255,0.3);
	color: white;
	font-weight: 600;
	margin-bottom: 5px;
}

.input-wrapper input::placeholder, .input-wrapper textarea::placeholder {
	color:rgba(255,255,255,0.5);
}

.input-wrapper textarea {
	height:100px;
	margin-bottom:20px;
}

.select-wrapper .formlabel {
	width: 200px;
	vertical-align: bottom;
	display: inline-block;
	clear:both;
	height:50px;
	line-height:50px;
}

.custom-dropdown {
	position: absolute;
	display:inline-block;
	width: calc(100% - 270px);
	height: 32px;
	overflow: hidden;
	padding:0 8px;
	top:4px;
	right: 0;
	margin-bottom: 5px;
	margin-top: 5px;
	border: 1px solid rgba(255,255,255,0.5);
	vertical-align: bottom;
	
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	-ms-border-radius:5px;

	background: -moz-linear-gradient(top,  rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.4) 49%, rgba(255,255,255,0.1) 51%, rgba(255,255,255,0.4) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0.4) 0%,rgba(255,255,255,0.4) 49%,rgba(255,255,255,0.1) 51%,rgba(255,255,255,0.4) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(255,255,255,0.4) 0%,rgba(255,255,255,0.4) 49%,rgba(255,255,255,0.1) 51%,rgba(255,255,255,0.4) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ffffff', endColorstr='#66ffffff',GradientType=0 ); /* IE6-9 */

}

.custom-dropdown select {
	border: none;
	background: transparent;
	-webkit-appearance: none;
	width: 100%;
	position: relative;	
	margin:0;
	color: white;
	left: 5px;

}

.custom-dropdown select:focus {
	outline:none;
}

.custom-dropdown:after {
	content:"";
	position:absolute;
	height:0;
	width: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 13px solid white;
	right:10px;
	top: 9px;
	color:white;
	pointer-events: none;
}

	input[type=text], input[type=password], .select-container {
		height:35px; line-height:35px;
		border-radius:5px;
		-webkit-border-radius:5px;
		-moz-border-radius:5px;
	}
	.select-container {
		display:block;	
		background-color:#fff;
		border: 1px solid #ced4da;
		position:relative;
		overflow:hidden;
		padding: 0 0 0 0;
		vertical-align:bottom;
		height:35px; line-height:35px;
		-webkit-border-radius:5px;
		-moz-border-radius:5px;
	}
	.select-container select {
		border: none;
		background: transparent;
		font-size: 12pt;
		-webkit-appearance: none;
		width:100%;
		padding:0 10px;
		position:relative;
		font-size:1rem;
		height:35px; line-height:35px;
		position:absolute;
		left:0; top:0;
		outline:none;
	}
	.select-container:after {
		content:"";
		position:absolute;
		width:0; height:0;
		border-left:8px solid transparent;
		border-right:8px solid transparent;
		border-top:12px solid #aaa;
		right:5px; top:12px;
		margin-right:5px;
		pointer-events:none;
	}



.extra-margin {
	padding-bottom:5px;
}


#floor-size-wrapper {
	margin-top: 5px;
}

/*contact me CSS*/

.contact-contact > div {
	position: relative;
	padding-bottom: 10px;
}

.contact-contact a {
	color: #f6c2db;
	display: inline-block;
	width: calc(100% - 55px);
	text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}
.contact-contact a:hover {
	text-decoration:none;
	color:#fddeed;
	transition:0.3s;
}

.contact-contact i {
	display: inline-block;
	vertical-align: top;
	position: relative;
	top: 2px;
	float:left;
	width: 50px;

}

#contact-form {
	padding-bottom: 40px;
	padding-top: 80px;
}

#signature {
	padding-top: 20px;
	font-family:"Shameless", cursive;
	font-size: 56px;
	line-height: 60px;
	text-indent: -30px;
	padding-left: 30px;
}


#maps {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:flex-start;
	padding:0 30px 30px 30px;
	background-color:rgba(255,255,255,0.1);
	border-top:1px solid rgba(255,255,255,0.25);
}
#maps h5 {
	margin: 0;
	margin-bottom:10px;
}
.map-container {
	width:calc(50% - 15px);
	text-align:center;
	margin-top:30px;
}
.map-container iframe {
	width:100%;
	border:none;
	height:450px;
}

/* footer CSS */

footer {
	padding:70px 15px;
	margin: 0 0 -30px 0;
	position: relative;
	bottom: 0;
	background-color:#f0e6ef;	
}

#footer2 {
	display:flex;
	flex-direction:column;
	align-items:center;
	width:100%;
	padding:30px;
	background: #a256f2;
	background: -moz-linear-gradient(top,  #a256f2 0%, #35154f 100%);
	background: -webkit-linear-gradient(top,  #a256f2 0%,#35154f 100%);
	background: linear-gradient(to bottom,  #a256f2 0%,#35154f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a256f2', endColorstr='#35154f',GradientType=0 );
}
#footer-logo {
	width:200px;
}
#footer-contact {padding:15px 0;}
#footer-contact a {
	white-space:nowrap;
	color:pink;
}
#footer-contact a:hover {
	color:#fff;
	text-decoration:none;
}
#footer-links a {
	font-size:18pt;
	padding:0 10px;
	color:rgba(255,255,255,0.5);
	transition:0.25s ease-in-out;
}
#footer-links a:hover {
	color:#fff;
	text-shadow:0 0 15px pink;
}

.lace {
	position: absolute;
	right: 0;
	top: 0;
	width: 60vw;
}

footer h4 {
	font-family:"Angels", cursive;
	color: #00649d;
	text-shadow:2px 2px 2px rgba(117,59,168,0.25);
	font-size: 42px;
	text-shadow:2px 2px 2px rgba(117,59,168,0.25);
}

#footer-address {
	color: #9c89b8;
	font-size: 22px;
}

footer .footer-contact a {
	font-size: 21px;
	color: #753ba8;
}

footer .footer-contact  {
	padding: 8px;
	white-space: nowrap;
}

.modal-content {
	border-radius:.4rem;
	-webkit-border-radius:.5rem;
	-moz-border-radius:.5rem;
}
.modal div {color:#666; position:relative;}
.modal-header {padding:10px; position:relative;}
.modal-header h5, .modal-header h6 {
	width:100%;
	text-align:center;
	color:#fff;
}
.modal-header h6 {padding:0;}
.modal-header .close {
	color:rgba(255,255,255,0.5);
	text-shadow:none;
	opacity:1;
	position:absolute;
	right:15px; top:6px;
	font-size:1.75em;
}
.modal-header button:hover {color:#fff;}
.modal-body {background-color:#eee;}
.modal-body > img {
	width:100%; height:100%;
	position:absolute;
	left:0; top:0;
	opacity:0.25;
	object-fit:cover;
}
.modal input {padding:3px 8px;}
.modal .close {
	outline:none;
	highlight:none;
}

/* bootstrap fix */
.btn-light {color:#666; border:1px solid #ccc;}

#modal-forgot p {line-height:1.2rem;}
#modal-login .form-group, #modal-forgot .form-group {margin-bottom:0; padding-bottom:5px;}
#modal-login label, #modal-forgot label {width:160px;}
#modal-login input, #modal-forgot input {
	width:calc(100% - 160px);
	border:1px solid #ccc;
}
#login-message, #login-extras {
	margin:5px 0 0 160px;
}
#modal-login a {color:#007bff;}
#modal-login .btn-primary {width:140px; margin-right:10px;}

#mf-step-1-submit {
	transition:0.2s ease-in-out;
	width:calc(100% - 266px);
	position:relative;
}
#mf-step-1-submit i.fas {
	display:inline-block;
	color:#fff;
	opacity:1;
	position:absolute;
	right:17.5px; top:10px;
}
#mf-step-1-submit:not(.disabled) i.fas {opacity:0;}
#mf-step1-submit.disabled {
	opacity:0.5;
	pointer-events:none;
}

#modal-message .modal-body, #modal-message .modal-footer {
	text-align:center;
	background-color:#eee;
	border:none;
}
#modal-message .modal-body {
	padding:25px 15px 15px 15px;
	border-radius:.3em .3em 0 0;
}
#modal-message .modal-footer {
	padding:0 0 30px 0;
	display:flex;
	align-items:center; justify-content:center;
}


/* MEDIA QUERIES */

@media only screen and (max-width:1200px){
	#logo, #logo-shadow {
		height:calc(100% - 90px);
		top: 45px;
	}
	
	.container-fluid {
		padding-left: 30px;
		padding-right: 30px;
	}
	
	.thumbnail {
		height: 620px;
		}
		
	#jumbotron-consultation {
		background-position-y: -180px;
	}
	
}


@media only screen and (max-width:960px){
	.jumbotron-container {
		width:100%;
		left:0;	
	}
	
	#logo, #logo-shadow {
		position:absolute;
		left:calc(50% - 90px);
	}
	
	#dancers {
		position: absolute;
		left:-60px;
	}
	
	.thumbnail {
		height: 680px;
		margin-bottom: 20px;
	}


	#jumbotron-consultation {
		background-position-y: -130px;
	}
	
}

@media (max-width:767px) {
	.navbar-toggler {display:flex;}
	#jumbotron-about img{
		margin: auto;
		top: -9999px;
		bottom: -9999px;	
		left: -9999px;
		right: -9999px;
		position: absolute;
	}
	.container-fluid {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	#example-navbar-collapse {
		background-color: rgba(0,0,0,0.8);
		margin: 50px -15px 10px -15px;
		padding: 10px 15px;
	}
	
	#example-navbar-collapse ul {
		margin:0;
		padding:0;
	}
	
	#example-navbar-collapse ul li a {
		padding: 5px 0;
		display: block;
	}
	
	#logo, #logo-shadow {
		width: 60%;
		height:auto;
		right:15px;
		left: auto;
	}
	
	#logo-shadow {
		display:block;
	}
	
	#dancers {
		right: 50%;
		left: auto;
		height: calc(100% - 15px);
	}
	.thumbnail {
		height: 600px;
	}
	footer {
		padding-top: 120px;
	}
	#footer2 {
		flex-direction:column;
	}
	#footer2 .logo {
		margin:0 auto 45px auto;
		width:100%;
		max-width:400px;
	}
	#footer2 .footer-links {
		text-align:center;
		width:100%;
		margin:0;
	}
	
	.lace {
		width: 80vw;
	}
	
	.hidden-sm {display:none;}
		
	#jumbotron-consultation {
		background-position-y: -50px;
	}

	#jumbotron-tips {
		background-size:auto 100%;
	}
	#maps {flex-direction:column;}
	.map-container {width:100%;}

}

@media only screen and (max-width: 600px) {		
	#jumbotron-home {
		background-size:auto 100%;
	}
	#jumbotron-consultation {
		background-position-y: 0;
	}
	#jumbotron-tips {
		background-position:-100px 0;
	}
	#tips {
		width:50%;
		font-size:1.75rem;
		top:30px;
	}
	.hidden-xs {
		display:none;
		
	}
	
	.info-carla {
	height: 150px;
	}

	
	.landscape {
	height: 150px;

	}
}

@media only screen and (max-width: 450px) {

	
	#jumbotron-home {
		background-size:auto 150%;
	}
	#jumbotron-consultation img{
		width: auto;
		height: 100%;
	}
	#logo, #logo-shadow {
		top:auto;
		bottom: 30px;
		width: 70%;
		z-index: 3;
	}
	
	#dancers {
		transform: rotate(-5deg) scale(1.3);
	}
	
	#jumbotron-about img{
		width: auto !important;
		height: 100% !important;
		margin: auto !important;
		top: -9999px !important;
		bottom: -9999px !important;	
		left: -9999px;
		right: -9999px;
		position: absolute;
	}
	
	#jumbotron-tips {
		background-position:-120px 0;
	}
	
	#tips {
		font-size:1.5rem;
		right:auto;
		left:48%;
		width:calc(55% - 30px);
		padding-left:0;
		top:30px;
	}
	
	#jumbotron-contact img{
	width:	auto;
	height: 100%;
	}

	.wedding-special {
		float:none;
	}
	
	.info-carla {
		height: 125px;
	}
	
	.landscape {
		height: 125px;

	}
	
	#j-l-having-fun {
		float: none;
		height: 250px;
		margin-bottom: 40px;
		margin-left: 25%;
	}	

	.select-wrapper .formlabel {
		width: 140px;
	}
	
	.custom-dropdown {
		width: calc(100% - 210px);
		padding:0;
	}
	.custom-dropdown:after {
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 12px solid white;
		right:8px;
		top: 10px;
	}
}
