/************************************
COMMON
************************************/

html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
}

.container {
	padding: 2em 0;
}

.container > h2 {
	padding-bottom: 1em;
}

.banner {
	padding: 5.4em 0 0 !important;
}

.banner > img {
	width: 100%;
	height: 350px;
}

.pagedown {
	position: absolute;
	bottom: 10px;
	right: 10px;
	font-size: 20px !important;
	color: white;

	transition: color 0.3s ease-in-out 0s;
	-webkit-transition: color 0.3s ease-in-out 0s;
	-moz-transition: color 0.3s ease-in-out 0s;
	-o-transition: color 0.3s ease-in-out 0s;
}

a {
    color: initial !important;
    text-decoration: none !important;
}

a:hover {
    color: initial !important;
    text-decoration: none !important;
}

a:visited, a:focus {
	text-decoration: none;
}

.banner > h1 {
	color: white;
	letter-spacing: -1px;
	padding: 55px;
	position: absolute;
	left: 0;
	width: 100%;
	font-size: 60px;
	text-shadow: 2px 2px 5px #1B1C1D;
}

p {
	font-size: 16px;
}

.icons {
	margin-top: 1em;
	display: block;
	clear: both;
}

.icons i {
	color: lightgrey;
	font-size: 20px;
}

.icons i:hover {
	opacity: 0.8;
}

/* recaptcha stuff */
#rc-imageselect {
	transform:scale(0.77);
	-webkit-transform:scale(0.77);
	transform-origin:0 0;
	-webkit-transform-origin:0 0;
}

.subheader {
	color: #2d882d;
	margin: 2em 0 !important;
}

.about.container > p, .realtors.container p {
	font-size: 130%;
	line-height: 1.7;
	font-weight: 500;
}

.green-text {
	font-style: italic;
	color: forestgreen;
}

#home-banner > h1, #realtors-banner > h1 {
	color: white;
	letter-spacing: -1px;
	padding: 20px;
	position: absolute;
	left: 0;
	width: 100%;
	font-size: 50px;
	text-shadow: 5px 5px 5px #1B1C1D;
}

#home-banner > h1 {
	padding: 70px;
}

blockquote {
	font-family: Georgia, serif;
	font-size: 18px;
	font-style: italic;
	margin: 2em 0;
	padding: 1em 30px;
	line-height: 1.45;
	position: relative;
	color: #145214;
	background: #c2f0c2;
	border-radius: 5px;
	border-left: 10px solid #5bd75b;
}

blockquote:before {
	display: block;
	content: "\201C";
	font-size: 30px;
	position: absolute;
	left: 10px;
	top: 10px;
	color: #228b22;
}

blockquote:after {
	display: block;
	content: "\201D";
	font-size: 30px;
	position: absolute;
	right: 10px;
	top: 10px;
	color: #228b22;
}

blockquote cite {
	color: rgba(30, 123, 30, 0.6);
	font-size: 14px;
	display: block;
	margin-top: 5px;
}

blockquote cite:before {
	content: "\2014 \2009";
}

/* blockquote alternate designs */
blockquote.alternate-testimonial {
	color: #383838;
	background: #F0F0F0;
	border-left: 10px solid #ccc;
}

blockquote.alternate-testimonial:before, blockquote.alternate-testimonial:after {
	color: #7a7a7a;
}

blockquote.alternate-testimonial cite {
	color: #999;
}

/*********************************
HEADER
*********************************/

header {
	position: absolute;
	width: 100%;
	height: 85px;
	z-index: 20;
	top: 0;
	background: #1a1a1a;
}

.logo {
	display: inline-block;
	margin: 5px 10px;
}

.logo img {
	max-width: 8em;
}

header > .icons {
	margin-top: 2.3em;
  display: inline-block;
  vertical-align: top;
}

header > .icons i {
	font-size: 30px;
}

/*********************************
NAVBAR
*********************************/

