.md {
  font-family: 'Material Icons';
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "liga" 1;
     -moz-font-feature-settings: "liga" 1;
          font-feature-settings: "liga" 1;
  font-style: normal;
  text-transform: none;
  line-height: 1;
  font-size: 24px;
  width: 24px;
  height: 24px;
  display: inline-block;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  margin: 1rem 0;
  padding: 0;
  border: 0; }

button, input, select, textarea {
  margin: 0;
  outline: 0 !important; }

button::-moz-focus-inner, input::-moz-focus-inner, select::-moz-focus-inner, textarea::-moz-focus-inner {
  border: 0; }

button, input, select {
  vertical-align: middle; }

ul {
  list-style: none; }

*,
*:before,
*:after {
  box-sizing: border-box; }

html {
  height: 100%;
  font-size: 62.5%; }

body {
  height: 100%;
  font-size: 1.6rem;
  font-family: "Montserrat", "Helvetica Neue", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  color: #1A1A1A;
  background-color: #fff;
  /* smooths type in all browsers */
  text-shadow: 1px 1px 1px rgba(26, 26, 26, 0.004);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  body.admin-preview-active {
    padding-top: 5rem; }

img {
  border: 0;
  display: block;
  max-width: 100%;
  height: auto; }

svg {
  position: relative;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  width: 100%;
  display: block; }

a {
  color: #f42434; }
  a:hover, a:focus, a:active {
    color: #029DFF; }

hr {
  background: #727272;
  float: left;
  width: 100%; }

.error {
  margin: 0 0 1.5rem 0;
  padding-top: 0;
  padding-left: 1.5rem;
  font-weight: 700;
  color: #d60d0d; }

h1,
h2,
h3 {
  margin: 1.5rem 0;
  padding: 0;
  line-height: 1.05;
  font-family: "Playfair Display", Georgia, "Helvetica Neue", serif;
  text-transform: uppercase; }

h1 {
  font-size: 4.8rem; }

h2 {
  font-size: 3.2rem; }

h3 {
  font-size: 2.4rem; }

h4 {
  font-size: 2.1rem; }

h5 {
  font-size: 1.8rem; }

h6 {
  font-size: 1.5rem; }

b,
strong {
  font-weight: 700; }

i,
em {
  font-style: italic; }

sup,
sub {
  font-size: 70%; }

sup {
  vertical-align: super; }

sub {
  vertical-align: sub; }

.cf, .cms-tabs, .cms-tabs-top {
  *zoom: 1; }
  .cf:before, .cms-tabs:before, .cms-tabs-top:before, .cf:after, .cms-tabs:after, .cms-tabs-top:after {
    content: ' ';
    display: table; }
  .cf:after, .cms-tabs:after, .cms-tabs-top:after {
    clear: both; }

/* ==========================================================================
 Page + Container
 ========================================================================== */
.page {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 5.3rem;
  overflow-x: hidden; }
  .page:before {
    content: "";
    z-index: 9999;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 0.5rem;
    width: 0.5rem;
    background: #a48d58;
    -webkit-transform: skew(-45deg) scale(0);
        -ms-transform: skew(-45deg) scale(0);
            transform: skew(-45deg) scale(0);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: -webkit-transform 600ms ease-in-out;
            transition: transform 600ms ease-in-out; }

.content_loading .page:before {
  -webkit-transform: skew(-45deg) scale(750);
      -ms-transform: skew(-45deg) scale(750);
          transform: skew(-45deg) scale(750);
  -webkit-transition: -webkit-transform 600ms ease-in-out;
          transition: transform 600ms ease-in-out; }

.container {
  margin: 0 auto;
  padding: 0 1.5rem;
  width: 100%;
  max-width: 1000px; }

/* ==========================================================================
Link Buttons (links that look like buttons)
========================================================================== */
.link_button {
  text-decoration: none;
  display: inline-block;
  padding: 1.5rem 2.4rem;
  background-color: #1A1A1A;
  border: 3px solid #1A1A1A;
  color: #fff;
  border-radius: 0px;
  font-size: 2.1rem;
  font-weight: 700;
  font-family: "Playfair Display", Georgia, "Helvetica Neue", serif;
  text-transform: uppercase;
  -webkit-transition: all 300ms ease-in-out;
          transition: all 300ms ease-in-out; }
  .link_button:hover, .link_button:focus, .link_button:active {
    background-color: #fff;
    border-color: #fff;
    color: #A48D58;
    box-shadow: inset 0px 0px 0px 2px #A48D58, 0px 0px 0px 1px #1A1A1A; }

/* ==========================================================================
CSS for Embeded videos
========================================================================== */
.video_widget_embed {
  /* wrap your iframe in an element with class="video" */
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 0px;
  padding: 0px 0px 62.5% 0px; }
  .video_widget_embed iframe, .video_widget_embed object, .video_widget_embed embed {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }

/* ==========================================================================
CMS Module Grid
========================================================================== */
.cms-section {
  float: left;
  width: 100%;
  margin-bottom: 3rem; }

.cms-module {
  float: left; }

.cms-module {
  padding: 1rem; }

.cms-module-12,
.cms-module-9,
.cms-module-8,
.cms-module-6,
.cms-module-4,
.cms-module-3 {
  width: 100%; }

/* ==========================================================================
Screen size greater than 800 pixels -- May change based on '.container' max-width
========================================================================== */
@media all and (min-width: 850px) {
  .cms-module-12 {
    width: 100%; }

  .cms-module-9 {
    width: 75%; }

  .cms-module-8 {
    width: 66.66667%; }

  .cms-module-6 {
    width: 50%; }

  .cms-module-4 {
    width: 33.33333%; }

  .cms-module-3 {
    width: 25%; }

  .admin-preview {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    height: 50px;
    padding: 0 10px;
    background-color: #d60d0d;
    color: #fff; }
    .admin-preview h2 {
      margin: 0;
      font-size: 22px;
      font-weight: normal;
      line-height: 50px; }
      .admin-preview h2 em {
        margin-left: 10px;
        font-style: normal;
        font-size: 14px; }
    .admin-preview a {
      position: absolute;
      top: 15px;
      right: 15px;
      font-size: 14px;
      font-weight: bold;
      line-height: 20px;
      color: white;
      text-decoration: none;
      -webkit-transition: color 0.125s;
              transition: color 0.125s; }
      .admin-preview a:after {
        content: '\25B6';
        margin-left: 2px; }
      .admin-preview a:hover {
        color: #f42434; } }
.viewer_contain {
  margin-bottom: 1.6rem;
  border-bottom: 1px solid #727272; }

span.viewer,
div.viewer,
a.viewer {
  margin: 0 1rem 0 0;
  cursor: pointer;
  padding: 1.5rem 2.4rem;
  background-color: #1A1A1A;
  border: 3px solid #1A1A1A;
  color: #fff;
  border-radius: 0px;
  font-size: 2.1rem;
  font-weight: 700;
  font-family: "Playfair Display", Georgia, "Helvetica Neue", serif;
  text-transform: uppercase;
  -webkit-transition: all 300ms ease-in-out;
          transition: all 300ms ease-in-out; }
  span.viewer:last-child,
  div.viewer:last-child,
  a.viewer:last-child {
    margin-right: 0; }
  span.viewer:hover, span.viewer:focus, span.viewer:active,
  div.viewer:hover,
  div.viewer:focus,
  div.viewer:active,
  a.viewer:hover,
  a.viewer:focus,
  a.viewer:active {
    background-color: #fff;
    border-color: #fff;
    color: #A48D58;
    box-shadow: inset 0px 0px 0px 2px #A48D58, 0px 0px 0px 1px #1A1A1A; }

header {
  width: 100%;
  z-index: 30;
  overflow: visible;
  background-color: #1A1A1A;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  position: fixed;
  top: 0;
  left: 0; }

.logo {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  height: 100%;
  width: 6rem;
  z-index: 1;
  text-decoration: none;
  padding-left: 1rem;
  background-color: #fff;
  -webkit-transition: width 300ms ease-in-out;
          transition: width 300ms ease-in-out; }
  .logo:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -4.7rem;
    height: 100%;
    border-bottom: 5.3rem solid transparent;
    border-left: 4.7rem solid #fff; }

header #logo_icon path,
header #logotype path {
  fill: #A48D58; }

#logo_icon {
  width: 5rem;
  display: inline-block;
  vertical-align: middle; }

#logotype {
  display: none; }
  @media all and (min-width: 600px) {
    #logotype {
      display: inline-block;
      vertical-align: middle;
      width: 24rem;
      margin-left: 0.5rem; } }

.menu {
  width: auto;
  display: inline-block;
  float: right;
  cursor: pointer;
  line-height: 1;
  font-size: 2.1rem;
  padding: 1.6rem;
  color: #fff;
  background: #1A1A1A;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

nav {
  position: absolute;
  margin: 0;
  top: 0;
  right: 0;
  width: 100%; }
  nav .submenu {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    height: 3.5rem;
    /* sum of font-size + top/bottom padding */
    width: auto;
    padding: 0 1.5rem;
    cursor: pointer;
    background: transparent;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none; }
  nav .submenu:before {
    content: "";
    display: block;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #A48D58;
    position: relative;
    top: 0;
    transition: all 300ms linear;
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -o-transition: all 300ms linear; }
  nav .show_submenu .submenu:before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
  nav .top_menu {
    position: absolute;
    top: 5.33rem;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    z-index: 1;
    background-color: #1A1A1A; }
  nav .top_menu li {
    position: relative;
    width: 100%;
    border-bottom: 1px dotted #fff;
    padding: 0; }
    nav .top_menu li:last-child {
      border-bottom: none; }
    nav .top_menu li a {
      width: 80%;
      /* decrease width to prevent link + target overlap */
      display: block;
      padding: 0.5rem 1.5rem;
      text-decoration: none;
      text-transform: uppercase;
      color: #fff; }
      nav .top_menu li a:hover, nav .top_menu li a:focus, nav .top_menu li a:active {
        color: #A48D58; }
  nav .top_menu ul.sub {
    position: relative;
    top: 0;
    display: none;
    overflow: hidden;
    width: 100%;
    margin-top: 0;
    border-top: 1px dotted #fff;
    background-color: #1A1A1A; }
    nav .top_menu ul.sub li {
      width: 100%;
      border-color: #fff; }
      nav .top_menu ul.sub li.sub-menu-first {
        border-top: 1px solid #1A1A1A; }
      nav .top_menu ul.sub li.sub-menu-last, nav .top_menu ul.sub li:last-child {
        border-bottom: none; }
      nav .top_menu ul.sub li a {
        width: 100%;
        padding-left: 3.2rem;
        color: #fff; }
        nav .top_menu ul.sub li a:hover, nav .top_menu ul.sub li a:focus, nav .top_menu ul.sub li a:active {
          color: #A48D58; }

@media all and (min-width: 600px) {
  .logo {
    width: 34rem;
    margin: 0;
    display: inline-block;
    padding: 0 3rem 0 1rem;
    -webkit-transition: none;
            transition: none; } }
@media all and (min-width: 850px) {
  .menu,
  nav .submenu {
    display: none; }

  nav {
    position: relative;
    margin: 0;
    float: right;
    display: inline-block;
    width: auto;
    background-color: #1A1A1A; }
    nav .top_menu {
      position: relative;
      top: auto;
      left: auto;
      margin: 0 auto;
      width: auto;
      font-size: 0;
      /* trick to remove HTML whitespace between inline-block elements */
      text-align: center;
      background-color: transparent; }
    nav .top_menu li {
      position: relative;
      z-index: 200;
      width: auto;
      margin-right: 0;
      display: inline-block;
      border: none;
      text-align: left; }
    nav .top_menu li:last-child {
      margin-right: 0; }
    nav .top_menu li a {
      z-index: 200;
      display: inline-block;
      padding: 1.4rem;
      width: auto;
      font-size: 1.6rem;
      color: #fff;
      font-weight: 400; }
    nav .top_menu ul.sub {
      position: absolute;
      display: block;
      top: 5rem;
      /* font size + top/bottom padding of parent li - border-top */
      left: 0;
      background-color: #fff;
      overflow: visible;
      padding: 0 .75rem .15rem .75rem;
      /* slight bottom padding for aesthetics */
      width: auto;
      min-width: 16rem;
      /* could be smaller or larger depending on design */
      border-top: 3px solid #A48D58;
      box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15); }
      nav .top_menu ul.sub:before {
        content: "";
        display: block;
        position: absolute;
        top: -1rem;
        left: 15%;
        width: 0;
        height: 0;
        border-right: 1rem solid transparent;
        border-bottom: 1rem solid #A48D58;
        border-left: 1rem solid transparent; }
    nav .top_menu .main-menu-last ul.sub {
      /* make sub-menus of last main nav item align to right */
      left: auto;
      right: 0; }
    nav .top_menu ul.sub li {
      border-bottom: 1px dotted #727272;
      margin: 0;
      padding: 0; }
    nav .top_menu ul.sub li:first-child {
      border-top: none; }
    nav .top_menu ul.sub li:last-child {
      border-bottom: none; }
    nav .top_menu ul.sub li a {
      padding: 1rem 0.5rem;
      color: #1A1A1A;
      font-size: 1.4rem; } }
main {
  position: relative;
  width: 100%;
  margin-bottom: 3rem;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  z-index: 1; }
  @media all and (min-width: 850px) {
    main {
      margin-bottom: 0; } }
  main section {
    overflow: hidden; }
  main section.full {
    float: none;
    width: 100%; }
  main p {
    margin: 1.5rem 0; }
  main p a {
    font-weight: 700;
    color: #A48D58;
    text-decoration: none;
    border-bottom: 1px dotted #A48D58;
    -webkit-transition: color 300ms ease-in-out, border-color 300ms ease-in-out;
            transition: color 300ms ease-in-out, border-color 300ms ease-in-out; }
    main p a:hover, main p a:focus, main p a:active {
      color: #727272;
      border-bottom-color: #727272;
      border-bottom-style: solid; }
  main ol {
    list-style: numbered; }
  main ul {
    list-style: disc; }
  main ol, main ul {
    list-style-position: outside;
    padding-left: 2rem;
    margin: 0 0 1.5rem 0; }

.cms-section .cms-module-text:not(:only-child) {
  box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.15);
  position: relative;
  padding: 1.5rem 3rem; }
  .cms-section .cms-module-text:not(:only-child) .cms-text {
    position: relative;
    z-index: 3; }
  .cms-section .cms-module-text:not(:only-child):before {
    content: "";
    display: block;
    z-index: 2;
    bottom: 0;
    right: 0;
    position: absolute;
    border-top: 13rem solid #fff;
    border-right: 13rem solid transparent; }
  .cms-section .cms-module-text:not(:only-child):after {
    content: "";
    display: block;
    z-index: 1;
    bottom: 0;
    right: 0;
    position: absolute;
    height: 13rem;
    width: 13rem;
    background: -webkit-repeating-linear-gradient(135deg, transparent, transparent 4px, #A48D58 4px, #A48D58 8px);
    background: repeating-linear-gradient(-45deg, transparent, transparent 4px, #A48D58 4px, #A48D58 8px);
    opacity: 0.25; }

.cms-module-cta {
  z-index: 3;
  position: relative;
  box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.15);
  padding: 1.5rem 3rem; }
  .cms-module-cta * {
    z-index: 4;
    position: relative; }
  .cms-module-cta:before {
    content: "";
    display: block;
    z-index: 2;
    bottom: 0;
    right: 0;
    position: absolute;
    border-top: 13rem solid #fff;
    border-right: 13rem solid transparent; }
  .cms-module-cta:after {
    content: "";
    display: block;
    z-index: 1;
    bottom: 0;
    right: 0;
    position: absolute;
    height: 13rem;
    width: 13rem;
    background: -webkit-repeating-linear-gradient(135deg, transparent, transparent 4px, #A48D58 4px, #A48D58 8px);
    background: repeating-linear-gradient(-45deg, transparent, transparent 4px, #A48D58 4px, #A48D58 8px);
    opacity: 0.25; }
  .cms-module-cta .cms-cta-title {
    margin-top: 0; }
  .cms-module-cta .cms-cta-text {
    margin-bottom: 3rem; }

.cms-link-image {
  position: relative;
  overflow: hidden;
  display: block; }
  .cms-link-image .link-image-title {
    color: #fff;
    font-family: "Playfair Display", Georgia, "Helvetica Neue", serif;
    text-transform: uppercase;
    font-size: 2.8rem;
    display: block;
    line-height: 1.125;
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 2; }
  .cms-link-image img {
    -webkit-filter: gray;
            filter: gray;
    filter: grayscale(1);
    -webkit-filter: grayscale(1);
    -webkit-transition: all 300ms ease-in-out;
            transition: all 300ms ease-in-out; }
  .cms-link-image:after {
    content: "";
    display: block;
    z-index: 1;
    top: 0;
    left: 0;
    position: absolute;
    height: 100%;
    width: 100%;
    -webkit-transform: skew(-47deg) scale(1);
        -ms-transform: skew(-47deg) scale(1);
            transform: skew(-47deg) scale(1);
    background: rgba(164, 141, 88, 0.85);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: all 300ms ease-in-out;
            transition: all 300ms ease-in-out; }
  .cms-link-image:hover img, .cms-link-image:focus img, .cms-link-image:active img {
    filter: none;
    -webkit-filter: grayscale(0); }
  .cms-link-image:hover:after, .cms-link-image:focus:after, .cms-link-image:active:after {
    -webkit-transform: skew(-47deg) scale(2);
        -ms-transform: skew(-47deg) scale(2);
            transform: skew(-47deg) scale(2);
    background: rgba(164, 141, 88, 0.25); }

.cms-module-blurb-image img {
  margin: 0 auto; }

.cms-section:not(:first-of-type) h1 {
  margin-top: 0; }

footer {
  width: 100%;
  padding: 0;
  margin-top: 3rem;
  background-color: #fff;
  color: #fff;
  font-size: 1rem;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  position: relative; }
  footer .logo_legal_wrapper {
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right;
    padding: 0 1rem 1.5rem 0; }
    footer .logo_legal_wrapper:after {
      content: "";
      display: block;
      z-index: 1;
      bottom: 0;
      right: 0;
      position: absolute;
      height: 100%;
      border-top: 25rem solid transparent;
      border-right: 25rem solid rgba(164, 141, 88, 0.85);
      -webkit-transition: all 500ms ease-in-out;
              transition: all 500ms ease-in-out; }
  footer .address,
  footer .legal {
    width: 100%;
    z-index: 2;
    position: relative; }
  footer .vsi {
    display: inline-block;
    overflow: hidden;
    margin: 1rem auto;
    width: 120px;
    z-index: 2;
    position: relative;
    height: 30px;
    background: no-repeat url("https://static.visionary.com/siteoncall/visionary-reverse.png");
    text-indent: 100%;
    white-space: nowrap; }

.social {
  margin-bottom: 1.5rem; }
  .social li {
    display: inline-block;
    height: 3.2rem;
    width: 3.2rem;
    position: relative;
    margin-right: 1.5rem; }
    .social li:last-child {
      margin: 0; }
    .social li:first-child {
      margin-left: 1.5rem; }
  .social a {
    display: block;
    height: 3.2rem;
    padding: 0.75rem;
    position: relative; }
    .social a svg {
      z-index: 2; }
    .social a:after {
      content: "";
      display: block;
      height: 100%;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
          -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg);
      background-color: #A48D58;
      -webkit-transition: all 750ms cubic-bezier(0.5, -0.05, 0.15, 1.6);
              transition: all 750ms cubic-bezier(0.5, -0.05, 0.15, 1.6); }
    .social a:hover:after, .social a:focus:after, .social a:active:after {
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          -ms-transform: translate(-50%, -50%) rotate(-45deg);
              transform: translate(-50%, -50%) rotate(-45deg);
      opacity: 0.85; }

@media all and (min-width: 1010px) {
  footer .container {
    padding: 0; } }
@media all and (min-width: 850px) {
  footer {
    text-align: left; }

  footer .vsi {
    display: inline-block;
    margin-bottom: 0; } }
#popup_overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99998;
  background-color: #1A1A1A;
  background-color: rgba(26, 26, 26, 0.45); }

#popup_container {
  min-width: 300px;
  max-width: 600px;
  background-color: #fff;
  border-radius: .3rem;
  box-shadow: 0 0 10px rgba(26, 26, 26, 0.4); }
  #popup_container .popup_notice {
    color: #d60d0d; }

#popup_title {
  padding: .5rem 1.5rem;
  background-color: #7accc8;
  color: #fff;
  font-size: 2.6rem;
  font-weight: normal;
  border-radius: .3rem .3rem 0 0;
  line-height: 3.2rem;
  cursor: default; }
  .alert #popup_title:before, .confirm #popup_title:before {
    margin-right: .5rem;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .alert #popup_title:before {
    content: '\e90a'; }
  .confirm #popup_title:before {
    content: '\e909'; }

#popup_content {
  padding: 1rem 1.5rem; }

#popup_panel {
  margin-top: 1rem; }

#popup_prompt {
  margin: .5em 0em; }

input.socv {
  display: none; }

.form,
.buttons {
  width: 100%;
  float: left;
  margin: 0 auto; }

.buttons {
  margin: 1.5rem 0
  /* Button, Submit, and Cancel Form Buttons */ }
  .buttons button,
  .buttons input[type="submit"],
  .buttons input[type="reset"] {
    margin: 0 1rem 0 0;
    cursor: pointer;
    padding: 1.5rem 2.4rem;
    background-color: #1A1A1A;
    border: 3px solid #1A1A1A;
    color: #fff;
    border-radius: 0px;
    font-size: 2.1rem;
    font-weight: 700;
    font-family: "Playfair Display", Georgia, "Helvetica Neue", serif;
    text-transform: uppercase;
    -webkit-transition: all 300ms ease-in-out;
            transition: all 300ms ease-in-out; }
    .buttons button:last-child,
    .buttons input[type="submit"]:last-child,
    .buttons input[type="reset"]:last-child {
      margin-right: 0; }
    .buttons button:hover, .buttons button:focus, .buttons button:active,
    .buttons input[type="submit"]:hover,
    .buttons input[type="submit"]:focus,
    .buttons input[type="submit"]:active,
    .buttons input[type="reset"]:hover,
    .buttons input[type="reset"]:focus,
    .buttons input[type="reset"]:active {
      background-color: #fff;
      border-color: #fff;
      color: #A48D58;
      box-shadow: inset 0px 0px 0px 2px #A48D58, 0px 0px 0px 1px #1A1A1A; }

.fgrid {
  *zoom: 1; }
  .fgrid:before, .fgrid:after {
    content: ' ';
    display: table; }
  .fgrid:after {
    clear: both; }
  .fgrid section,
  .fgrid .form_section {
    float: left;
    width: 100%; }
  .fgrid .fgrid-no-label {
    margin-top: 2.2rem; }
  .fgrid .fgrid-no-padding {
    padding-right: 0; }
  .fgrid fieldset {
    float: left;
    margin-bottom: 2.4rem;
    padding-right: 2rem; }
    .fgrid fieldset label {
      display: inline-block; }
  .fgrid .fgrid-col-1, .fgrid .fgrid-col-2, .fgrid .fgrid-col-3, .fgrid .fgrid-col-4, .fgrid .fgrid-col-5, .fgrid .fgrid-col-6, .fgrid .fgrid-col-7, .fgrid .fgrid-col-8, .fgrid .fgrid-col-9, .fgrid .fgrid-col-10, .fgrid .fgrid-col-11, .fgrid .fgrid-col-12 {
    width: 100%; }
  @media all and (min-width: 600px) {
    .fgrid .fgrid-col-1, .fgrid .fgrid-col-2, .fgrid .fgrid-col-3 {
      width: 25%; }
    .fgrid .fgrid-col-4, .fgrid .fgrid-col-5, .fgrid .fgrid-col-6, .fgrid .fgrid-col-7 {
      width: 50%; }
    .fgrid .fgrid-col-8, .fgrid .fgrid-col-9, .fgrid .fgrid-col-10, .fgrid .fgrid-col-11, .fgrid .fgrid-col-12 {
      width: 100%; } }
  @media all and (min-width: 850px) {
    .fgrid .fgrid-col-1 {
      width: 8.33333%; }
    .fgrid .fgrid-col-2 {
      width: 16.66667%; }
    .fgrid .fgrid-col-5 {
      width: 41.66667%; }
    .fgrid .fgrid-col-7 {
      width: 58.33333%; }
    .fgrid .fgrid-col-10 {
      width: 83.33333%; }
    .fgrid .fgrid-col-11 {
      width: 91.66667%; }
    .fgrid .fgrid-col-12 {
      width: 100%; }
    .fgrid .fgrid-col-9 {
      width: 75%; }
    .fgrid .fgrid-col-8 {
      width: 66.66667%; }
    .fgrid .fgrid-col-6 {
      width: 50%; }
    .fgrid .fgrid-col-4 {
      width: 33.33333%; }
    .fgrid .fgrid-col-3 {
      width: 25%; } }
  .fgrid .fgrid-note {
    float: left;
    padding-left: .5rem;
    font-size: 1.1rem;
    line-height: 1.4rem;
    color: #4d4d4d; }

label.req, label.required {
  font-weight: 700; }
  label.req:after, label.required:after {
    content: "*";
    display: inline-block;
    color: #f42434;
    margin-left: 0.25rem;
    line-height: 1; }
label em,
label .label-error {
  margin-left: 1rem;
  font-style: normal;
  font-weight: normal;
  font-size: 1.4rem;
  color: #404040; }
label .label-error {
  color: #f42434; }

button,
input[type="submit"],
input[type="reset"],
fieldset input[type="text"],
fieldset input[type="password"],
fieldset input[type="email"],
fieldset input[type="number"],
fieldset input[type="tel"],
fieldset input[type="url"],
fieldset input[type="search"],
fieldset input[type="date"],
fieldset textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
  width: 100%;
  height: 4.2rem;
  padding: 0 0.5rem;
  line-height: 3rem;
  border: 1px solid #727272;
  border-radius: 0;
  font-family: "Helvetica Neue", sans-serif;
  font-size: 1.6rem; }
  input[type="text"].error,
  input[type="email"].error,
  input[type="password"].error,
  input[type="number"].error,
  input[type="search"].error,
  textarea.error,
  select.error {
    border-color: #f42434; }
    input[type="text"].error ~ label,
    input[type="email"].error ~ label,
    input[type="password"].error ~ label,
    input[type="number"].error ~ label,
    input[type="search"].error ~ label,
    textarea.error ~ label,
    select.error ~ label {
      color: #f42434; }

textarea {
  height: 9rem;
  line-height: 1.5;
  padding: 0.5rem; }

.fgrid-float-label {
  position: relative; }
  .fgrid-float-label label {
    position: absolute;
    top: 0;
    left: 0;
    padding: .6rem .5rem;
    line-height: 3rem;
    color: #b3b3b3;
    -webkit-transition: all .15s ease;
            transition: all .15s ease; }
  .fgrid-float-label textarea ~ label {
    padding-top: 0; }
  .fgrid-float-label input[type="text"],
  .fgrid-float-label input[type="email"],
  .fgrid-float-label input[type="password"],
  .fgrid-float-label input[type="number"],
  .fgrid-float-label input[type="search"],
  .fgrid-float-label select {
    padding: .9rem .5rem .1rem; }
  .fgrid-float-label textarea {
    float: left;
    padding-top: 1.3rem;
    resize: none; }
  .fgrid-float-label input.filled ~ label,
  .fgrid-float-label input:focus ~ label,
  .fgrid-float-label textarea.filled ~ label,
  .fgrid-float-label textarea:focus ~ label,
  .fgrid-float-label select.filled ~ label,
  .fgrid-float-label select:focus ~ label {
    font-size: 1rem;
    line-height: 1.2rem;
    padding: .3rem .5rem 0; }

.field_note {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.25;
  display: inline-block;
  font-style: italic; }

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0); }

#cboxWrapper {
  max-width: none; }

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%; }

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left; }

#cboxContent {
  position: relative; }

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

#cboxTitle {
  margin: 0; }

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer; }

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic; }

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0; }

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; }

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #fff;
  opacity: 0.9;
  filter: alpha(opacity=90); }

#colorbox {
  outline: 0; }

#cboxContent {
  margin-top: 32px;
  overflow: visible;
  background: #000; }

.cboxIframe {
  background: #fff; }

#cboxError {
  padding: 50px;
  border: 1px solid #ccc; }

#cboxLoadedContent {
  background: #000;
  padding: 1px; }

#cboxLoadingGraphic {
  background: url(images/loading.gif) no-repeat center center; }

