
/*
    Grid
*/

.full-video-top {
	width: 100%;
	height: 100%;
}
.full-video-top video {
	position: absolute;
	right: 0;
	bottom: 0;
	top:0;
	right:0;
	width: 100%;
	height: 100%;
	background-size: 100% 100%;
  	background-image:;
  	background-position: center center;
  	background-size: contain;
   	object-fit: cover;
   	z-index:1;
}

.main {
	position: relative;
	z-index: 1;
}
.bg-top {
	background-color: #726647;
}
.c9 {
}
.cc {
}
.bg-wrap {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 0;	
}
.bg-all {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	z-index: 0;
	-o-transition:.4s;
	-ms-transition:.4s;
	-moz-transition:.4s;
	-webkit-transition:.4s;
	transition:.4s;
}
.bg-grey {
	background-color: #f4f2ee;
}
.bg-green {
	background-color: #726647;
}
.bg-white {
	background-color: #000;
}
.main-off {
	opacity: 0;
	-o-transition:.4s;
	-ms-transition:.4s;
	-moz-transition:.4s;
	-webkit-transition:.4s;
	transition:.4s;
}
.bg-all.bg-white {
	-o-transition:.4s;
	-ms-transition:.4s;
	-moz-transition:.4s;
	-webkit-transition:.4s;
	transition:.4s;
}
.section {
	position: relative;
	width: 100%;
	height: 100%;
}
.hero {
	width: 100%;
	height: 100vh;
}
.object-fit img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	overflow: hidden;
}
.line-wrap {
	position: absolute;
	width: 2px;
	height: 100px;
	z-index: 3;
	left: 50%;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.2);
}
.line-wrap.line-green {
	background-color: rgba(104, 112, 72, 0.2);
}
.line-vert-home {
	position: absolute;
	width: 2px;
	height: 0;
	z-index: 3;
	bottom: 0;
	background-color: #fff;
	/*animation-name: goLine;
	animation-duration: 2.5s;*/
	-webkit-animation: goLine linear 2s 3000 forwards;
    animation: goLine linear 2s 3000 forwards;
}
.line-vert-home-under {
	position: absolute;
	width: 2px;
	height: 100px;
	z-index: 3;
	left: 50%;
	bottom: 0;
	opacity: 0.3;
	background-color: #fff;
}
.line-green .line-vert-home {
	background-color: #726647;
}
.button-home-end a {
	font-family:'Mabry Pro', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-weight:500;
	color: #fff;
	text-transform: uppercase;
	font-size: 13px;
	line-height: 32px;
	letter-spacing: 3px;
	display: inline-block;
	border: 1px solid #726647;
	padding-left: 20px;
	padding-right: 20px;
	background-color: #726647;
}
.button-home-end a:hover {
	color: #726647;
	border: 1px solid #726647;
	padding-left: 20px;
	padding-right: 20px;
	background-color: transparent;
}


@-webkit-keyframes goLine {
0% {
	height: 10%;
	bottom: 90%;
}
35% {
	height: 100%;
	bottom: 0;
}
50% {
	height: 100%;
	bottom: 0;
}
85% {
	height: 0;
	bottom: 0;
}
100% {
	height: 0;
}
}

@keyframes goLine {
0% {
	height: 10%;
	bottom: 90%;
}
35% {
	height: 100%;
	bottom: 0;
}
50% {
	height: 100%;
	bottom: 0;
}
85% {
	height: 0;
	bottom: 0;
}
100% {
	height: 0;
}
}