a.nav-expander {
	font-size: 35px;
	padding: 1em 0.3em;
	position: absolute;
	top: 0;
	right: 0;
	color: white !important;

	transition: right 0.3s ease-in-out 0s;
	-webkit-transition: right 0.3s ease-in-out 0s;
	-moz-transition: right 0.3s ease-in-out 0s;
	-o-transition: right 0.3s ease-in-out 0s;
}

a.nav-expander:hover {
	cursor: pointer;
}

.main-menu {
	background: #2d2f33 !important;
	display: block !important;
	height: 100%;
	overflow: none;
	position: fixed !important;
	right: -40em;
	font-size: 20px;
	top: 0 !important;
	width: 15em !important;
	z-index: 15;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;

	transition: right 0.3s ease-in-out 0s;
	-webkit-transition: right 0.3s ease-in-out 0s;
	-moz-transition: right 0.3s ease-in-out 0s;
	-o-transition: right 0.3s ease-in-out 0s;
}

.nav-expanded .main-menu {
	right: 0;
}

body.nav-expanded {
	margin-left: 0em;
	transition: right 0.4s ease-in-out 0s;
	-webkit-transition: right 0.4s ease-in-out 0s;
	-moz-transition: right 0.4s ease-in-out 0s;
	-o-transition: right 0.4s ease-in-out 0s;
}

#nav-close {
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 25px;
	padding-right: 20px;
	display: inline-block;
	float: right;
}

#nav-close:hover{
	cursor: pointer;
}

.main-menu > a {
	border-top: 1px solid #323949;
	font-size: 20px;
	font-weight: 900;
	padding: 20px !important;
	display: block !important;
	clear: both;
	text-decoration: none;
	color: white !important;
}

/************************************
HOME PAGE
************************************/

#home-banner {
	margin-top: 6em;
    height: 88%;
    background-size: cover !important;
    position: relative;
    text-align: center;
}

#arrow > .arrow {
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin-left:-20px;
  width: 40px;
  height: 40px;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0yOTMuNzUxLDQ1NS44NjhjLTIwLjE4MSwyMC4xNzktNTMuMTY1LDE5LjkxMy03My42NzMtMC41OTVsMCwwYy0yMC41MDgtMjAuNTA4LTIwLjc3My01My40OTMtMC41OTQtNzMuNjcyICBsMTg5Ljk5OS0xOTBjMjAuMTc4LTIwLjE3OCw1My4xNjQtMTkuOTEzLDczLjY3MiwwLjU5NWwwLDBjMjAuNTA4LDIwLjUwOSwyMC43NzIsNTMuNDkyLDAuNTk1LDczLjY3MUwyOTMuNzUxLDQ1NS44Njh6Ii8+DQo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMjIwLjI0OSw0NTUuODY4YzIwLjE4LDIwLjE3OSw1My4xNjQsMTkuOTEzLDczLjY3Mi0wLjU5NWwwLDBjMjAuNTA5LTIwLjUwOCwyMC43NzQtNTMuNDkzLDAuNTk2LTczLjY3MiAgbC0xOTAtMTkwYy0yMC4xNzgtMjAuMTc4LTUzLjE2NC0xOS45MTMtNzMuNjcxLDAuNTk1bDAsMGMtMjAuNTA4LDIwLjUwOS0yMC43NzIsNTMuNDkyLTAuNTk1LDczLjY3MUwyMjAuMjQ5LDQ1NS44Njh6Ii8+DQo8L3N2Zz4=);
  background-size: contain;
}

.home-headers {
	padding-top: 1rem !important;
	display: block;
}

.home-fc-header {
	color: #1B1C1D !important;
	text-transform: uppercase;
	font-size: 30px;
	margin-top: 0.5em !important;
	margin-bottom: 0.25em !important;
}

.home-fc-subheader {
	color: #2d882d;
	font-size: 20px;
	margin-top: 0.25em !important;
	margin-bottom: 0.5em !important;
}