#cboxLoadingOverlay {
  background: #000; }

#cboxTitle {
  position: absolute;
  top: -22px;
  left: 0;
  color: #000; }

#cboxCurrent {
  position: absolute;
  top: -22px;
  right: 205px;
  text-indent: -9999px; }

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -20px;
  background: url(images/controls.png) no-repeat 0 0; }

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0; }

#cboxPrevious {
  background-position: 0px 0px;
  right: 44px; }

#cboxPrevious:hover {
  background-position: 0px -25px; }

#cboxNext {
  background-position: -25px 0px;
  right: 22px; }

#cboxNext:hover {
  background-position: -25px -25px; }

#cboxClose {
  background-position: -50px 0px;
  right: 0; }

#cboxClose:hover {
  background-position: -50px -25px; }

.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious {
  right: 66px; }

.cboxSlideshow_on #cboxSlideshow {
  background-position: -75px -25px;
  right: 44px; }

.cboxSlideshow_on #cboxSlideshow:hover {
  background-position: -100px -25px; }

.cboxSlideshow_off #cboxSlideshow {
  background-position: -100px 0px;
  right: 44px; }

.cboxSlideshow_off #cboxSlideshow:hover {
  background-position: -75px -25px; }

.cms-gallery-list {
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-size: 0;
  text-align: center; }
  .cms-gallery-list li {
    display: inline-block;
    width: 100px;
    margin: 0;
    cursor: pointer; }
    .cms-gallery-list li img {
      max-width: 100%; }
  @media all and (min-width: 850px) {
    .cms-gallery-list {
      text-align: left; } }

