/* FONTS (via fonts.com)

font-family: gill-sans-nova, sans-serif; 
font-family: tenez, sans-serif;
*/

/* VARIABLES */

:root {
  --default-font: gill-sans-nova;
  --default-font-size: 15px;
  --default-input-font-size: 16px;

  --col-primary: #fcf2ef;
  --col-primary-rgb: 100, 26, 25;

  --col-accent: #000;
  --col-accent-rgb: 0, 0, 0;

  --col-text: #000;
  --col-input: #646464;
  --col-placeholder: #646464;
  --col-input-bg: transparent;

  --col-button: #000;
  --col-button-rgb: 255, 255, 255;

  --col-link: #0c0c0c;
  --col-link-rgb: 100, 26, 25;

  --col-link-hover: #000000;
  --col-link-hover-rgb: 0, 0, 0;

  --col-error: #ff6633;
  --col-error-rgb: 255, 51, 0;

  --col-attention: #ff6633;
  --col-attention-rgb: 255, 51, 0;

  --col-warning: #f5b00e;
  --col-warning-rgb: 245, 176, 14;

  --col-missing: #ff6633;
  --col-missing-rgb: 255, 51, 0;

  --col-burger: #fff;

  --col-border: #646464;
  --col-border-rgb: 139, 1395, 139;

  --dim-site-width: 1440px;
  --dim-default-space: 80px;
  --dim-input-height: 40px;

  --grid-spacing: 15px;
  --grid-spacing-neg: -15px;
  --grid-spacing-2x: 30px;
  --grid-margin: 50px;
  --grid-margin-neg: -50px;
}

/* theme */

body {
  font-weight: 500;
  background-color: var(--col-primary);
}
html.overlay-active body {
  max-height: 100vh;
  overflow: hidden;
}