.ui.home.container > h2 {
	color: #2d882d;
}

#welcome-message-container {
	padding-top: 0rem !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

.welcome.message {
	font-size: 18px;
	line-height: 1.2;
	padding-top: 2em;
}

.welcome.image {
	display: none !important;
	margin: auto;
}

.service-item {
	height: 250px !important;
	width: 100% !important;
}

.values.grid, .services.grid {
	padding: 3em 0 0 !important;
	text-align: center;
}

.testimonials.grid {
	margin-top: 1em !important;
	margin-bottom: 1em !important;
}

.testimonials.button, .services.button {
	margin-top: 2em;
}

.more.link.row {
	display:block !important;
	padding-top: 10px !important;
}

.more.link.row > a {
	display:table;
	margin: 0 auto !important;
}

.home-page.card {
	max-width: 25em !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#slick-text-carousel {
	margin-right: 1rem;
	margin-left: 1rem;
}

#slick-text-carousel > i {
	position: absolute;
	display: block;
	top: 50%;
}

#slick-text-carousel > i:hover {
	cursor: pointer;
}

#slick-text-carousel > i.right {
	right: -25px;
}

#slick-text-carousel > i.left {
	left: -25px;
}

/***********************************
ABOUT PAGE
***********************************/

#about-banner {
	margin-top: 6em;
    height: 30em;
    background-size: cover !important;
    position: relative;
    text-align: center;
}

.about-divider {
	margin: 2.5em 0 0 !important;
}

.second.about-divider {
	margin-top: 0 !important;
	border-top: 1px solid lightgreen;
}

.ui.about-divider.grid > .image.divider, .ui.about-divider.grid > .text.divider {
	padding: 0 !important;
}

.image.divider > img {
	width: 0%;
}

.text.divider {
	background: #2d882d;
	color: white;
}

.text.divider > h3 {
	padding: 1em;
}

.text.divider > p {
	margin: 1em;
}

.founder.subheader {
	width: 100%;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.team.subheader {
	width: 100%;
	margin-top: 1em !important;
	margin-bottom: 1em !important;
	padding-left: 0;
}

.founders.cards {
	margin: auto;
}

.founders.cards .ui.card:hover {
	cursor: default;
}

.founders.cards .ui.card {
	margin-left: auto;
	margin-right: auto;
}

.founders.cards img {
	max-height: 25em;
}

.founders.cards .description {
	font-size: 110%;
}

/***********************************
SERVICES PAGE
***********************************/

.services.container {
	margin-top: 2em !important;
	padding: 2em;
}

#services-banner {
	margin-top: 6em;
    height: 30em;
    background-size: cover !important;
    position: relative;
    text-align: center;
}

h2.header.services {
	color: green;
}

.ui.sticky {
	padding-top: 1em;
}

.four.wide.services.column {
	display: none !important;
}

.twelve.wide.services.column {
	width: 100% !important;
}

.full.screen.image {
	display: none !important;
}

.service.items > .item {
	margin: 2em 0 !important;
}

.service.items > .item:first-child {
	margin-top: 0 !important;
}

/* image that comes right after content should be spaced out a bit */
.content + .image {
	margin-top: 10px !important;
	margin-bottom: 2em !important;
}

.apluslink {
	color: forestgreen !important;
}

.apluslink:hover {
	font-weight: 550;
	color: #145214 !important;
}

/***********************************
CONTACT PAGE
***********************************/

.ui.contact.segment {
	border: none !important;
	box-shadow: none !important;
}

.contact.container .first.column {
	padding-right: 5em !important;
}

.contact.container .second.column {
	padding-left: 5em !important;
}

#recaptchaRow {
	padding-bottom: 0em !important;
}

#submitRow {
	padding-top: 0em !important;
}

#recaptchaColumn {
	padding-bottom: 0em !important;
}

