/*
Theme Name: Olathe Senior Villas
Theme URI: http://www.keymgmt.com
Author: Jason Lewis
Author URI: http://www.keymgmt.com
Description: Custom Theme Designed For Olathe Senior Villas, Olathe, Kansas
Version: 1.0
*/

/* LOAD GOOGLE FONTS */


@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap');


/* CSS RESET */


body, p, h1, h2, h3, h4, h5, h6, div, table, tr, th, td, ul, ol, blockquote, input, textarea, select {
	margin:0;
	padding:0;
	vertical-align:top;
	font-family: 'Comfortaa', sans-serif;
    font-size:20px;
	font-weight: normal;
}


/* REDEFINED HTML TAGS */


html {
    scroll-behavior: smooth;
}
body {
    background-color:#fff;
    background: url('https://olatheseniorvillas.com/wp-content/themes/olatheseniorvillas/img/y-so-serious-white.png') repeat 0 0;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Merriweather', serif;
    font-weight: 900;
    text-transform: uppercase;
    margin:0 0 35px 0 !important;
}
h1, h2 { font-size: 36px; }
h3 { font-size: 28px; }
p, th, td, ul, li {
    font-family: 'Comfortaa', sans-serif;
    font-size:20px;
    margin:0 0 32px 0;
    line-height:32px;
}
ul {
    padding:0 0 32px 32px;
}
li {
    list-style-type: square;
    margin:0 0 10px 0;
}
@media only screen and (max-width: 600px) {
    h1, h2 {
        font-size:26px;
    }
    h3 {
        font-size:24px;
    }
    p, li, .evc-ili-text {
        font-size:18px;
        line-height:24px;
    }
}
#container a, #container a:visited, #container a:active, #container a:focus {
    color:#000;
    text-decoration:none;
}
#container a:hover {
    color:#000;
    text-decoration:none;
}


/* FORM STYLING */


input {
	width:96%;
	padding:9px;
	font-size:18px;
    background-color:#FFF;
	border: 1px solid #999;
}
select {
	width:99%;
	padding:9px;
	font-size:18px;
    background-color:#FFF;
	border: 1px solid #999;
}
textarea {
	width:99%;
	padding:9px;
	font-size:18px;
    background-color:#FFF;
	border: 1px solid #999;
}
input:focus, textarea:focus {
	border:1px solid #000;
}
@media only screen and (max-width: 600px) {
input {
	margin: 0;
	width:193%;
}
select {
	margin: 0;
	width:193%;
	}
textarea {
	margin: 0;
	width:96%;
}
}
input[type=submit] {
	position:relative;
	top:-32px;
	width:175px;
	height:50px;
	cursor:pointer;
    background-image: linear-gradient(#1F6773, #14454D);
	
	border:1px solid #AAA;
	color:#FFF;
    font-weight:bold;
	margin-bottom:5px;
}
input[type=submit]:hover {
	background-image:linear-gradient(#14454D, #1F6773);
}
label {
	font-size:16px;
    font-weight:bold;
	/*background-color:#000;*/
	padding:5px 5px 5px 2px;
	line-height:30px;
	white-space:nowrap;
	/*border-radius:12px 12px 0 0;*/
	color:#333;
}
button {
	width:175px;
	height:50px;
	cursor:pointer;
	background-image: linear-gradient(#1F6773, #14454D);
	border:1px solid #AAA;
	color:#FFF;
    font-weight:bold;
	margin-bottom:5px;
}
button:hover {
	background-image:linear-gradient(#14454D, #1F6773);
}
.kmc-contact-form div {
	padding:5px 5px 5px 0px;
}
.kmc-text-fields {
	width:49%;
	float:left;
	height:82px;
}
#kmc-recptcha-container {
	width:95%;
	float:left;
	padding:0px 15px 38px 20px;
}
#kmc-recaptcha {
	position:relative;
	left:-20px;
}


/* CONTACT FORM 7 CUSTOMISATIONS */


.wpcf7-form span {
	font-size:12px;
}
span.wpcf7-not-valid-tip {
    margin:0 0 0 0 !important;
}
div.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
	position:relative;
	bottom:22px;
	padding:0px;
	margin:0px;
}
.wpcf7-response-output {
	position:relative;
	top:-33px;
    margin:0px !important;
	clear:both;
	text-align:center;
    padding:15px !important;
    color:black;
    background-color:lightgreen;
    border:1px solid green;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted  {
    padding:15px;
    background-color:lightgoldenrodyellow;
    border:1px solid yellow;
    color:black;
}
.wpcf7-mail-sent-ok {
	position:relative;
	top:-33px;
	clear:both;
	text-align:center;
}
span.wpcf7-not-valid.g-recaptcha {
    border: none !important;
    margin: 0 0 0 0 !important;
    padding:0 0 0 0 !important;
}
span .wpcf7-not-valid {
    border: 1px solid #ff0000 !important;
    background-color: #FFEFEF !important;
}
.pp_overlay {
	opacity: 0.0 !important;
}
.pp_hoverContainer, .pp_pic_holder {
	z-index: 200 !important;
}


/* CUSTOM CSS CLASSES */


#container {
    max-width:1200px;
    margin:0 auto;
    padding:0 15px 0 15px;
}
.header-brand {
    background-image:url('https://olatheseniorvillas.com/wp-content/themes/olatheseniorvillas/img/header-bg-image.jpg');
    text-align: center;
    padding:10px 0 10px 0;
    }    
.header-brand p {
    margin:0 0 0 0;
    font-size:25px;
    }
.header-logo {
    width:350px;
    height:auto;
}
@media only screen and (max-width: 600px) {
.header-logo {
    width:60%;
    height:auto;
}
.header-brand p {
    margin:0 0 0 0;
    font-size:14px;
    }
}
@media only screen and (min-width: 950px) {
.top-nav-bar {
    z-index:1000;
    text-align:center;
    padding:20px 0;
    background-color:#333;
    border-bottom:5px solid #a67c00;
    margin-bottom:0px;
	position:sticky;
	position:-webkit-sticky;
	top:0px;
}
.top-nav-bar ul {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
.top-nav-bar li {
    display:inline;
    margin:0 0 0 0;
}
.top-nav-bar a, .top-nav-bar a:visited, .top-nav-bar a:active, .top-nav-bar a:focus {
    font-size:24px;
    color:#FFF;
    text-decoration:none;
    padding:0 10px;
}
.top-nav-bar a:hover {
    color:#FFD700;
}    
}
@media only screen and (max-width: 950px) {
    .top-nav-bar {
        display:none;
    }
    .n2-ss-no-bga-fixed {
        border-top:5px solid #4d1c14;
    }
    #gallery .n2-ss-no-bga-fixed {
        border-top:0px solid #4d1c14;
    }
}
.container360 {
    position:relative;
    overflow:hidden;
    width:100%;
    padding-top:56.25%;
    margin:0 auto 0 auto;
    text-align:center;
}
@media only screen and (max-width: 600px) {
.container360 {
    padding-top:75%;
}
}
.responsive-iframe {
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    width:100%;
    height:100%;
}
.footer-nav-bar {
    position:relative;
    text-align:center;
    padding:40px 0 50px 0;
}
.footer-nav-bar ul {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
.footer-nav-bar li {
    display:inline;
    margin:0 0 0 0;
}
.footer-nav-bar a, .footer-nav-bar a:visited, .footer-nav-bar a:active {
    font-size:24px;
    color:#FFF;
    text-decoration:none;
    padding:0 10px;
}
.footer-nav-bar a:hover {
    color:#FFD700;
}
@media only screen and (max-width: 950px) {

    .footer-nav-bar li {
    display:block;
    margin:0 0 0 0;
}
}
#footer-section {
    background-color:#333;
    color:#FFF;
    padding:12px 12px 12px 12px;
}
#footer-section p {
    font-size:12px;
}