/*CORE HTML*/
p {
  line-height: 1.5;
  color: #000;
  font-weight: 500;
  margin-bottom: 30px;
}
p.short {
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}
p.shorter {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
p.large {
  font-size: 22px;
}
b,
strong {
  font-weight: 700;
}
p.larger {
  font-size: 24px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  display: block;
}
h1 {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 20px;
}
h2 {
  font-size: 28px;
  color: #000;
  font-weight: 400;
  font-family: tenez;
  line-height: 1.1;
  margin: 80px auto;
  padding-bottom: 40px;
  border-bottom: 5px solid #000;
  text-align: center;
  width: 100%;
  text-transform: uppercase;
}
h3 {
  font-size: 24px;
  color: #000;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 20px;
}

h4 {
  font-size: 24px;
  color: #000;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 15px;
  margin-top: 0px;
}
h5 {
  font-size: 30px;
  color: var(--col-primary);
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 20px;
}
h6 {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0px;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 20px;
  margin-top: 50px;
  color: #000;
  text-align: center;
  color: #000;
}

h2 img.logo {
  display: block;
  margin: 0 auto 10px;
}
/*CONTAINERS*/
article {
  padding-top: 0px;
  background-color: var(--col-primary);
}
article.no-masthead {
  padding-top: 200px;
}

article > section {
  max-width: 1100px;
  padding: 0 0px;
  margin: 80px auto;
}
article > section.full {
  max-width: 1440px;
  padding: 0px;
  margin: 80px auto;
}
article > section.max {
  max-width: 100%;
  padding: 0px;
  margin: 80px auto;
}
article > section.masthead {
  margin: 0px auto;
  max-width: 100vw;
  padding: 0;
}
div.masthead > a > img,
div.masthead > img {
  display: block;
  width: 100%;
}

/* ALIGNMENTS */

/*BUTTONS*/
a.btn {
  color: #000;
  background-color: transparent;
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
  position: relative;
  padding-right: 70px;
  border: 0;
  font-weight: 600;
  letter-spacing: 0px;
  height: 28px;
}
a.btn:after {
  content: "";
  width: 40px;
  height: 24px;
  right: 0;
  bottom: 0;
  position: absolute;
  display: block;
  background: url(/img/svg/arrow.svg) no-repeat transparent center center;
  background-size: contain;
}
a.btn:hover:after {
  right: 15px;
}
a.btn2 {
  color: #000;
  background-color: transparent;
  font-size: 0px;
  line-height: 20px;
  text-transform: uppercase;
  position: relative;
  padding-right: 40px;
  border: 0;
  font-weight: 600;
  letter-spacing: 0px;
  height: 24px;
  display: table;
  margin: 0 auto;
}
a.btn2:after {
  content: "";
  width: 40px;
  height: 24px;
  right: 0;
  bottom: 0;
  position: absolute;
  display: block;
  background: url(/img/svg/arrow.svg) no-repeat transparent center center;
  background-size: contain;
}
a.btn.white {
  color: #fff;
}
a.btn.white:after {
  background-image: url(/img/svg/arrow2.svg);
}

/*COLOURS*/
body.article-communities,
body.article-communities article {
  background-color: #e5e4da;
}
body.article-news,
body.article-news article {
  background-color: #fcf2ef;
}
body.article-wellness,
body.article-wellness article,
body.article-contact,
body.article-contact article,
body.article-community-km,
body.article-community-km article {
  background-color: #fbf4e9;
}
body.article-about,
body.article-about article,
body.article-privacy,
body.article-privacy article {
  background-color: #f4eff2;
}
body.article-angus-glen-sv,
body.article-angus-glen-sv article {
  background-color: #e7f3f0;
}

/*body.article-contact header div.logo img, body.article-about header div.logo img, body.article-golf header div.logo img, body.article-wellness header div.logo img, body.article-home header div.logo img { filter: invert(100%);}*/
/*body.article-contact header nav ul > li > a, body.article-about header nav ul > li > a, body.article-golf header nav ul > li > a, body.article-home header nav ul > li > a, body.article-wellness header nav ul > li > a { color: #fff;}*/

body.article-privacy header div.logo img,
body.article-community-km header div.logo img,
body.article-communities header div.logo img,
body.article-news header div.logo img,
body.article-gallery header div.logo img {
  filter: invert(0%);
}
body.article-privacy header nav ul > li > a,
body.article-community-km header nav ul > li > a,
body.article-communities header nav ul > li > a,
body.article-news header nav ul > li > a,
body.article-gallery header nav ul > li > a {
  color: #000;
}

/**/
.white {
  color: #fff !important;
}
.red {
  color: var(--col-primary) !important;
}
.black {
  color: #000 !important;
}
/* CONTENT BLOCKS */

/*CAPTIONS*/
div.cs-1 {
  max-width: 1100px;
  width: 100%;
  bottom: 80px !important;
}
div.page-title {
  font-size: 28px;
  margin-top: 30px;
  color: #000;
  font-weight: 500;
  text-decoration: underline;
}
div.page-title2 {
  font-size: 74px;
  margin-top: 0px;
  color: #000;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1;
  text-align: left;
  margin-left: -100px;
  margin-bottom: -40px;
}
div.page-title + p {
  margin-top: 40px;
}

div.cs-2 {
  width: 100%;
  padding: 0 0 90px 75px;
}
div.cs-2 div.title {
  font-size: 74px;
  font-weight: 300;
  color: #fff;
  text-align: left;
  text-transform: uppercase;
  line-height: 1.1;
  text-shadow: 2px 5px 8px rgba(0, 0, 0, 0.75);
}
/*FORMS*/

/*HEADER*/
header {
  height: 100px;
  background-color: transparent;
  width: 100%;
  max-width: 1440px;
  left: calc(50% - 720px);
  position: absolute;
  top: 0;
  padding: 45px 20px;
  text-align: left;
}
header.attached.visible {
  position: fixed;
}
header div.logo {
  display: block;
  left: 0px;
  top: 0px;
  margin-bottom: 30px;
}
header div.logo a {
  display: block;
  width: 290px;
  margin: 0 auto 0 0;
}
header div.logo img {
  display: block;
  width: 100%;
  filter: invert(100%);
}

header nav {
  display: block;
  text-align: left;
}
header nav ul {
  display: block;
  width: 100%;
  text-align: left;
  font-size: 0;
}
header nav ul > li {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  position: relative;
  padding: 0px;
}
header nav ul > li > a {
  display: block;
  width: 100%;
  text-align: left;
  line-height: 20px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding: 0 50px 0 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
header nav ul > li > a.active {
  color: #fff;
}
header nav ul > li:hover > a {
  color: #fff;
}

/*header nav ul > li > ul { display: block; max-height: 0; overflow: hidden; width: 260px; top: 100px; position: absolute; left: 0; background-color: rgba(0,0,0,1); ; }*/
/*header nav ul > li > ul > li { display: block; width: 100%;}*/
/*header nav ul > li > ul > li > a { display: block; width: 100%; line-height: 60px; padding: 0 20px; text-align: left;}*/
/*header nav ul > li > ul > li:hover > a { background-color: var(--col-primary); color: #fff; }*/
/*header nav ul > li:hover > ul { max-height: 660px; }*/

/*FOOTER*/

footer {
  display: block;
  width: 1440px;
  max-width: 100%;
  margin: 50px auto 0;
  font-size: 0;
  padding: 55px 50px 0;
  border-top: 1px solid #646464;
}
footer section {
  max-width: 100%;
}
footer div.logo {
  width: 63px;
  display: block;
  margin: 0 auto 20px 0;
}
footer div.grid-footer {
  margin-bottom: 40px;
}
footer div.grid-footer > div:nth-child(1) {
  width: calc(100% - 850px);
}
footer div.grid-footer > div:nth-child(2) {
  width: 850px;
  text-align: right;
  font-size: 0;
  /* padding-left: 50px; */
}
footer div.grid-footer > div:nth-child(2) > div {
  display: inline-block;
  vertical-align: top;
  /* width: calc(100% - 96px); */
}
footer div.grid-footer > div:nth-child(2) > div:last-child {
  /* width: 96px; */
}
footer div.grid-footer > div:nth-child(2) div.addresses {
  font-size: 0;
  max-width: 850px;
}
footer div.grid-footer > div:nth-child(2) div.address {
  display: inline-block;
  vertical-align: top;
  /* width: 25%; */
  padding-right: 50px;
  margin-bottom: 40px;
}

footer #register {
  max-width: 415px;
}

footer div.grid b {
  display: block;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 5px;
  text-align: left;
}
footer div.grid a,
footer div.grid p {
  display: block;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 0px;
  color: #646464;
  text-align: left;
  line-height: 1.5;
}
footer ul {
  display: block;
  text-align: left;
  margin-top: 10px;
}
footer ul li {
  display: inline-block;
  text-align: left;
}
footer div.grid ul li a {
  display: block;
  color: #b0b3b5;
  padding-right: 20px;
  font-size: 20px;
}
footer div.grid ul li:last-child a {
  padding-right: 0px;
}

footer div.disclaimer {
  display: block;
  width: calc(100% + 100px);
  margin-left: -50px;
  background: #000;
  height: 50px;
  padding-left: 50px;
  position: relative;
}
footer div.disclaimer div.logo2 {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
}
footer div.disclaimer div.logo2 img {
  display: block;
  width: 128px;
  margin-top: 20px;
  margin-left: 50px;
}
footer div.disclaimer p {
  display: block;
  font-size: 13px;
  color: #fcf2ef;
  text-align: left;
  line-height: 50px;
  width: 705px;
  text-align: left;
  margin: 0 0 0 auto;
}
footer div.disclaimer a {
  font-size: 13px;
  color: var(--col-primary);
  text-align: left;
}

/* BLOCKS */
div.grid {
  margin-bottom: var(--grid-margin-neg);
}
div.grid-2 > div {
  width: 50%;
  margin-bottom: var(--grid-margin);
}
div.grid-3 > div {
  width: 33.33%;
  margin-bottom: var(--grid-margin);
}
div.grid-4 > div {
  width: 25%;
  margin-bottom: var(--grid-margin);
}
div.grid-5 > div {
  width: 20%;
  margin-bottom: var(--grid-margin);
}
div.grid-6 > div {
  width: 16.66%;
  margin-bottom: var(--grid-margin);
}
div.grid-7 > div {
  width: 20%;
  margin-bottom: var(--grid-margin);
}
div.grid-8 > div {
  width: 20%;
  margin-bottom: var(--grid-margin);
}

div.grid.spaced {
  width: calc(100% + var(--grid-spacing-2x));
  margin-left: var(--grid-spacing-neg);
}
div.grid.spaced > div {
  padding: 0 var(--grid-spacing);
}

/*CONTENT*/

div.grid div.info {
  padding-top: 40px;
}
div.grid div.info p {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
div.comm-logo {
  height: 80px;
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
div.comm-logo > img {
  display: block;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
  margin: 0 auto;
}
div.sales-status {
  font-size: 16px;
  display: block;
  text-align: center;
  margin-bottom: 25px;
}

div.grid > div.spaced-right {
  padding-right: 60px;
}
div.grid > div.full-height {
  position: absolute;
  top: 0;
  height: 100%;
}
div.grid.about-box > div {
  display: inline-block;
  vertical-align: middle;
}
div.grid.about-box > div:first-child {
  padding-right: 100px;
  padding-left: 40px;
  vertical-align: middle;
}

a.btn.absolute {
  position: absolute;
  bottom: 50px;
  left: 0;
}

div.grid > div:nth-child(odd) div.community {
  padding-right: 35px;
}
div.grid > div:nth-child(even) div.community {
  padding-left: 35px;
}
div.community {
  font-size: 0;
}
div.community div.logo {
  width: 180px;
  vertical-align: top;
  display: inline-block;
  padding-right: 40px;
}
div.community div.logo img {
  margin: 0 auto 0 0;
  display: block;
  max-width: 100%;
}
div.community p {
  width: calc(100% - 180px);
  vertical-align: top;
  display: inline-block;
  font-size: 15px;
}

div.grid-past-comm {
  padding-bottom: 40px;
}
div.grid-past-comm h4 {
  font-size: 20px;
  text-transform: uppercase;
  text-align: center;
  min-height: 50px;
}
div.grid-past-comm h4 small {
  font-size: 12px;
  display: block;
}
div.grid-past-comm > div > div {
  font-size: 18px;
  display: block;
  margin-bottom: 20px;
  text-align: center;
}
div.grid-past-comm > div > div:nth-child(3),
div.grid-past-comm > div > div:nth-child(4),
div.grid-past-comm > div > div:nth-child(5) {
  display: none !important;
}
div.grid-past-comm > div > div span {
  font-size: 18px;
  display: block;
}
div.grid-past-comm > div > div span:first-child {
  font-size: 12px;
  display: block;
  margin-bottom: 5px;
  text-transform: uppercase;
}

div.caption.top.logo-km-w {
  padding-top: 25px;
}
div.caption.top.logo-angus-sv {
  padding-top: 40px;
}

#back-top {
  position: absolute;
  right: 0;
  bottom: 0;
}

input[type="text"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="email"],
input[type="password"] {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  padding: 0;
}
button[type="submit"],
button[type="button"] {
  position: absolute !important;
  right: 0;
  bottom: 0px;
  background: transparent;
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  text-decoration: underline;
  line-height: 1;
  color: #000;
  text-transform: none;
  padding: 0;
}
button[type="submit"]:hover,
button[type="button"]:hover {
  background-color: transparent;
}
div.form-row.with-submit {
  padding-right: 85px;
}
div.registration div.title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 30px;
}

div.flipbook {
  width: 100%;
  padding-bottom: 80%;
  position: relative;
  display: block;
}
div.flipbook iframe {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
}

div.wellness-list {
  display: block;
  width: 100%;
  font-size: 0;
  margin-top: 80px;
  padding: 0 10px;
  position: relative;
}
div.wellness-list > div {
  display: inline-block;
  vertical-align: top;
  width: 230px;
}
div.wellness-list > div:last-child {
  width: calc(100% - 230px);
}
div.wellness-list > div:last-child p {
  font-size: 22px;
  line-height: 1.5;
}
div.wellness-list > div:first-child {
  position: absolute;
  right: 10px;
  top: 0;
  padding-left: 70px;
}
div.wellness-list > div:first-child p {
  font-size: 16px;
  text-transform: uppercase;
}
div.wellness-list > div:first-child > ul {
  display: block;
  width: 100%;
}
div.wellness-list > div:first-child > ul li {
  display: block;
  width: 100%;
}
div.wellness-list > div:first-child > ul li a {
  display: block;
  width: 100%;
  padding-bottom: 30px;
  cursor: pointer;
  color: #999;
  font-size: 16px;
}
div.wellness-list > div:first-child > ul li a.active {
  color: #000;
}
div.wellness-list > div:first-child > ul li a img {
  display: inline-block;
  width: auto;
  vertical-align: middle;
  margin-right: 5px;
}

.center.large {
  padding: 0px 20px;
}

.slick-slide {
  height: auto;
}
div.slick-slide p {
  font-size: 15px;
  font-weight: 500;
  margin: 10px auto 0;
  text-align: left;
}
button.slick-arrow {
  display: block;
  background: url(/img/svg/arrow4.svg) no-repeat center center;
  width: 7px;
  height: 14px;
  background-size: contain;
  top: 50%;
  margin-top: -30px;
  right: 20px;
  font-size: 0;
  padding: 0;
  z-index: 9;
}
button.slick-arrow:hover {
  background-color: transparent;
}
button.slick-arrow.slick-prev {
  transform: rotate(180deg);
  right: auto;
  left: 20px;
}

div.golf-gallery button.slick-arrow {
  display: block;
  background: url(/img/svg/arrow5.svg) no-repeat center center;
  width: 14px;
  height: 28px;
  background-size: contain;
  top: 50%;
  margin-top: -14px;
  right: -44px;
  font-size: 0;
  padding: 0;
  z-index: 9;
}
div.golf-gallery button.slick-arrow.slick-prev {
  transform: rotate(180deg);
  right: auto;
  left: -44px;
}

ul.slideshow-model-suite button.slick-arrow,
ul.video-slideshow button.slick-arrow {
  display: block;
  background: url(/img/svg/arrow5.svg) no-repeat center center;
  width: 14px;
  height: 28px;
  background-size: contain;
  top: 50%;
  margin-top: -14px;
  right: -44px;
  font-size: 0;
  padding: 0;
  z-index: 9;
}
ul.slideshow-model-suite button.slick-arrow.slick-prev,
ul.video-slideshow button.slick-arrow.slick-prev {
  transform: rotate(180deg);
  right: auto;
  left: -44px;
}

div.slideshow-index {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 0;
  margin-top: 30px;
}
div.slideshow-index > div {
  display: inline-block;
  vertical-align: top;
  width: 84px;
  margin: 0 15px;
}
div.slideshow-index > div img {
  display: block;
  cursor: pointer;
  opacity: 0.3;
}
div.slideshow-index > div.active img {
  opacity: 1;
}

/* TIMELINES */
div.timeline > div:nth-child(1) {
  width: calc(100% - 650px);
}
div.timeline > div:nth-child(2) {
  width: 650px;
}
div.timeline div.nav {
  text-align: left;
}
div.timeline div.nav ul {
  display: block;
  width: 100%;
  text-align: left;
}
div.timeline div.nav li {
  display: block;
  width: 100%;
  text-align: left;
}
div.timeline div.nav > ul > li > a {
  padding-left: 110px;
  position: relative;
}
div.timeline div.nav > ul:first-child > li.active > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 50px;
  width: 80px;
  background: url(/img/svg/arrow.svg) no-repeat left center;
  background-size: contain;
  opacity: 0.6;
}
div.timeline div.nav > ul:first-child > li.active > a.subnav:before {
  display: none;
}