.content-mid {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	z-index: 3;
	text-align: center;
}
.content-form {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 96%;
	z-index: 3;
	text-align: center;
}
.content-form-main {
	background-color: #f4f2ee;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}
.content-form-main.form-inner {
	background-color: #fff;
}
.form-max {
	max-width: 770px;
	margin: 0 auto;
	padding-top: 40px;
	padding-bottom: 30px;
}
.content-form-padd {
	padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 30px;
	padding-right: 30px;
}
.fullscreen-above-1023 .content-form-padd {
	padding-bottom: 20px;
}
.block {
	font-size: 0;
}
.ib {
	display: inline-block;
}
.vt {
	vertical-align: top;
}
.vm {
	vertical-align: middle;
}
.vb {
	vertical-align: bottom;
}
.img-square {
	width: 70%;
	max-width: 530px;
	margin: 0 auto;
	z-index: 1;
	position: relative;
}
.img-squarer {
	width: 70%;
	max-width: 530px;
	margin: 0 auto;
	z-index: 1;
	position: relative;
}
.img-square,
.img-squarer {
	padding-top: 7%;
	padding-bottom: 35px;
}
.impression {
	font-weight: 300;
	letter-spacing: 0.2px;
	float: left;
	margin-top: -26px;
	z-index: 2;
	position: relative;
	color: #fff;
	font-size: 9px;
	padding-left: 18px;
}
.vid {
}
.padd-sides {
	padding-left: 7%;
	padding-right: 7%;
}
.text-mid {
	text-align: center;
}
.credit,
.backtotop,
.topspring-footer {
	position: absolute;
	color: #fff;
}
.topspring-footer img {
	width: 120px;
	padding-bottom: 30px;
}
.credit {
	font-size: 10px;
	font-weight: normal;
	left: 50px;
	bottom: 50px;
}
.backtotop {
	font-size: 10px;
	font-weight: normal;
	right: 50px;
	bottom: 50px;
}
.backtotop a,
.topspring-footer a {
	color: #fff;
}
.topspring-footer {
	font-size: 10px;
	font-weight: normal;
	left: 180px;
	right: 180px;
	bottom: 50px;
	text-align: center;
}
.topspring-footer p {
	font-size: 8px;
	line-height: 13px;
	letter-spacing: 1px;
	margin-bottom: 0;
}
.vid-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	text-align: center;
	width: 80%;
	max-width: 980px;
}
.full-video {
	width: 100%;
	height: 100%;
}
.full-video video {
	position: absolute;
	right: 0;
	bottom: 0;
	top:0;
	right:0;
	width: 100%;
	height: 100%;
	background-size: 100% 100%;
  	background-image:;
  	background-position: center center;
  	background-size: contain;
   	object-fit: cover;
   	z-index:1;
}
.zoom-video video {
	position: absolute;
	top:20%;
	left:25%;
	width: 50%;
	height: 60%;
	background-size: 100% 100%;
  	background-image:;
  	background-position: center center;
  	background-size: contain;
   	object-fit: cover;
   	z-index:1;
}
.zoom-video2 {
	position: absolute;
	width: 50%;
	height: 50%;
	top: 22%;
	left: 25%;
	-o-transition:2s;
	-ms-transition:2s;
	-moz-transition:2s;
	-webkit-transition:2s;
	transition:2s;
}
.zoom-video2 video {
	top:0;
	left:0;
	width: 100%;
	height: 99.9%;
	background-size: 100% 100%;
  	background-image:;
  	background-position: center center;
  	background-size: contain;
   	object-fit: cover;
   	z-index:1;
}
.video-zoomed {
	width: 100%;
	left: 0;
	top: 0;
	height: 100%!important;
	/*width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	-o-transition:2s;
	-ms-transition:2s;
	-moz-transition:2s;
	-webkit-transition:2s;
	transition:2s;*/
}
.box-video video {
	position: absolute;
	top:22%;
	left:22%;
	width: 56%;
	height: 56%;
	background-size: 100% 100%;
	background-image:;
	background-position: center center;
	background-size: contain;
	object-fit: cover;
	z-index:1;
	-o-transition:2.0s;
	-ms-transition:2.0s;
	-moz-transition:2.0s;
	-webkit-transition:2.0s;
	transition:2.0s;
}
.box-video-full video {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-size: 100% 100%;
	background-image:;
	background-position: center center;
	background-size: contain;
	object-fit: cover;
	z-index:1;
}


