.ccm-page {
  /*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
  /* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
  /*
   * What follows is the result of much research on cross-browser styling.
   * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
   * Kroc Camen, and the H5BP dev community and team.
   */
  /* ==========================================================================
     Base styles: opinionated defaults
     ========================================================================== */
  /*
   * Remove text-shadow in selection highlight:
   * https://twitter.com/miketaylr/status/12228805301
   *
   * Vendor-prefixed and regular ::selection selectors cannot be combined:
   * https://stackoverflow.com/a/16982510/7133471
   *
   * Customize the background color to match your design.
   */
  /*
   * A better looking default horizontal rule
   */
  /*
   * Remove the gap between audio, canvas, iframes,
   * images, videos and the bottom of their containers:
   * https://github.com/h5bp/html5-boilerplate/issues/440
   */
  /*
   * Remove default fieldset styles.
   */
  /*
   * Allow only vertical resizing of textareas.
   */
  /* ==========================================================================
     Author's custom styles
     ========================================================================== */
  /* ==========================================================================
     Helper classes
     ========================================================================== */
  /*
   * Hide visually and from screen readers
   */
  /*
   * Hide only visually, but have it available for screen readers:
   * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
   *
   * 1. For long content, line feeds are not interpreted as spaces and small width
   *    causes content to wrap 1 word per line:
   *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
   */
  /*
   * Extends the .sr-only class to allow the element
   * to be focusable when navigated to via the keyboard:
   * https://www.drupal.org/node/897638
   */
  /*
   * Hide visually and from screen readers, but maintain layout
   */
  /*
   * Clearfix: contain floats
   *
   * For modern browsers
   * 1. The space content is one way to avoid an Opera bug when the
   *    `contenteditable` attribute is included anywhere else in the document.
   *    Otherwise it causes space to appear at the top and bottom of elements
   *    that receive the `clearfix` class.
   * 2. The use of `table` rather than `block` is only necessary if using
   *    `:before` to contain the top-margins of child elements.
   */
  /* ==========================================================================
     EXAMPLE Media Queries for Responsive Design.
     These examples override the primary ('mobile first') styles.
     Modify as content requires.
     ========================================================================== */
  /* ==========================================================================
     Print styles.
     Inlined to avoid the additional HTTP request:
     https://www.phpied.com/delay-loading-your-print-css/
     ========================================================================== */ }
  .ccm-page html {
    color: #222;
    font-size: 1em;
    line-height: 1.4; }
  .ccm-page ::-moz-selection {
    background: #b3d4fc;
    text-shadow: none; }
  .ccm-page ::selection {
    background: #b3d4fc;
    text-shadow: none; }
  .ccm-page hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0; }
  .ccm-page audio,
  .ccm-page canvas,
  .ccm-page iframe,
  .ccm-page img,
  .ccm-page svg,
  .ccm-page video {
    vertical-align: middle; }
  .ccm-page fieldset {
    border: 0;
    margin: 0;
    padding: 0; }
  .ccm-page textarea {
    resize: vertical; }
  .ccm-page .hidden,
  .ccm-page [hidden] {
    display: none !important; }
  .ccm-page .sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* 1 */ }
  .ccm-page .sr-only.focusable:active,
  .ccm-page .sr-only.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto; }
  .ccm-page .invisible {
    visibility: hidden; }
  .ccm-page .clearfix::before,
  .ccm-page .clearfix::after {
    content: " ";
    display: table; }
  .ccm-page .clearfix::after {
    clear: both; }
  @media only screen and (min-width: 35em) {
    .ccm-page {
      /* Style adjustments for viewports that meet the condition */ } }
  @media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
    .ccm-page {
      /* Style adjustments for high resolution devices */ } }
  @media print {
    .ccm-page {
      /*
       * Don't show links that are fragment identifiers,
       * or use the `javascript:` pseudo protocol
       */
      /*
       * Printing Tables:
       * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
       */ }
      .ccm-page *,
      .ccm-page *::before,
      .ccm-page *::after {
        background: #fff !important;
        color: #000 !important;
        /* Black prints faster */
        box-shadow: none !important;
        text-shadow: none !important; }
      .ccm-page a,
      .ccm-page a:visited {
        text-decoration: underline; }
      .ccm-page a[href]::after {
        content: " (" attr(href) ")"; }
      .ccm-page abbr[title]::after {
        content: " (" attr(title) ")"; }
      .ccm-page a[href^="#"]::after,
      .ccm-page a[href^="javascript:"]::after {
        content: ""; }
      .ccm-page pre {
        white-space: pre-wrap !important; }
      .ccm-page pre,
      .ccm-page blockquote {
        border: 1px solid #999;
        page-break-inside: avoid; }
      .ccm-page thead {
        display: table-header-group; }
      .ccm-page tr,
      .ccm-page img {
        page-break-inside: avoid; }
      .ccm-page p,
      .ccm-page h2,
      .ccm-page h3 {
        orphans: 3;
        widows: 3; }
      .ccm-page h2,
      .ccm-page h3 {
        page-break-after: avoid; } }
  .ccm-page header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 3px 3px 5px #666;
    z-index: 1000; }
    .ccm-page header div.navigation {
      display: block;
      background: #433f3b;
      padding: .25em 0px; }
      @media all and (min-width: 768px) {
        .ccm-page header div.navigation .hdr-grid {
          display: grid;
          grid-template-columns: 1fr 3fr; } }
      .ccm-page header div.navigation .hdr-grid button.hamburger {
        float: right;
        position: relative;
        top: 13px; }
        @media all and (min-width: 768px) {
          .ccm-page header div.navigation .hdr-grid button.hamburger {
            display: none; } }
        .ccm-page header div.navigation .hdr-grid button.hamburger .hamburger-inner, .ccm-page header div.navigation .hdr-grid button.hamburger .hamburger-inner::before, .ccm-page header div.navigation .hdr-grid button.hamburger .hamburger-inner::after {
          background-color: #ffffff; }
      .ccm-page header div.navigation .hdr-grid div.site-navigation {
        justify-self: end;
        align-self: center; }
        .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav {
          display: none;
          padding-left: 0px;
          list-style: none;
          text-transform: uppercase; }
          .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li {
            padding: 1em .5em;
            border-top: 1px solid #f2f0ee; }
            .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a, .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:visited {
              color: #ffffff;
              text-decoration: none;
              transition: .2s ease-in-out; }
              .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:hover, .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:visited:hover {
                color: #577a91; }
        @media all and (min-width: 768px) {
          .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav {
            display: inline-block;
            padding-left: 0px;
            list-style: none;
            margin: 0px; }
            .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li {
              float: left;
              padding: 1em 0em;
              margin-left: 1em;
              border-top: none; }
              .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li:first-child {
                margin-left: 0px; }
              .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a, .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:visited {
                color: #ffffff;
                font-size: 16px;
                font-weight: 500;
                text-transform: uppercase;
                text-decoration: none;
                transition: .2s ease-in-out; }
                .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:hover, .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a.active, .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:visited:hover, .ccm-page header div.navigation .hdr-grid div.site-navigation ul.nav li a:visited.active {
                  color: #577a91; } }
  .ccm-page body {
    margin: 0px; }
  .ccm-page * {
    font-family: semplicitapro,sans-serif;
    font-style: normal; }
  .ccm-page p {
    font-size: 18px; }
    @media all and (min-width: 768px) {
      .ccm-page p {
        font-size: 21px; } }
  .ccm-page h1 {
    color: #577a91;
    font-weight: 600;
    font-size: 21px;
    text-transform: uppercase; }
    @media all and (min-width: 768px) {
      .ccm-page h1 {
        font-size: 28px; } }
  .ccm-page h2 {
    font-weight: 500;
    font-size: 21px; }
    @media all and (min-width: 768px) {
      .ccm-page h2 {
        font-size: 24px; } }
  .ccm-page h3 {
    color: #577a91;
    font-weight: 600;
    font-size: 21px;
    text-transform: uppercase; }
    @media all and (min-width: 768px) {
      .ccm-page h3 {
        font-size: 28px; } }
  .ccm-page h4, .ccm-page h5, .ccm-page h6 {
    font-weight: 500;
    font-size: 18px; }
  .ccm-page strong {
    font-weight: 500; }
  .ccm-page em {
    font-family: semplicitapro, sans-serif;
    font-style: italic; }
  .ccm-page .bolditalic {
    font-family: semplicitapro, sans-serif;
    font-style: italic;
    font-weight: 500; }
  .ccm-page div.frame {
    margin: auto;
    max-width: 1140px;
    padding: 0px 20px; }
    @media all and (min-width: 640px) {
      .ccm-page div.frame {
        padding: 0px 40px; } }
  .ccm-page div.copy-frame {
    margin: auto;
    max-width: 750px;
    padding: 0px 20px; }
    @media all and (min-width: 640px) {
      .ccm-page div.copy-frame {
        padding: 0px 40px; } }
  .ccm-page section.main div.hero {
    display: grid;
    height: 350px;
    padding: 0px 20px;
    background: url(../img/idx-hero.jpg);
    background-position: center center;
    background-size: cover; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.hero {
        height: 650px; } }
    .ccm-page section.main div.hero p {
      font-size: 28px;
      font-weight: 500;
      color: #ffffff;
      text-align: center;
      position: relative;
      top: 50%;
      text-shadow: 2px 2px 6px #000; }
      @media all and (min-width: 768px) {
        .ccm-page section.main div.hero p {
          font-size: 40px; } }
      @media all and (min-width: 1024px) {
        .ccm-page section.main div.hero p {
          font-size: 48px; } }
  .ccm-page section.main div.mission-copy-deck {
    padding: 20px 0px;
    text-align: center; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.mission-copy-deck {
        padding: 60px 0px; } }
  .ccm-page section.main div.redseal-copy-deck {
    padding: 60px 20px;
    background: url(../img/idx-red-seal-bg.jpg);
    background-position: center center;
    background-size: cover;
    text-align: center;
    color: #ffffff; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.redseal-copy-deck {
        padding: 80px 40px; } }
    .ccm-page section.main div.redseal-copy-deck .redseal-copy {
      color: #ffffff;
      display: block;
      margin-top: 1em;
      font-size: 26px;
      font-weight: 600 !important;
      text-transform: uppercase; }
      @media all and (min-width: 768px) {
        .ccm-page section.main div.redseal-copy-deck .redseal-copy {
          padding-left: 1em;
          display: inline-block;
          font-size: 36px; } }
  .ccm-page section.main div.services-copy-deck {
    padding: 20px 0px;
    text-align: center;
    background-color: #f2f0ee; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.services-copy-deck {
        padding: 60px 0px; } }
    .ccm-page section.main div.services-copy-deck div.services-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      padding: 0px 20px; }
      .ccm-page section.main div.services-copy-deck div.services-grid ul {
        padding-left: 0px;
        list-style: none;
        text-align: left;
        font-size: 18px;
        font-weight: 500; }
        @media all and (min-width: 768px) {
          .ccm-page section.main div.services-copy-deck div.services-grid ul {
            font-size: 21px; } }
        .ccm-page section.main div.services-copy-deck div.services-grid ul li {
          padding: 0px 0px .75em 0px; }
          @media all and (min-width: 768px) {
            .ccm-page section.main div.services-copy-deck div.services-grid ul li {
              padding: 0px 0px .75em 0px; } }
  .ccm-page section.main div.instagram-feed {
    padding: 20px 0px;
    text-align: center; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.instagram-feed {
        padding: 60px 0px; } }
  .ccm-page section.main div.testimonials {
    padding: 20px 0px;
    background-color: #f2f0ee;
    text-align: center; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.testimonials {
        padding: 60px 0px; } }
    .ccm-page section.main div.testimonials div.bg-testimonials {
      text-align: left;
      display: block;
      margin-top: 20px;
      font-size: 18px; }
      @media all and (min-width: 768px) {
        .ccm-page section.main div.testimonials div.bg-testimonials {
          margin-top: 60px;
          font-size: 21px; } }
      .ccm-page section.main div.testimonials div.bg-testimonials a.trigger {
        margin: 0px;
        display: block;
        color: #000000;
        padding: 1em 0px 0px 25px;
        position: relative;
        text-decoration: none;
        transition: .2s ease-in-out;
        border-top: 1px solid #aa9c8f;
        cursor: pointer !important;
        font-weight: 600; }
        .ccm-page section.main div.testimonials div.bg-testimonials a.trigger:hover {
          color: #aa9c8f; }
        .ccm-page section.main div.testimonials div.bg-testimonials a.trigger:before {
          content: '+ ';
          color: #577a91;
          position: absolute;
          left: 0; }
      .ccm-page section.main div.testimonials div.bg-testimonials .toggle {
        display: block;
        padding: .25em 1.25em; }
  .ccm-page section.main div.contact-form {
    padding: 20px 0px;
    text-align: center;
    color: #ffffff;
    background: url("../img/form-bg.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media all and (min-width: 768px) {
      .ccm-page section.main div.contact-form {
        padding: 60px 0px; } }
    .ccm-page section.main div.contact-form h3 {
      color: #ffffff;
      font-weight: 500;
      font-size: 21px;
      text-transform: uppercase; }
      @media all and (min-width: 768px) {
        .ccm-page section.main div.contact-form h3 {
          font-size: 28px; } }
    .ccm-page section.main div.contact-form h4 {
      color: #ffffff;
      font-weight: 500;
      font-size: 22px; }
      @media all and (min-width: 768px) {
        .ccm-page section.main div.contact-form h4 {
          font-size: 28px; } }
    .ccm-page section.main div.contact-form a, .ccm-page section.main div.contact-form a:visited {
      color: #ffffff;
      text-decoration: none;
      transition: .2s ease-in-out; }
      .ccm-page section.main div.contact-form a:hover, .ccm-page section.main div.contact-form a:visited:hover {
        color: #aa9c8f; }
  .ccm-page footer {
    padding: 20px 0px;
    background-color: #f2f0ee;
    color: #000000; }
    @media all and (min-width: 768px) {
      .ccm-page footer {
        padding: 60px 0px; } }
    .ccm-page footer div.ftr-content-grid {
      text-align: center; }
      @media all and (min-width: 475px) {
        .ccm-page footer div.ftr-content-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          text-align: left; } }
      .ccm-page footer div.ftr-content-grid div.ftr-contact-info {
        align-self: center;
        font-size: 18px; }
        .ccm-page footer div.ftr-content-grid div.ftr-contact-info .mousetype {
          font-size: 16px; }
      .ccm-page footer div.ftr-content-grid div.ftr-branding {
        align-self: center;
        justify-self: end; }
      .ccm-page footer div.ftr-content-grid a, .ccm-page footer div.ftr-content-grid a:visited {
        color: #000000;
        text-decoration: none;
        transition: .2s ease-in-out; }
        .ccm-page footer div.ftr-content-grid a:hover, .ccm-page footer div.ftr-content-grid a:visited:hover {
          color: #aa9c8f; }

/*# sourceMappingURL=main.css.map */