div.timeline div.nav li a {
  display: block;
  line-height: 50px;
  font-size: 16px;
  color: #000;
  font-weight: 500;
}
div.timeline div.nav ul > li > ul {
  padding-left: 140px;
  display: none;
}
div.timeline div.nav ul > li.active > ul {
  display: block;
}
div.timeline div.nav ul > li > ul a {
  line-height: 1.5;
  min-height: 40px;
  padding-top: 12px;
  font-size: 16px;
  color: #000;
  font-weight: 300;
  position: relative;
}
div.timeline div.nav ul > li > ul a.active:before {
  content: "";
  position: absolute;
  width: 80px;
  height: 50px;
  background: url(/img/svg/arrow.svg) no-repeat transparent left top;
  background-size: contain;
  left: -135px;
  top: 10px;
}

div.timeline div.nav ul.kares-nav {
  display: none;
  margin-top: 160px;
}
div.timeline div.nav ul.kares-nav.active {
  display: block;
}

/*div.community-page div.comm-nav {text-align: left;}*/
/*div.community-page div.comm-nav ul {display: block; width: 100%; text-align: left;}*/
/*div.community-page div.comm-nav li {display: block; width: 100%; text-align: left;}*/
/*div.community-page div.comm-nav li a {display: block; line-height: 50px; font-size: 16px; color: #000; font-weight: 500}*/
/*div.community-page div.comm-nav ul > li > ul {padding-left: 140px; display: none;}*/
/*div.community-page div.comm-nav > ul > li  > a {padding-left: 110px; position: relative;}*/
/*div.community-page div.comm-nav > ul > li.active > a:before {content:""; position: absolute; top: 0; left: 0; height: 40px; width: 80px; background: url(/img/svg/arrow.svg) no-repeat left bottom; background-size: contain; opacity: .6}*/
/*div.community-page div.comm-nav > ul > li.active > a.subnav:before {display: none;}*/
/*div.community-page div.comm-nav ul > li.active > ul {display: block;}*/
/*div.community-page div.comm-nav ul > li > ul a {line-height: 40px; font-size: 16px; color: #000; font-weight: 300; position: relative}*/
/*div.community-page div.comm-nav ul > li > ul a.active:before {content: ""; position: absolute; width: 80px; height: 40px; background: url(/img/svg/arrow.svg) no-repeat transparent left top; background-size: contain; left: -135px; top: 10px; opacity: .6}*/
/**/

