/* = Presets Updated
-----------------------------------------------*/


	* {
	  -webkit-font-smoothing: antialiased;
	  text-rendering: optimizeLegibility; 
	}


/* = Extra Sizing
----------------------------------------------- */


	/* -- Extra Small Screen Size ---------- */

		@media only screen and (max-width: 479px) {
			.show-xxs{
				display:block !important;
			}

			.hidden-xxs{
				display:none !important;
			}

			.col-xxs-3{
				width:25% !important;
				display:block !important;
			}

			.col-xxs-6{
				width:50% !important;
				display:block !important;
			}

			.col-xxs-9{
				width:75% !important;
				clear:both !important;
				display:block !important;
			}

			.col-xxs-12{
				width:100% !important;
				clear:both !important;
				display:block !important;
			}
		}


/* = Extra Pulls & Clears
----------------------------------------------- */


	/* -- Pull Per Screen Size ---------- */

		@media only screen and (max-width: 767px) {
			.pull-xs-left {
				float: left;
			}
			.pull-xs-right {
				float: right;
			}
			.clear-xs{
				clear:both;
			}
		}

		@media only screen and (min-width: 768px) and (max-width: 991px) {
			.pull-sm-left {
				float: left;
			}
			.pull-sm-right {
				float: right;
			}
			.clear-sm{
				clear:both;
			}
		}

		@media only screen and (min-width: 992px) and (max-width: 1199px) {
			.pull-md-left {
				float: left;
			}
			.pull-md-right {
				float: right;
			}
			.clear-md{
				clear:both;
			}
		}

		@media only screen and (min-width: 1200px) {
			.pull-lg-left {
				float: left;
			}
			.pull-lg-right {
				float: right;
			}
			.clear-lg{
				clear:both;
			}
		}