/* REDEFINED WORDPRESS ELEMENTS */


.evc-icon-with-text {
	margin:16px 0 16px 0;
}
.evc-iwt-icon-holder {
    width:40px;
    padding:0 12px 0 40px !important;
}
.evc-iwt-text {
	position: relative;
	bottom:2px !important;
}
.floorplan-boxes {
    padding:0 7px 0 10px;
}
.floorplan-boxes .evc-iwt-text {
    font-size:24px;
}
a.page-link {
    padding:10px 15px !important;
}
a.page-link:hover {
    text-decoration: none !important;
}
.vc_grid-item-mini {
    border:1px solid #999;
}
@media only screen and (max-width: 950px) {
    #contact .evc-iwt-text {
        font-size:17px;
    }
    .evc-iwt-text {
        padding:4px 0 0 0;
    }
}
.rmp-menu-wrap {
    padding:24px 0 0 0 !important;
}
.rmp-menu-item-link {
    padding: 0 10px 0 0 !important;
}
.n2-ss-button-container div {
    color:#FFFFFF !important;
}
#floorplans .vc_column-inner {
    padding-right:0px  !important;
    padding-left:0px  !important;
}


/* AVAILABILITY OVERLAY */


.floorplan-box {
  position: relative;
}

/* common */
.ribbon {
  width: 150px;
  height: 150px;
  overflow: hidden;
  position: absolute;
}
.ribbon::before,
.ribbon::after {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  border: 5px solid #2980b9;
}
.ribbon span {
  position: absolute;
  display: block;
  width: 225px;
  padding: 15px 0;
  background-color: #0E9CC2;
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
  color: #fff;
  font: 700 18px/1 'Lato', sans-serif;
  text-shadow: 0 1px 1px rgba(0,0,0,.2);
  text-transform: uppercase;
  text-align: center;
}

/* top left*/
.ribbon-top-left {
  top: 0px;
  left: 0px;
}
.ribbon-top-left::before,
.ribbon-top-left::after {
  border-top-color: transparent;
  border-left-color: transparent;
}
.ribbon-top-left::before {
  top: 0;
  right: 0;
}
.ribbon-top-left::after {
  bottom: 0;
  left: 0;
}
.ribbon-top-left span {
  right: -25px;
  top: 30px;
  transform: rotate(-45deg);
}