div.history-block {
  display: none;
}
div.history-block.active {
  display: block;
}
div.history-block > img {
  display: block;
  margin-bottom: 50px;
}
div.history-year {
  display: block;
  margin-bottom: 50px;
  padding-left: 100px;
  position: relative;
}
div.history-year label {
  display: block;
  position: absolute;
  width: 90px;
  text-align: left;
  top: 0;
  left: 0;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 3px;
  text-transform: uppercase;
}
div[data-id="kares"] div.history-block div.history-year label {
  width: 110px;
  font-size: 12px;
  font-weight: 700;
  padding-top: 3px;
}
div[data-id="kares"] div.history-block div.history-year {
  padding-left: 110px;
}
div.timeline-news div.history-year label {
  display: block;
  position: absolute;
  width: 90px;
  text-align: left;
  top: 0;
  left: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
div.timeline div.data > div {
  display: none;
}
div.timeline div.data > div.video {
  display: block;
}
div.timeline div.data > div.active {
  display: block;
}

div.history-block div.thumbnail {
  display: block;
  margin-bottom: 20px;
}
div.data div.thumb {
  display: block;
  margin-bottom: 20px;
}

h3 span,
h3 img {
  display: inline-block;
  vertical-align: bottom;
}
h3 img {
  width: 145px;
}
h3 span {
  width: calc(100% - 160px);
}
h3.imgright span {
  padding-left: 20px;
}

div.insane-1 {
  padding-right: 260px;
  position: relative;
  display: block;
  width: 100%;
  margin-top: 50px;
}
div.insane-1 img {
  margin: 0 auto;
  display: block;
}
div.insane-1 a.btn {
  position: absolute;
  right: 0;
  top: 50%;
}

/*AWARDS*/
ul.awards {
  display: block;
  text-align: left;
  margin: 0px auto 0;
}
ul.awards li {
  display: block;
  width: 100%;
  text-align: left;
  font-size: 0;
  padding-bottom: 20px;
}
ul.awards li span {
  display: inline-block;
  vertical-align: top;
  margin-right: 0px;
  width: 90px;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.25;
  text-align: left;
  position: relative;
}
ul.awards li p {
  display: inline-block;
  vertical-align: top;
  margin: 0;
  width: calc(100% - 90px);
  font-size: 15px;
  line-height: 1.25;
  text-align: left;
}

#subscribe {
  max-width: 540px;
  margin: 0 auto;
}
#subscribe div.title {
  text-align: center;
}
div.video {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}
div.video iframe {
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

div.timeline div.data > div.slideshow {
  display: block;
}
div.gallery-index {
  display: block;
}
div.gallery-index ul {
  display: block;
  text-align: center;
  font-size: 0;
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-top: 15px;
}
div.gallery-index ul li {
  display: inline-block;
  vertical-align: top;
  margin: 15px;
  width: 84px;
}
div.gallery-index ul li a {
  display: block;
  width: 100%;
}
div.gallery-index ul li a img {
  display: block;
  width: 100%;
}

div.locations {
  display: block;
  width: calc(100% + 60px);
  text-align: center;
  font-size: 0;
  margin-left: -30px;
}
div.locations > div {
  display: inline-block;
  width: 33.33%;
  vertical-align: top;
  padding: 0 30px;
}
div.locations div.address div.thumb {
  display: block;
  width: 100%;
  margin-bottom: 50px;
}
div.locations div.address div.thumb img {
  display: block;
  width: 100%;
}

div.locations div.address b {
  display: block;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 5px;
  text-align: left;
  color: #000;
}
div.locations div.address a,
div.locations div.address p {
  display: block;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 0px;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
div.locations div.address p {
  margin-top: 20px;
  margin-bottom: 20px;
}

div.locations ul {
  display: block;
  text-align: left;
  margin-top: 20px;
  margin-bottom: 20px;
}
div.locations ul li {
  display: inline-block;
  text-align: left;
}
div.locations ul li a {
  display: block;
  color: #000;
  padding-right: 20px;
  font-size: 20px;
}
div.locations ul li:last-child a {
  padding-right: 0px;
}
div.locations div.address a.btn {
  display: table;
  width: auto;
}

textarea {
  background: transparent;
  height: 200px;
}
div.field label.visible {
  display: block;
  font-size: 16px;
  color: #646464;
  font-weight: 300;
  line-height: 50px;
  margin-bottom: 0px;
  margin-top: 10px;
}
#subscribe input[type="text"] {
  font-size: 16px;
  color: #646464;
  font-weight: 300;
  line-height: 60px;
}
#subscribe *::-webkit-input-placeholder {
  font-size: 16px;
  color: #646464;
  font-weight: 300;
}
#subscribe *::-moz-placeholder {
  font-size: 16px;
  color: #646464;
  font-weight: 300;
}
#subscribe *:-ms-input-placeholder {
  font-size: 16px;
  color: #646464;
  font-weight: 300;
}

.select2-container .select2-selection--single {
  line-height: 60px;
  background: transparent;
  border-width: 0;
  border-bottom: 1px solid var(--col-border);
}
.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  line-height: 60px;
  background: transparent;
  font-size: 16px;
  color: #646464;
  font-weight: 300;
}
.select2-container--default
  .select2-selection--single
  .select2-selection__placeholder {
  line-height: 60px;
  background: transparent;
  font-size: 16px;
  color: #646464;
  font-weight: 300;
}
.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  width: var(--dim-input-height);
  height: 100%;
  right: 0;
  top: 0;
  background: url(/img/svg/arrow4.svg) no-repeat center center;
  background-size: 21px 12px;
  transform: rotate(90deg);
  transition: all 0.1s ease-out;
}
.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  text-align: left;
}

div.checkbox label {
  font-weight: 300;
  font-size: 16px;
  color: #646464;
  min-height: 50px;
  padding-top: 20px;
}
div.checkbox label:before {
  top: 20px;
}

div.form-row > p {
  font-weight: 300;
  font-size: 16px;
  color: #646464;
  margin-bottom: 0px;
  line-height: 1.5;
  margin-top: 25px;
}

#subscribe.register-form button[type="submit"] {
  position: relative !important;
  margin: 20px auto 20px 0;
}

p.form-disclaimer {
  font-weight: 300;
  font-size: 16px;
  color: #646464;
  margin-bottom: 0px;
  line-height: 1.5;
  margin-top: 25px;
  text-transform: uppercase;
}
#subscribe img.center {
  margin: 0 auto 50px;
  display: block;
}

#subscribe.register-form {
  max-width: 700px;
  margin: 0 auto;
}
#subscribe.register-form form {
  margin-top: 30px;
}

div.video-player {
  display: block;
  width: 100%;
  position: relative;
}
div.video-player a {
  display: block;
  width: 100%;
  position: relative;
  z-index: 3;
}
div.video-player a:after {
  content: "";
  width: 73px;
  height: 84px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -42px 0 0 -24px;
  background: url(/img/svg/play.svg) no-repeat center center;
  background-size: contain;
}
div.video-player a img {
  display: block;
  width: 100%;
}
div.video-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

#customplayer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #000;
  display: none;
}
#customplayer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
div.slideshow div.video:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: transparent;
  display: block;
}

div.grecaptcha-badge {
  right: -400px !important;
}
/*KENNEDY MANORS*/

div.thumb > img.km-logo {
  max-width: 312px;
  margin: 0 auto 0 0;
}
div.community-page {
  display: block;
  width: 100%;
  font-size: 0;
}
div.community-page > p {
  font-size: 24px;
  font-weight: 400;
  color: #000;
  line-height: 1.5;
  margin-bottom: 0;
  text-align: left;
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 400px;
  display: block;
}
div.community-page > div {
  display: inline-block;
  vertical-align: top;
  width: 400px;
}
div.community-page > div:nth-child(3) {
  width: calc(100% - 400px);
  padding-left: 50px;
}