/* = HTML & Body
-----------------------------------------------*/


	html, 
	body {
		background:#FFFFFF;

		width:100%;
		min-width:320px;
		height:auto;
		min-height:100vh;

		color:#555555;
		font-family:'Open Sans', Arial, sans-serif;
		font-size:16px;
		font-weight:normal;
		font-weight:400;
		line-height:1.333333;

		margin:0px auto;
		padding:0px;
		border:0px none;

		overflow-x: hidden;

		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	body {
		background:url('../img/background.jpg') center center no-repeat;
		position: relative;
	}

	body.js-stopScrolling{
	  height: 100%;
	  overflow: hidden;
	}
	

/* = Standards
-----------------------------------------------*/


	/* -- Typography ---------- */


		/* Titles */
		h1,
		h2,
		h3,
		h4, 
		h5, 
		h6{
			color:inherit;
			font-family:'TrajanProBold', Arial, sans-serif;
			font-size:2.22222em;
			font-style:normal;
			font-weight:normal;
			line-height:1.5;

			margin:24px auto;
			padding:0px;
			border:0px none;

			-webkit-font-smoothing: antialiased;
  			-moz-osx-font-smoothing: grayscale;
		}

		h4, 
		h5, 
		h6{
			font-family:'TrajanProRegular', Arial, sans-serif;
		}

		h1{
			font-size:1.5em;
		}

		h2{
			font-size:1.4em;
		}

		h3{
			font-size:1.3em
		}

		h4{
			font-size:1.2em;
		}

		h5{
			font-size:1.1em;
		}

		h6{
			font-size:1.0em;
		}



		/* Paragraph */
		p{
			color:inherit;
			font-family:inherit;
			font-size:0.8em;
			font-style:normal;
			font-weight:normal;
			font-weight:400;
			line-height:inherit;	

			margin:24px auto;
			padding:0px;

			-webkit-font-smoothing: antialiased;
  			-moz-osx-font-smoothing: grayscale;
		}


	/* -- Lists ---------- */

		ul,
		ol{
			font-size:inherit;
			line-height:inherit;

			list-style:disc;

			margin:0px auto;
			padding:0px 0px 0px 26px;
			border:0px none;
		}

		ol{
			list-style:decimal;	
		}

			ul li,
			ol li{
				color:inherit;
				font-family:inherit;
				font-size:inherit;
				font-style:normal;
				font-weight:normal;
				line-height:inherit;	

				margin:0px auto;	
				padding:4px 0px;
			}


	/* -- Emphasis ---------- */

		strong, b{
			font-family:'Open Sans', Arial, sans-serif;
			font-style:normal;
			font-weight:bold;
			font-weight:700;
		}

		i, em{
			font-family:'Open Sans', Arial, sans-serif;
			font-style:italic;
			font-weight:normal;
			font-weight:400;
		}

		strong i, strong em,
		i strong, em strong {
			font-family:'Open Sans', Arial, sans-serif;
			font-style:italic;
			font-weight:bold;
			font-weight:700;
		}


		/* Titles */
		strong h1, b h1, h1 strong, h1 b,
		strong h2, b h2, h2 strong, h2 b,
		strong h3, b h3, h3 strong, h3 b,
		strong h4, b h4, h4 strong, h4 b,
		strong h5, b h5, h5 strong, h5 b,
		strong h6, b h6, h6 strong, h6 b{
			font-family:'TrajanProBold', Arial, sans-serif;
			font-style:normal;
			font-weight:bold;
		}

		em h1, i h1, h1 em, h1 i,
		em h2, i h2, h2 em, h2 i,
		em h3, i h3, h3 em, h3 i,
		em h4, i h4, h4 em, h4 i,
		em h5, i h5, h5 em, h5 i,
		em h6, i h6, h6 em, h6 i{
			font-family:'TrajanProRegular', Arial, sans-serif;
			font-style:italic;
			font-weight:normal;
		}

		strong em h1, strong i h1, em strong h1, i strong h1, b em h1, b i h1, em b h1, i b h1,
		strong em h2, strong i h2, em strong h2, i strong h2, b em h2, b i h2, em b h2, i b h2,
		strong em h3, strong i h3, em strong h3, i strong h3, b em h3, b i h3, em b h3, i b h3,
		strong em h4, strong i h4, em strong h4, i strong h4, b em h4, b i h4, em b h4, i b h4,
		strong em h5, strong i h5, em strong h5, i strong h5, b em h5, b i h5, em b h5, i b h5,
		strong em h6, strong i h6, em strong h6, i strong h6, b em h6, b i h6, em b h6, i b h6{
			font-family:'TrajanProBold', Arial, sans-serif;
			font-style:italic;
			font-weight:bold;
		}


	/* -- Links ---------- */

		a,
		a:active,
		a:focus,
		a:visited {
			color:inherit;
			font-family:inherit;
			outline:none !important;
			text-decoration:none;

			opacity:1;

			-webkit-transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1);
			-moz-transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1);
			-o-transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1);
			transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1); 
		}

			a:hover {
				color:inherit;
				font-family:inherit;
				outline:none !important;
				text-decoration:none;

				opacity:0.5;

				-webkit-transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1);
				-moz-transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1);
				-o-transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1);
				transition:opacity 150ms cubic-bezier(0.42, 0, 0.58, 1); 
			}


	/* -- Form ---------- */


		/* Label */
		label {
			width:100%;
			height:auto;

			color:inherit;
			font-family:inherit;
			font-weight:normal;
			font-size:inherit;
			font-style:normal;
			line-height:inherit;

			margin:0px auto;
			padding:0px;
		}


		/* Fields */
		input[type="text"],
		input[type="email"],
		input[type="tel"],
		input[type="file"],
		input[type="number"],
		textarea{
			background:#FFFFFF;

			width:100%;
			height:35px;

			display:block;
			position:relative;
			overflow:hidden;

			color:#777777;
			font-size:1em;

			margin:5px auto 15px;
			padding:0px 15px;
			border:2px solid #FFFFFF;

			outline:none;
		}

		textarea{
			height:150px;
			min-height:150px;
			padding:6px 15px;	
			resize:none;
		}

			input[type="text"]:hover,
			input[type="email"]:hover,
			input[type="tel"]:hover,
			input[type="file"]:hover,
			input[type="number"]:hover,
			textarea:hover{
				background:#EEEEEE;
				color:#777777;
				border:2px solid #EEEEEE;
			}

			input[type="text"]:focus,
			input[type="email"]:focus,
			input[type="tel"]:focus,
			input[type="file"]:focus,
			input[type="number"]:focus,
			textarea:focus{
				background:#FFFFFF;
				color:#777777;
				border:2px solid #FFFFFF;
			}

			input[type="text"]:focus:hover,
			input[type="email"]:focus:hover,
			input[type="tel"]:focus:hover,
			input[type="file"]:focus:hover,
			input[type="number"]:focus:hover,
			textarea:focus:hover{
				background:#FFFFFF;
				color:#777777;
				border:2px solid #FFFFFF;
				outline:none;
			}