.but-vid {
	width: 60%;
	height: 55vh;
	top: 22%;
	left: 20%;
	position: absolute;
	opacity: 0;
	cursor: pointer;
	z-index: 3;
}
.but-vid-inner {
}
.but-vid-close {
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50px;
	right: 50px;
	cursor: pointer;
	z-index: 3;
	background-image: url(../images/icon-close.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size:40px;
	-moz-background-size:40px;
}
.video-hidden {
	opacity: 0;
	-o-transition:1.5s;
	-ms-transition:1.5s;
	-moz-transition:1.5s;
	-webkit-transition:1.5s;
	transition:1.5s;
	position: relative;
	z-index: 0;
}
.video-display {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.vid-off {
	opacity: 0.5;
	height: 0;
}
.vid-on {
	opacity: 1;
	height: 50px;
}
.video-animate {
	-webkit-animation: videoGrow linear 2s 1 forwards;
    animation: videoGrow linear 2s 1 forwards;
	animation-delay: 3s;
	-webkit-animation-delay: 3s;
}
.video-backwards {
	-webkit-animation: videoBack linear 2s 1 forwards;
    animation: videoBack linear 2s 1 forwards;
	animation-delay: 0s;
	-webkit-animation-delay: 0s;
}

.logo-intro {
	width: 60%;
	max-width: 350px;
	margin: 0 auto;
	/*padding-top: 8%;*/
}
.o,
.d,
.e {
	position: relative;
}
.d {
	margin-top: -55%;
}
.e {
	margin-top: -26%;
}
.agents {
	max-width: 770px;
	margin: 0 auto;
	font-size: 0;
}
.agent {
	font-family:'TAN - PEARL', Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", "serif";
	font-size: 14px;
	line-height: 24px;
	color: #726647;
	width: 33.3333%;
}
.agent span {
	font-family:'Mabry Pro', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-weight:400;
	font-size: 15px;
	letter-spacing: 1.8px;
}
.agent span a,
.agent a {
	color: #726647;
}
.city img {
	width: 134px;
}
.city-mob {
	display: none;
}
.disclaimer-padd {
	padding-top: 250px;
	padding-bottom: 50px;
	padding-left: 5%;
	padding-right: 5%;
}
.disclaimer-block {
	padding-bottom: 70px;
	margin: 0 auto;
	max-width: 980px;
}
.disclaimer-cols {
	font-size: 0;
}
.disclaimer-left {
	width: 49%;
	display: inline-block;
	vertical-align: top;
}
.disclaimer-right {
	width: 49%;
	margin-left: 2%;
	display: inline-block;
	vertical-align: top;
}

.table {
	width: 95%;
	height: 100vh;
	position: relative;
	display: table;
	margin: 0 auto;
}
.table-inner {
	width: 100%;
	height: 92%;
	padding-top: 8%;
	display: table-cell;
	vertical-align: middle;
}

@media screen and (min-width: 1200px) {

.table-inner {
	height: 96%;
	padding-top: 4%;
}

}


/* End main CSS ............................................ */

@media screen and (min-width: 2500px) {

.img-square {
	width: 70%;
	/*max-width: 645px;*/
	max-width: 730px;
}
.img-squarer {
	width: 70%;
	/*max-width: 530px;*/
	max-width: 730px;
}

}


@media screen and (min-width: 1850px) {

.logo-intro {
	max-width: 400px;
}
.img-square {
	max-width: 640px;
}
.img-squarer {
	max-width: 600px;
}

}

@media screen and (min-width: 1024px) and (max-width: 1440px) {

.disclaimer-padd {
	padding-top: 200px;
}
.content-form-padd {
	padding-top: 40px;
	padding-bottom: 40px;
	padding-left: 30px;
	padding-right: 30px;
}
.zoom-video video {
	top:20%;
	left:15%;
	width: 70%;
	height: 60%;
}
.credit {
	left: 30px;
	bottom: 30px;
}
.backtotop {
	right: 30px;
	bottom: 30px;
}
.topspring-footer {
	bottom: 30px;
}
.but-vid-close {
	top: 30px;
	right: 30px;
}
.img-square,
.img-squarer {
	padding-bottom: 30px;
}
.img-square,
.img-squarer {
	/*max-width: 500px;*/
}

}

@media screen and (max-width: 1440px) {

.logo-intro {
	max-width: 300px;
}

}


@media screen and (min-width: 1024px) and (max-width: 1024px) {

.img-square,
.img-squarer {
	width: 37%;
	padding-bottom: 20px;
}
.content-form-padd {
	padding-top: 25px;
	padding-bottom: 20px;
}
.form-padd h4 {
	padding-top: 20px;
	padding-bottom: 0;
}
.form-max {
	padding-top: 20px;
	padding-bottom: 20px;
}
.topspring-footer img {
	width: 120px;
	padding-bottom: 10px;
}

}

@media screen and (max-width: 1023px) {

.table {
	height: auto;
	display: table;
	padding-top: 110px;
	padding-bottom: 60px;
}
.table-inner {
	width: 50%;
	height: 100%;
	display: table-cell;
	vertical-align: middle;
}

.topspring-footer {
	/*left: 0;
	right: 0;
	bottom: auto;
	position: relative;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 25px;*/
	bottom: 30px;
	left: 0;
	right: 0;
}
.topspring-footer img {
	padding-bottom: 10px;
}
.credit {
	left: 30px;
	bottom: 60px;
}
.backtotop {
	right: 30px;
	bottom: 60px;
}
.but-vid-close {
	top: 30px;
	right: 20px;
}
.impression {
	margin-top: -22px;
	padding-left: 14px;
}
.disclaimer-padd {
	padding-top: 180px;
}
.disclaimer-left {
	width: 100%;
	display: block;
}
.disclaimer-right {
	width: 100%;
	margin-left: 0;
}


}

@media screen and (min-width: 768px) and (max-width: 1023px) {

.content-form-padd {
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 30px;
	padding-right: 30px;
}
.zoom-video video {
	top:20%;
	left:10%;
	width: 80%;
	height: 60%;
}


}

@media screen and (max-width: 767px) {

.text-mid {
	padding-left: 15px;
	padding-right: 15px;
}
.content-form-padd {
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 10px;
	padding-right: 10px;
}
.form-max {
	padding-top: 20px;
	padding-bottom: 30px;
	padding-left: 10px;
	padding-right: 10px;
}
.agent {
	width: 50%;
}
.agent-padd {
	padding-bottom: 4px;
}
.city {
	height: 50px;
}
.city-desk {
	display: none;
}
.city-mob {
	display: block;
}
.zoom-video video {
	top:25%;
	left:10%;
	width: 80%;
	height: 50%;
}
.disclaimer-padd {
	padding-top: 160px;
}

}

@media screen and (max-width: 767px) {

.hero.to-auto {
	height: auto;
	min-height: calc(100vh - 70px);
	padding-top: 70px;
}
.hero.to-auto-padd {
	height: auto;
	min-height: calc(100vh - 140px);
	padding-top: 140px;
}
.img-square,
.img-squarer {
	padding-top: 80px;
	padding-bottom: 30px;
}
.content-form {
	position: relative;
	top: auto;
	left: auto;
	transform: translate(0, 0);
	width: 96%;
	margin-left: 2%;
}
.credit {
	left: 0;
	bottom: auto;
	position: relative;
	display: block;
	padding-top: 20px;
	padding-bottom: 10px;
	text-align: center;
}
.backtotop {
	right: 0;
	bottom: auto;
	position: relative;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.topspring-footer {
	/*left: 0;
	right: 0;
	bottom: auto;
	position: relative;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 25px;*/
	position: relative;
	bottom: auto;
	left: 0;
	right: 0;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 30px;
}
.topspring-footer p {
	font-size: 7px;
	line-height: 17px;
	letter-spacing: 0.8px;
}
.topspring-footer p span {
	display: block;
}
.credit-padd {
	padding-bottom: 40px;
}

}

@media screen and (min-width: 480px) and (max-width: 767px) {

.box-video-full video {
	/*top:20%;
	left:0;
	width: 100%;
	height: 60%;*/
}

}

@media screen and (max-width: 479px) {

.table {
	padding-top: 90px;
	padding-bottom: 20px;
}
.hero.to-auto-padd {
	min-height: calc(100vh - 100px);
	padding-top: 100px;
}
.logo-intro {
	width: 60%;
}
.but-vid-close {
	top: 30px;
	right: 20px;
}
/*
.box-video video {
	top:22%;
	left:0;
	width: 100%;
	height: 56%;
}
.box-video-full video {
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}*/
.box-video video,
.box-video-full video {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-size: 100% 100%;
	background-image:;
	background-position: center center;
	background-size: contain;
	object-fit: cover;
	z-index:1;
}

.img-square,
.img-squarer {
	width: 76%;
	padding-bottom: 25px;
}
.text-mid {
	padding-left: 2px;
	padding-right: 2px;
}
.form-max {
	padding-top: 20px;
	padding-bottom: 20px;
}
.agent {
	font-size: 13px;
	line-height: 23px;
}
.agent span {
	font-size: 14px;
	letter-spacing: 1.6px;
}
.agent-padd {
	padding-bottom: 0;
}
.disclaimer-padd {
	padding-top: 120px;
}
.line-wrap {
	height: 30px;
}

}