div.community-page div.comm-nav {
  text-align: left;
}
div.community-page div.comm-nav ul {
  display: block;
  width: 100%;
  text-align: left;
}
div.community-page div.comm-nav li {
  display: block;
  width: 100%;
  text-align: left;
}
div.community-page div.comm-nav li a {
  display: block;
  line-height: 50px;
  font-size: 16px;
  color: #000;
  font-weight: 500;
}
div.community-page div.comm-nav ul > li > ul {
  padding-left: 140px;
  display: none;
}
div.community-page div.comm-nav > ul > li > a {
  padding-left: 110px;
  position: relative;
}
div.community-page div.comm-nav > ul > li.active > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 40px;
  width: 80px;
  background: url(/img/svg/arrow.svg) no-repeat left bottom;
  background-size: contain;
  opacity: 0.6;
}
div.community-page div.comm-nav > ul > li.active > a.subnav:before {
  display: none;
}
div.community-page div.comm-nav ul > li.active > ul {
  display: block;
}
div.community-page div.comm-nav ul > li > ul a {
  min-height: 40px;
  line-height: 1.5;
  font-size: 16px;
  color: #000;
  font-weight: 300;
  position: relative;
  margin: 10px auto;
}
div.community-page div.comm-nav ul > li > ul a.active:before {
  content: "";
  position: absolute;
  width: 80px;
  height: 40px;
  background: url(/img/svg/arrow.svg) no-repeat transparent left top;
  background-size: contain;
  left: -135px;
  top: 10px;
  opacity: 0.6;
}

div.fp-info {
  display: block;
  width: 100%;
  padding-right: 200px;
  position: relative;
  margin-bottom: 70px;
}
div.fp-info p {
  display: block;
  width: 100%;
  text-align: left;
  font-size: 16px;
  font-weight: 300;
}
div.fp-info h4 {
  font-size: 28px;
}

p.fp-disclaimer {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: #000;
  text-align: left;
  margin-top: 100px;
  width: 100%;
}

div.tools {
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  text-align: right;
  font-size: 0;
}
div.tools a {
  display: inline-block;
  vertical-align: middle;
  padding-left: 25px;
  width: 50px;
}
div.tools a img {
  display: block;
  width: 100%;
}

div.legend-container {
  width: 100%;
  max-width: 1280px;
  display: flex;
  flex-direction: row;
}
div.legend-container div {
  width: 33%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 30px;
  font-size: 18px;
}
div.legend-container div > div {
  width: 60px;
  min-width: 60px;
  height: 60px;
  margin: 24px;
}
div.legend-container div > div.fifteen {
  background-color: #6d86c3;
}
div.legend-container div > div.nineteen {
  background-color: #e53c4f;
}
div.legend-container div > div.twentythree {
  background-color: #81c8dc;
}

/*LISTS*/
ul.listing {
  margin-bottom: 30px;
}
ul.listing.shorter {
  max-width: 550px;
  margin: 0 auto;
}
ul.listing li {
  display: block;
  margin-bottom: 1px;
  line-height: 1.6;
  position: relative;
  text-align: center;
}
ul.listing.bullets li {
  text-align: left;
  padding-left: 14px;
}
ul.listing.bullets li:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0.65em;
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background: #000;
}
ul.listing.left li {
  text-align: left;
}

div.privacy {
  max-width: 900px;
  margin: 0 auto;
}
div.privacy ul.listing {
  max-width: 500px;
  margin: 0 auto;
}
/*TRANSITIONS*/

.bounce-in-left {
  -webkit-animation: bounce-in-left 1.1s both;
  animation: bounce-in-left 1.1s both;
}
.puff-in-center {
  -webkit-animation: puff-in-center 0.7s cubic-bezier(0.47, 0, 0.745, 0.715)
    both;
  animation: puff-in-center 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) both;
}
.text-focus-in {
  -webkit-animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}