#cboxOverlay {
  background: #A48D58; }

.cms-map {
  position: relative;
  width: 100%;
  max-height: 600px; }
  .cms-map:after {
    content: '';
    display: block;
    padding-top: 56.25%; }
  .cms-map-map {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0; }
  .cms-map-info {
    display: none; }

.cms-slider {
  width: 100%; }
  .cms-slider img {
    max-width: 100%; }
  .cms-slider-item {
    text-align: center; }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    display: table;
    content: ''; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  [dir='rtl'] .slick-slide {
    float: right; }
  .slick-slide img {
    display: inline-block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-loading .slick-list {
  background: #fff url("/images/body/ajax-loader.gif") center center no-repeat; }

.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  z-index: 9999;
  display: block;
  width: 4rem;
  height: 4rem;
  padding: 0;
  margin-top: -2rem;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent; }
  .slick-prev::-moz-focus-inner,
  .slick-next::-moz-focus-inner {
    border: 0; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent; }
  .slick-prev::-moz-focus-inner,
  .slick-next::-moz-focus-inner {
    border: 0; }
  .slick-prev:hover:before, .slick-prev:focus:before,
  .slick-next:hover:before,
  .slick-next:focus:before {
    background-color: #1A1A1A; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: .25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: 'Material Icons';
    font-size: 3rem;
    line-height: 4rem;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    width: 4rem;
    height: 4rem;
    background-color: #A48D58;
    border-radius: 100%;
    -webkit-transition: background 300ms ease-in-out;
            transition: background 300ms ease-in-out; }

.slick-prev {
  left: 0; }
  [dir='rtl'] .slick-prev {
    right: 1rem;
    left: auto; }
    [dir='rtl'] .slick-prev:before {
      content: '\e5cc'; }
  .slick-prev:before {
    content: '\e5cb'; }

.slick-next {
  right: 0; }
  [dir='rtl'] .slick-next {
    right: auto;
    left: 1rem; }
    [dir='rtl'] .slick-next:before {
      content: '\e5cb'; }
  .slick-next:before {
    content: '\e5cc'; }

.slick-dots {
  position: absolute;
  bottom: 1rem;
  left: 0;
  right: 0;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    cursor: pointer; }
  .slick-dots li button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    outline: none;
    font-size: 0;
    cursor: pointer; }
    .slick-dots li button::-moz-focus-inner {
      border: 0; }
    .slick-dots li button:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 14px;
      height: 14px;
      margin: -4px 0 0 -4px;
      background-color: #fff;
      box-shadow: 0px 1px 2px rgba(26, 26, 26, 0.25);
      border-radius: 100%;
      -webkit-transition: background-color .1s;
              transition: background-color .1s; }
    .slick-dots li button:hover:before, .slick-dots li button:focus:before {
      background-color: #1A1A1A;
      outline: none; }
  .slick-dots li.slick-active button:before {
    background-color: #A48D58; }

.cms-tabs {
  position: relative; }

.cms-tabs-top {
  position: relative;
  bottom: -1px;
  float: left;
  display: inline-block;
  border-width: 1px;
  border-radius: .3rem .3rem 0 0; }
  .cms-tabs-top span {
    position: relative;
    float: left;
    display: inline-block;
    padding: 1rem;
    border: 1px solid #d9d9d9;
    border-width: 1px 0 1px 1px;
    background-color: #f5f5f5;
    cursor: pointer;
    -webkit-transition: all .1s;
            transition: all .1s; }
    .cms-tabs-top span:first-of-type {
      border-top-left-radius: .3rem; }
    .cms-tabs-top span:last-of-type {
      border-right-width: 1px;
      border-top-right-radius: .3rem; }
    .cms-tabs-top span.active {
      background-color: #fff;
      border-bottom-color: #fff; }
      .cms-tabs-top span.active:hover, .cms-tabs-top span.active:focus, .cms-tabs-top span.active:active {
        background-color: #fff; }
    .cms-tabs-top span:hover, .cms-tabs-top span:focus, .cms-tabs-top span:active {
      background-color: #e6e6e6; }

.cms-tabs-bottom {
  float: left;
  width: 100%;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 0 0 .3rem .3rem; }
  .cms-tabs-bottom-tab {
    display: none;
    padding: 1rem; }
  .cms-tabs-bottom-tab.active {
    display: block; }

.cms-toggle-item {
  position: relative;
  margin-bottom: 1.5rem;
  padding: 1rem 0 1rem 5rem; }
  .cms-toggle-item.active {
    background-color: #fff; }
  .cms-toggle-item:last-of-type {
    margin-bottom: 0; }
  .cms-toggle-item-title {
    cursor: pointer;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1; }
  .cms-toggle-item-toggle {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #A48D58;
    background-color: #A48D58;
    padding: 0.5rem;
    height: 3.2rem;
    width: 3.2rem;
    position: absolute;
    top: .6rem;
    left: 0;
    display: block;
    text-align: center;
    cursor: pointer;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transition: -webkit-transform 300ms cubic-bezier(0.25, 0, 0.15, 1.6);
            transition: transform 300ms cubic-bezier(0.25, 0, 0.15, 1.6); }
    .cms-toggle-item-toggle .material-icons {
      display: inline-block;
      font-size: 2rem;
      height: 100%;
      color: #fff;
      line-height: 1;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .active .cms-toggle-item-toggle {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
  .cms-toggle-item-content {
    display: none; }
    .active .cms-toggle-item-content {
      display: block; }

.cms-video-wrapper {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  padding-top: 25px; }
  .cms-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* ==========================================================================
 Banners
 ========================================================================== */
.banners {
  position: relative; }
  .banners .slick-track,
  .banners .slick-list {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  .banners .banner {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .banners .banner:before {
      content: "";
      display: block;
      height: 0;
      width: 100%;
      padding-top: 44.4444%; }
    @media all and (min-width: 1010px) {
      .banners .banner {
        background-position: center 5.3rem;
        background-attachment: fixed;
        background-size: contain; } }
    .banners .banner a {
      display: inline-block;
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .banners #logo_icon {
    height: 100%;
    width: auto;
    position: absolute;
    top: 0;
    right: 0; }
  @media all and (min-width: 1010px) {
    .banners {
      width: 100vw;
      position: relative;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw; } }

.cmskey_index section.container {
  overflow: visible;
  padding: 0; }
  @media all and (min-width: 1010px) {
    .cmskey_index section.container {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
.cmskey_index .cms-module-data {
  padding: 0; }