/* = Vimeo Video
----------------------------------------------- */

	.videoWrapper {
		position: relative;
		padding-bottom: 56.25%; /* 16:9 */
		padding-top: 25px;
		height: 0;
	}

		.videoWrapper iframe {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

/* = Scrollbars
----------------------------------------------- */

	/* Horizonal */
	#mCSB_1_scrollbar_horizontal{
		background:#EEEEEE;
		height:6px;
		margin:0px;
	}

		#mCSB_1_scrollbar_horizontal .mCSB_draggerRail{
			background:#EEEEEE;
			height:6px;
			margin:0px;
		}

		#mCSB_1_scrollbar_horizontal .mCSB_dragger{ 
			background:#999999;
			width:100px;
			height:6px;
		}

			#mCSB_1_scrollbar_horizontal .mCSB_dragger_bar{
				background:#999999;
				height:6px;
				margin:0px;
			}


	/* Vertical */
	#mCSB_1_scrollbar_vertical{
		background:#EEEEEE;
		width:6px;
		margin:0px;
	}

		#mCSB_1_scrollbar_vertical .mCSB_draggerRail{
			background:#EEEEEE;
			width:6px;
			margin:0px;
		}

		#mCSB_1_scrollbar_vertical .mCSB_dragger{ 
			background:#999999;
			height:100px;
			width:6px;
		}

			#mCSB_1_scrollbar_vertical .mCSB_dragger_bar{
				background:#999999;
				width:6px;
				margin:0px;
			}



/* = 1.2 additions
-----------------------------------------------*/

	/* Skip link (Bootstrap 3.1 has .sr-only but not .sr-only-focusable) */
	.sr-only-focusable:active,
	.sr-only-focusable:focus{
		background:#FFFFFF;
		width:auto;
		height:auto;
		position:fixed;
		top:10px;
		left:10px;
		z-index:10000;
		margin:0;
		padding:10px 15px;
		overflow:visible;
		clip:auto;
		border:1px solid #CCCCCC;
	}

	/* Keyboard focus */
	a:focus-visible,
	button:focus-visible{
		outline:2px solid #555555;
		outline-offset:2px;
	}

	/* Square thumbnails: real <img> + object-fit (replaces thumbnail.png spacer) */
	.content__gallery-thumbnail a img,
	.weddings__gallery-thumbnail img,
	.weddings__content-image img{
		width:100%;
		height:auto;
		aspect-ratio:1 / 1;
		object-fit:cover;
	}

	/* Logo srcset: keep 1x display size */
	.header__logo img,
	.footer__logo img,
	.weddings__header__logo img{
		max-width:100%;
		height:auto;
	}

	/* Vimeo click-to-play facade */
	.er-video{
		background:#000000;
		width:100%;
		height:100%;
		display:block;
		position:relative;
		overflow:hidden;
	}

	.videoWrapper .er-video{
		position:absolute;
		top:0;
		left:0;
	}

	.content__gallery-container .er-video{
		width:708px;
		height:408px;
		margin-left:25px;
	}

	.content__gallery-container li:nth-child(1) .er-video{
		margin-left:0px;
	}

		.er-video iframe{
			width:100%;
			height:100%;
			display:block;
			border:0;
			margin:0;
		}

		.er-video__play{
			background:transparent;
			width:100%;
			height:100%;
			display:block;
			position:relative;
			margin:0;
			padding:0;
			border:0;
			cursor:pointer;
		}

			.er-video__play img{
				width:100%;
				height:100%;
				display:block;
				object-fit:cover;
				opacity:0.9;
				transition:opacity 150ms ease-in-out;
			}

			.er-video__play:hover img,
			.er-video__play:focus-visible img{
				opacity:1;
			}

			.er-video__icon{
				background:rgba(255, 255, 255, 0.85);
				width:72px;
				height:72px;
				position:absolute;
				top:50%;
				left:50%;
				margin:-36px 0 0 -36px;
				border-radius:50%;
				transition:transform 150ms ease-in-out;
			}

			.er-video__icon:after{
				content:'';
				position:absolute;
				top:50%;
				left:50%;
				margin:-12px 0 0 -7px;
				border-style:solid;
				border-width:12px 0 12px 20px;
				border-color:transparent transparent transparent #555555;
			}

			.er-video__play:hover .er-video__icon,
			.er-video__play:focus-visible .er-video__icon{
				transform:scale(1.1);
			}