.flip-in-hor-bottom {
  -webkit-animation: flip-in-hor-bottom 0.5s
    cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: flip-in-hor-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.slide-in-left {
  -webkit-animation: slide-in-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: slide-in-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

div.grecaptcha-badge {
  right: -600px !important;
}
.js-slide-up {
  top: 350px;
  position: relative;
  opacity: 0;
}
.js-slide-up.in-view {
  top: 0px;
  transition: top 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 1;
}
/*.in-view {overflow: hidden;}*/
/*.in-view a.btn { -webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;	        animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both 1s;}*/
/*.in-view a.btn2 { -webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;	        animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both 1s;}*/

.js-animation-1 {
  overflow: hidden;
}
.js-animation-1 div.txt {
}
.js-animation-1 a.btn {
}
.js-animation-1.in-view div.txt {
  -webkit-animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}
.js-animation-1.in-view a.btn {
  -webkit-animation: slide-in-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: slide-in-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both 1s;
}
.js-animation-1 div.grid-2 > div {
  right: -900px;
}
.js-animation-1.in-view div.grid-2 > div {
  right: 0px;
}
.js-animation-1 div.grid-2 > div:first-child {
  transition: right 0.9s cubic-bezier(0.39, 0.575, 0.565, 1) 0.6s;
}
.js-animation-1 div.grid-2 > div:last-child {
  transition: right 1.4s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
}

.js-animation-4.in-view div.grid > div {
  -webkit-animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}

/*.js-animation-2 { overflow: hidden;}*/
/*.js-animation-2 div.txt { opacity: 0; transition: opacity 2s ease-in-out 0s; }*/
/*.js-animation-2.in-view div.txt { opacity: 1;  }*/
/*.js-animation-2 div.grid-2 > div { top: -900px; opacity: 0}*/
/*.js-animation-2.in-view div.grid-2 > div { top: 0px; opacity: 1;}*/
/*.js-animation-2 div.grid-2 > div:first-child { transition: all 1s cubic-bezier(0.39, 0.575, 0.565, 1) .3s;}*/
/*.js-animation-2 div.grid-2 > div:last-child { transition: all .85s cubic-bezier(0.39, 0.575, 0.565, 1) .6s;}*/
.js-animation-2.in-view div.grid-2 > div {
  -webkit-animation: flip-in-hor-bottom 0.5s
    cubic-bezier(0.25, 0.46, 0.45, 0.94) both 0.8s;
  animation: flip-in-hor-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
    0.8s;
}

.js-animation-3 div.grid-3 > div {
}
.js-animation-3.in-view div.grid-3 > div {
  -webkit-animation: puff-in-center 0.7s cubic-bezier(0.47, 0, 0.745, 0.715)
    both;
  animation: puff-in-center 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) both;
}
/*.js-animation-3 div.grid-3 > div:first-child { transition: bottom 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s;}*/
/*.js-animation-3 div.grid-3 > div:nth-child(2) { transition: bottom .8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;}*/
/*.js-animation-3 div.grid-3 > div:last-child { transition: bottom .4s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s;}*/

@media only screen and (max-width: 1440px) {
  header {
    height: 100px;
    background-color: transparent;
    width: 100%;
    max-width: 1440px;
    left: 0;
    position: absolute;
    top: 0;
    padding: 45px 20px;
    text-align: left;
  }
  div.community-page > p {
    padding-left: 20px;
  }
}
@media only screen and (min-width: 1050px) and (max-width: 1225px) {
  footer div.grid-footer > div:nth-child(2) div.address {
    width: 50%;
  }
}
@media only screen and (max-width: 1049px) {
  footer div.grid-footer > div:nth-child(2) div.address {
    width: 50%;
  }
}
@media only screen and (max-width: 1280px) {
  footer button[type="submit"] {
    position: relative !important;
    margin-top: 10px;
  }

  section.content {
    padding-left: 20px;
    padding-right: 20px;
  }

  div.golf-gallery button.slick-arrow {
    right: 20px;
  }
  div.golf-gallery button.slick-arrow.slick-prev {
    left: 20px;
  }

  ul.slideshow-model-suite button.slick-arrow,
  ul.video-slideshow button.slick-arrow {
    right: 20px;
  }
  ul.slideshow-model-suite button.slick-arrow.slick-prev,
  ul.video-slideshow button.slick-arrow.slick-prev {
    left: 20px;
  }

  div.locations {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
  div.locations > div {
    padding: 0 20px;
  }

  div.timeline > div:nth-child(2) {
    padding-right: 20px;
  }
}

@media only screen and (max-width: 1180px) {
  footer {
    padding: 40px 20px 0;
  }
  footer div.disclaimer {
    width: calc(100% + 40px);
    margin-left: -20px;
    padding-left: 20px;
  }
  footer div.disclaimer div.logo2 img {
    margin-left: 20px;
    margin-top: 16px;
  }
  footer div.grid-footer > div:nth-child(1) {
    width: calc(100% - 730px);
  }
  footer div.grid-footer > div:nth-child(2) {
    width: 730px;
    text-align: right;
    font-size: 0;
    padding-left: 20px;
  }
  footer div.grid-footer > div:nth-child(2) > div {
    display: block;
    width: 100%;
  }
  footer div.grid-footer > div:nth-child(2) > div:last-child {
    /* width: 96px; */
  }
  div.disclaimer {
    margin-top: 50px;
  }

  div.locations {
    width: calc(100% + 30px);
    margin-left: -15px;
  }
  div.locations > div {
    padding: 0 15px;
  }

  div.comm-data {
    padding-right: 20px;
  }
}

@media only screen and (max-width: 1080px) {
  header {
    padding: 30px 20px;
  }

  div.cs-2 {
    padding: 0 0 30px 30px;
  }
  div.cs-2 div.title {
    font-size: 48px;
  }

  article.no-masthead {
    padding-top: 140px;
  }
  article > section {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  h2 {
    margin: 50px auto;
    padding-bottom: 20px;
  }

  div.locations {
    width: calc(100% + 20px);
    margin-left: -10px;
  }
  div.locations > div {
    padding: 0 10px;
  }

  div.wellness-list > div:first-child {
    padding-left: 30px;
  }
  div.wellness-list > div:first-child p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 980px) {
  footer #register {
    display: none;
  }
  footer div.grid-footer > div {
    display: block !important;
    width: 100% !important;
  }
  footer div.grid-footer > div:nth-child(2) div.addresses {
    max-width: 100%;
  }
  footer div.grid-footer > div:nth-child(2) {
    padding-left: 0;
    margin-top: 30px;
  }
  footer div.disclaimer p {
    text-align: right;
    padding-right: 20px;
    width: 100%;
  }

  div.grid.about-box > div:first-child {
    padding: 0 40px 0 0px;
  }

  div.timeline div.nav > ul > li > a {
    padding-left: 40px;
  }
  div.timeline div.nav > ul:first-child > li.active > a:before {
    width: 30px;
  }
  div.timeline div.nav > ul:first-child > li.active > a.subnav:before {
    display: none;
  }

  div.timeline div.nav ul > li > ul {
    padding-left: 70px;
  }
  div.timeline div.nav ul > li > ul a.active:before {
    width: 30px;
    height: 40px;
    left: -55px;
  }

  div.community-page div.comm-nav {
    padding-left: 0;
  }
  div.community-page div.comm-nav > ul > li > a {
    padding-left: 40px;
  }
  div.community-page div.comm-nav > ul:first-child > li.active > a:before {
    width: 30px;
    background-position: left center;
    height: 50px;
  }
  div.community-page
    div.comm-nav
    > ul:first-child
    > li.active
    > a.subnav:before {
    display: none;
  }

  div.community-page div.comm-nav ul > li > ul {
    padding-left: 70px;
  }
  div.community-page div.comm-nav ul > li > ul a.active:before {
    width: 30px;
    height: 40px;
    left: -55px;
  }

  div.community-page > p {
    font-size: 18px;
  }

  div.wellness-list > div {
    display: block;
    width: 100%;
  }
  div.wellness-list > div:last-child {
    width: 100%;
  }
  div.wellness-list > div:first-child {
    padding: 0;
    position: relative;
    margin-bottom: 30px;
  }
  div.wellness-list > div:first-child > ul {
    display: block;
    width: 100%;
    font-size: 0;
    text-align: center;
  }
  div.wellness-list > div:first-child > ul li {
    display: inline-block;
    width: auto;
    vertical-align: middle;
    margin-bottom: 20px;
  }
  div.wellness-list > div:first-child > ul li a {
    display: block;
    width: 100%;
    padding-bottom: 0px;
    cursor: pointer;
    padding: 0 20px;
  }
  div.wellness-list > div:first-child p {
    text-align: center;
  }
  div.wellness-list > div:last-child p {
    text-align: center;
  }
}

/**** Covid Messaging ****/
div.burger {
  top: 50px;
}

#top-bar-msg {
  height: 50px;
  color: #fff;
  background: #000;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
}

#top-bar-msg p {
  color: #fff;
}

#top-bar-msg a {
  color: #fff;
  text-decoration: underline;
  font-weight: 500;
}

#covid-container {
  max-width: 1440px;
  padding: 7% 20px 20px 20px;
  margin-bottom: 0px;
}

.appt-buttons a {
  color: white;
  background: black;
  padding: 10px 15px;
  margin-bottom: 30px;
  text-align: center;
  width: 240px;
  display: inline-block;
}

.appt-buttons a:first-of-type {
  margin-right: 10px;
}

.covid-flex-container {
  padding-top: 20px;
  display: flex;
  flex-direction: row;
}

.flex-item {
  flex: 30%;
  padding-right: 20px;
}
.flex-item:first-of-type {
  font-size: 30px;
  text-transform: uppercase;
  font-weight: 300;
}
.measure {
  display: flex;
  align-items: center;
  padding-bottom: 20px;
}

.measure img {
  width: 100px;
}
.measure p {
  margin: 10px;
  text-align: left;
}

.by-appt {
  font-weight: 700;
}