#submitColumn {
	padding-top: 0em !important;
}

/***********************************
REALTORS PAGE
***********************************/

#realtors-banner {
	margin-top: 6em;
    height: 30em;
    background-size: cover !important;
    position: relative;
    text-align: center;
}

.realtors.container {
	padding: 0 !important;
}

.realtors.container .subheader {
	margin-top: 0 !important;
}

.realtors.container .grid {
	margin: 2em auto !important;
}

.realtors.container p {
	text-align: justify;
}

.realtors.container .subheader {
	text-align: center;
}

.realtors-divider {
	position: absolute;
	opacity: 0.5;
}

.realtors-image {
	padding: 0 !important;
	margin: 0 !important;
}

.realtors-image > img {
	width: 100%;
	max-height: 30em;
}

.vertical-divider::before {
	content: "";
	border-right: 2px solid green;
	position: absolute;
	height: 100%;
}


/***********************************
GALLERY PAGE
***********************************/

.gallery.container {
	max-width: 1100px !important;
}

#gallery-banner {
	margin-top: 6em;
    height: 30em;
    background-size: cover !important;
    position: relative;
    text-align: center;
}

.triangle-up-left {
    position: absolute;
}

.triangle-up-left > p {
	display: inline-block;
	position: absolute;
	color: white;
	top: 20px;
	-ms-transform: rotate(-45deg); /* IE 9 */
    -webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.triangle-up-left > p.before {
	left: 3px;
}

.triangle-up-left > p.during {
	left: 2px;
}

.triangle-up-left > p.after {
	left: 8px;
}

.triangle-up-left:after {
    content: "";
    display: block;
    border-bottom: 75px solid transparent;
    border-left: 75px solid black;
}

figure.column {
	padding-left: 5px !important;
	padding-right: 5px !important;
}

.my-gallery {
	padding: 1em 0;
}

.my-gallery.grid {
	padding: 0 2em;
}

.my-gallery {
  	line-height: 0;

	-webkit-column-count: 2;
	-webkit-column-gap:   0px;
	-moz-column-count:    2;
	-moz-column-gap:      0px;
	column-count:         2;
	column-gap:           0px;
}

.my-gallery img {
	width: 100% !important;
	height: auto !important;
}

.my-gallery.grid img {
	box-shadow: 0px 5px 7px #dcdcdc;
    border-radius: 6px;
    border: 6px solid #eee;
}

/***********************************
TESTIMONIALS PAGE
***********************************/

#testimonials-banner {
	margin-top: 6em;
    height: 30em;
    background-size: cover !important;
    position: relative;
    text-align: center;
}

h2.header.testimonials {
	color: green;
}

.testimonials {
	display: block;
	clear: both;
}

.submit-btn {
	height:100%;
	margin-top: 1em;
}

/****************************
CONTACT
****************************/

#contact-banner {
	margin-top: 6em;
	width: 100%;
    height: 30em;
    position: relative;
}

.contact.cards {
	width: 100% !important;
}

.contact.message {
	margin: 1em 0 2em;
}

.image.column > img {
	margin: auto;
	vertical-align: middle;
}

.extra.content > .two.buttons > a {
	white-space: nowrap;
	color: white !important;
}

#response-status .hidden {
	display:none;
}

#response-status .send-success {
	display:block !important;
}

/****************************
FOOTER
****************************/

footer {
	clear: both;
	background: #1B1C1D;
	padding: 2em 3em;
	text-align: center;
}

footer > p {
	margin: 0;
	display: block;
	color: lightgrey;
	font-size: 13px;
	text-align: center;
}

.pipe {
	display: none;
}

/*********************************
Bouncing Arrow
*********************************/

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
	40% {
    transform: translateY(-30px);
  }
	60% {
    transform: translateY(-15px);
  }
}

.bounce {
	-webkit-animation: mymove 5s infinite;
	animation: bounce 2s infinite;
}