@media only screen and (max-width: 499px) {
  .appt-buttons a {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 900px) {
  #covid-container {
    padding-top: 10%;
  }
  .covid-flex-container {
    flex-direction: column;
    padding-top: 30px;
  }
  .flex-item:first-of-type {
    font-size: 25px;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 880px) {
  header div.logo {
    display: block;
    left: 0px;
    top: 0px;
    margin-bottom: 30px;
  }
  header div.logo a {
    display: block;
    width: 240px;
  }

  header nav ul > li > a {
    font-size: 18px;
    padding: 0 20px 0 0;
  }
  div.cs-2 div.title {
    font-size: 40px;
  }

  div.timeline > div:nth-child(1) {
    width: 250px;
  }
  div.timeline > div:nth-child(2) {
    width: calc(100% - 250px);
  }

  div.history-year label {
    width: 60px;
    font-size: 16px;
  }
  div.history-year {
    padding-left: 70px;
  }

  div.community-page > p {
    font-size: 16px;
    padding-left: 40px;
    bottom: -20px;
    padding-right: 20px;
    max-width: 260px;
  }

  div.community-page > div.comm-nav {
    width: 220px;
  }
  div.community-page > div:nth-child(3) {
    width: calc(100% - 220px);
  }

  div.fp-info h4 {
    font-size: 18px;
  }
  div.legend-container div {
    font-size: 16px;
  }
  div.comm-data div.locations > div {
    width: 100%;
    max-width: 320px;
  }
}

@media only screen and (max-width: 730px) {
  header {
    padding: 0px;
  }
  header div.logo {
    display: block;
    width: 100%;
  }
  header div.logo a {
    display: block;
    width: 100%;
    padding-top: 18px;
  }
  header div.logo a img {
    display: block;
    width: 100%;
    max-width: 180px;
    margin: 0 auto;
  }

  header nav {
    display: block;
    left: -500px;
    position: fixed;
    top: 50px;
    width: 400px;
    background: #000;
    min-height: 100vh;
    overflow: auto;
    padding-top: 60px;
  }
  header.active nav {
    left: 0;
  }
  header nav ul {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 0;
  }
  header nav ul > li {
    display: block;
    text-align: left;
  }
  header nav ul > li > a {
    display: block;
    width: 100%;
    text-align: left;
    line-height: 42px;
    color: #fff !important;
    font-size: 18px;
    padding: 0 20px;
  }
  header nav ul > li > a.active {
    color: #fff;
  }
  header nav ul > li:hover > a {
    color: #fff;
  }

  header.visible div.burger {
    display: block;
  }
  body.article-community-km header:not(.active) div.burger ul li,
  body.article-communities header:not(.active) div.burger ul li,
  body.article-news header:not(.active) div.burger ul li,
  body.article-gallery header:not(.active) div.burger ul li {
    background: #000;
  }

  article.no-masthead {
    padding-top: 100px;
  }

  div.masthead > img {
    height: 400px;
    width: auto;
    max-width: 9999px;
    position: relative;
    left: calc(50vw - 365px);
  }

  div.cs-2 {
    padding: 0 0 20px 20px;
  }
  div.cs-2 div.title {
    font-size: 32px;
  }

  footer div.disclaimer div.logo2 {
    display: none;
  }
  footer div.disclaimer p {
    text-align: left;
    width: 100%;
  }

  div.grid.about-box > div {
    display: block;
    width: 100%;
  }
  div.grid.about-box > div:first-child {
    padding: 0;
  }

  div.locations {
    width: calc(100% + 20px);
    margin-left: -10px;
    text-align: left;
  }
  div.locations > div {
    width: 50%;
    margin-bottom: 50px;
  }
  div.locations div.address div.thumb {
    margin-bottom: 20px;
  }
  div.locations > div:empty {
    display: none;
  }

  /*	div.timeline > div:nth-child(1),*/
  div.timeline > div:nth-child(2) {
    width: 100%;
    display: block;
    padding-left: 20px;
    padding-right: 20px;
  }
  div.timeline div.nav {
    margin-bottom: 40px;
  }
  /*	div.timeline div.nav >ul { text-align: left; font-size: 0}*/
  /*	div.timeline div.nav >ul > li { display: inline-block; vertical-align: top; width: auto}*/
  /*	div.timeline div.nav > ul > li > a { padding-left: 0; padding-right: 20px}*/
  /*	div.timeline div.nav > ul:first-child > li.active > a:before { display: none;}*/
  /*	div.timeline div.nav ul > li > ul { padding-left: 0}*/
  /*	div.timeline div.nav ul > li > ul a.active:before { display: none;}*/
  /*	div.timeline div.nav ul.kares-nav.active { margin-top: 0}*/
  /*/*	div.timeline div.nav ul > li > ul { padding-left: 0; position: absolute; left: 0; top: 40px;}*/
  */
/*	div.timeline div.nav > ul.kares-nav.active > li {display: block; width:100%; padding-right: 0}*/


	div.timeline {
    padding-top: 0px;
    min-height: 800px;
  }
  div.timeline div.burger {
    display: block;
    position: absolute;
    top: -115px;
    left: 0;
    width: 60px;
    height: 50px;
  }
  div.timeline div.burger ul li {
    background: #000;
  }
  div.timeline div.burger.active ul li:nth-child(2) {
    display: none;
  }
  div.timeline div.burger.active ul li:nth-child(1) {
    transform: rotate(45deg);
    transform-origin: 50% 0;
    top: 7px;
    transition: transform 0.1s ease-out;
  }
  div.timeline div.burger.active ul li:nth-child(3) {
    transform: rotate(-45deg);
    transform-origin: 50% 0%;
    top: 7px;
    transition: transform 0.1s ease-out;
  }

  div.timeline div.nav {
    margin: 0;
    padding: 0;
    position: absolute;
    left: -120vw;
    top: -50px;
    display: block;
    width: 100vw;
    background: #f4eff2;
    padding-top: 50px;
    padding-left: 20px;
    z-index: 99;
    padding-bottom: 20px;
    max-height: 100%;
    overflow: auto;
  }
  div.timeline div.data {
    display: block;
    width: 100%;
    padding: 0 20px;
  }
  div.timeline div.nav.active {
    left: 0;
  }
  div.timeline div.nav > ul {
    text-align: left;
    font-size: 0;
  }
  div.timeline div.nav > ul > li.active > a:before {
    background: url(/img/svg/arrow.svg) no-repeat left center;
    height: 50px;
  }

  div.timeline div.nav ul.kares-nav {
    margin-top: 0px;
  }

  div.grid > div.full-height {
    position: relative;
    height: auto;
  }

  div.community-page div.comm-nav > ul > li > a {
    padding-left: 40px;
  }
  div.community-page div.comm-nav > ul:first-child > li.active > a:before {
    width: 30px;
  }
  div.community-page
    div.comm-nav
    > ul:first-child
    > li.active
    > a.subnav:before {
    display: none;
  }

  div.community-page div.comm-nav ul > li > ul {
    padding-left: 70px;
  }
  div.community-page div.comm-nav ul > li > ul a.active:before {
    width: 30px;
    height: 40px;
    left: -55px;
  }

  div.community-page {
    padding-top: 0px;
  }
  div.community-page div.burger {
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
    width: 60px;
    height: 50px;
  }
  div.community-page div.burger ul li {
    background: #000;
  }

  div.community-page div.burger.active ul li:nth-child(2) {
    display: none;
  }
  div.community-page div.burger.active ul li:nth-child(1) {
    transform: rotate(45deg);
    transform-origin: 50% 0;
    top: 7px;
    transition: transform 0.1s ease-out;
  }
  div.community-page div.burger.active ul li:nth-child(3) {
    transform: rotate(-45deg);
    transform-origin: 50% 0%;
    top: 7px;
    transition: transform 0.1s ease-out;
  }

  div.community-page div.comm-nav {
    margin: 0;
    padding: 0;
    position: absolute;
    left: -120vw;
    top: 0;
    display: block;
    width: 100vw;
    background: #fbf4e9;
    padding-top: 50px;
    padding-left: 20px;
    z-index: 99;
    padding-bottom: 20px;
  }
  div.community-page div.comm-data {
    display: block;
    width: 100%;
    padding: 0 20px;
  }
  div.community-page div.comm-nav.active {
    left: 0;
  }
  div.community-page div.comm-nav > ul {
    text-align: left;
    font-size: 0;
  }
  div.community-page div.comm-nav > ul > li.active > a:before {
    background: url(/img/svg/arrow.svg) no-repeat left center;
    height: 50px;
  }
  /*	div.community-page div.comm-nav >ul > li { display: inline-block; vertical-align: top; width: auto}*/
  /*	div.community-page div.comm-nav > ul > li > a { padding-left: 0; padding-right: 20px}*/
  /*	div.community-page div.comm-nav > ul:first-child > li.active > a:before { display: none;}*/
  /*	div.community-page div.comm-nav ul > li > ul { padding-left: 0}*/
  /*	div.community-page div.comm-nav ul > li > ul a.active:before { display: none;}*/

  div.community-page > p {
    color: #fff;
    display: block;
    width: 100%;
    bottom: 20px;
    max-width: 100%;
    padding-right: 40px;
  }

  div.fp-info {
    padding-right: 0;
    padding-top: 60px;
  }
  div.legend-container {
    margin-top: 20px;
  }
  div.legend-container div > div {
    margin: 0 15px 0 10px;
    width: 30px;
    height: 30px;
    min-width: 30px;
  }
  div.legend-container div {
    font-size: 14px;
  }

  div.video-player a:after {
    width: 45px;
    height: 45px;
    margin-top: -22px;
    margin-left: -22px;
  }

  #community-km h2 {
    padding-left: 60px;
    text-align: left;
  }
}

@media only screen and (max-width: 600px) {
  body {
    font-size: 16px;
  }
  div.grid.grid-2 > div {
    display: block;
    width: 100%;
  }
  div.locations {
    width: 100%;
    margin-left: 0px;
    text-align: left;
  }
  div.locations > div {
    width: 100%;
    margin-bottom: 50px;
  }

  div.timeline div.nav > ul > li {
    display: block;
    width: 100%;
  }

  div.comm-intro > div {
    text-align: center;
  }
  div.grid > div.spaced-right {
    padding-right: 0;
  }
  div.comm-intro > div div.thumb img {
    margin: 0 auto;
    max-width: 240px;
  }

  div.wellness-list > div:first-child > ul li a {
    padding: 0 10px;
  }
  div.wellness-list > div:first-child > ul li a img {
    height: 30px;
  }

  div.wellness-list > div:last-child p {
    font-size: 18px;
  }
  p.large,
  p.larger {
    font-size: 18px;
  }
}

@media only screen and (max-width: 560px) {
  footer div.disclaimer {
    height: auto;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  footer div.disclaimer p {
    line-height: 1.5;
  }
  footer div.grid-footer > div:nth-child(2) div.address {
    display: block;
    width: 100%;
  }

  div.splitter.s50_50 > div,
  div.splitter.split-2 > div {
    display: block;
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  div.wellness-list > div:first-child > ul li a {
    padding: 0 7px;
  }
  div.wellness-list > div:first-child > ul li a img {
    height: 25px;
  }
}

/**** Wellness Dollhouse ****/
section.dollhouse-section {
  max-width: 1080px;
  margin: auto;
  padding: 0 20px;
}

.dollhouse-header h2 {
  text-transform: uppercase;
  font-weight: 300;
  border-bottom: none;
  text-align: left;
  margin: 60px auto;
  padding-bottom: 0;
}

.home-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.home-image {
  top: 10%;
  max-width: 100%;
}
.expand-circle {
  margin: 0;
  text-align: center;
  line-height: 25px;
  vertical-align: middle;
  /* display: inline; */
}
.circle {
  width: 25px;
  height: 25px;
  line-height: 25px;
  border-radius: 50%;
  font-size: 1em;
  text-align: center;
  background: #fff;
  font-weight: 100;
  display: block;
  top: -20px;
}
div.details-container.center-details {
  position: absolute;
  transform: translateX(-50%);
}

div.details-container {
  position: absolute;
  z-index: 8;
}

.feature-container,
.feature-container.left-click {
  position: absolute;
}

.feature-container div {
  position: absolute;
  transform: translateX(-109%);
}

.feature-container.left-click div {
  position: absolute;
  transform: translateX(9%);
}

.details-container {
  background-color: #fff;
  padding: 15px;
  width: 250px;
}

.details-container p {
  font-size: 1em;
  text-align: left;
  padding: 10px;
  margin: 0px;
  /* font-family: "gilroyregular", sans-serif; */
}

.details-container p:first-of-type {
  font-size: 1.2em;
  text-transform: uppercase;
}

.details-container p:last-of-type {
  font-weight: 300;
  line-height: 26px;
}

/**** fade in animation ****/
.fade-in {
  animation: fadeIn ease 0.6s;
  -webkit-animation: fadeIn ease 0.6s;
  -moz-animation: fadeIn ease 0.6s;
  -o-animation: fadeIn ease 10.6s;
  -ms-animation: fadeIn ease 0.6s;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-ms-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/**** detail points ****/

.feature-container.one-feature {
  top: 17%;
  left: 0%;
}

.feature-container.two-feature {
  top: 44%;
  left: 2%;
}

.feature-container.three-feature {
  top: 58%;
  left: 31%;
}

.feature-container.four-feature {
  top: 50%;
  left: 12%;
}

.feature-container.five-feature {
  bottom: 15%;
  left: 25%;
}

.feature-container.six-feature {
  top: 45%;
  left: 22%;
}
.feature-container.seven-feature {
  top: 2%;
  left: 31%;
}
.feature-container.eight-feature {
  top: 25%;
  left: 36%;
}
.feature-container.nine-feature {
  top: 37%;
  left: 40%;
}
.feature-container.ten-feature {
  top: 12%;
  left: 48%;
}
.feature-container.eleven-feature {
  bottom: 35%;
  left: 50%;
}
.feature-container.twelve-feature {
  bottom: 41%;
  left: 57%;
}
.feature-container.thirteen-feature {
  top: 29%;
  left: 60%;
}
.feature-container.fourteen-feature {
  bottom: 17%;
  left: 60%;
}
.feature-container.fifteen-feature {
  top: 22%;
  left: 65%;
}
.feature-container.sixteen-feature {
  top: 30%;
  left: 73%;
}
.feature-container.seventeen-feature {
  top: 21%;
  left: 78%;
}
.feature-container.eighteen-feature {
  bottom: 36%;
  left: 83%;
}
.feature-container.nineteen-feature {
  top: 47%;
  left: 95%;
}

/**** Media Queries ****/
@media only screen and (min-width: 800px) {
  .circle {
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 1.7em;
  }
  .expand-circle {
    line-height: 35px;
  }
  .details-container {
    background-color: #fff;
    padding: 15px;
    width: 300px;
  }
  div.details-container.center-details {
    position: absolute;
    transform: translateX(-108%);
  }
}


@media only screen and (max-width: 1024px) {
     header nav ul > li > a {
          font-size: 16px;
     }
}
@media only screen and (max-width: 768px) {
     header nav ul > li > a {
          font-size: 14px;
     }
     
     #communities div.grid.grid-3 > div{
      width: 50%;
     }  
     div.grid-past-comm h4{
      font-size: 16px;
     }
     
     div.grid-past-comm > div > div span{
      font-size: 14px;
     }
}
.rendering{
  display: block;
}
.rendering img{
  max-height: 600px;
  object-fit: contain;
}