/*
                                     _ 
                                    | |
 _ __    ___   _ __ ___    __ _   __| |
| '_ \  / _ \ | '_ ` _ \  / _` | / _` |
| | | || (_) || | | | | || (_| || (_| |
|_| |_| \___/ |_| |_| |_| \__,_| \__,_|                                     

Website Developed by: Nomad Digital Media, LLC
Developer: Jonathan Hazelwood
Site Created: November 2024
Launch Date:
Framework: Foundation 6, Custom PHP
*/

/* Brand Colors Vars */
  :root {
    --blue: #002B57;
    --orange: #EE7900;
    --green: #17603E;
  }

/* Embed Custom Cursive Font */
  @font-face {
    font-family: cursivefont;
    src: url(/assets/fonts/cursive.ttf);
  }

  .cursive {
    font-family: cursivefont;
  }
/* End Embed Custom Cursive Font */

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  
  body,
  h1,
  h2,
  h3,
  h4,
  p,
  figure,
  blockquote,
  dl,
  dd {
    margin: 0;
  }
  
  ul[role=list],
  ol[role=list] {
    list-style: none;
  }
  
  html:focus-within {
    scroll-behavior: smooth;
  }
  
  body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    overflow-x: hidden;
  }
  
  a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
  }
  
  img,
  picture {
    max-width: 100%;
    display: block;
  }
  
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  
  blockquote {
    border-left: 2px solid var(--orange);
}
  
  form {
    padding: 1rem !important;
    border: solid 1px #EEE;
  }
  
  form label {
      font-size: 1em;
  }
  
  .formfield__label__required {
      color: red;
  }
  
  form [type=submit] {
      background-color: var(--blue);
      color: white;
      border: none;
      text-transform: uppercase;
      padding: .5rem 1rem;
  }
  
  form [type=submit]:hover {
      background-color: var(--orange);
      cursor: pointer;
  }
  
  .formblock__submit {
    margin-top: 1rem;
  }
  
  @media (prefers-reduced-motion: reduce) {
    html:focus-within {
      scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }

  blockquote, blockquote p {
    line-height: 1.6;
    color: inherit;
  }

  blockquote footer::before {
    content: "-";
  }

  blockquote footer {
    font-style: italic;
    color: #777;
  }

  .no-js .top-bar {
    display: none;
  }

  body {
    font-size: 1.1em;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }
  
  h1, h2, h3, h4, h5, h6 {
    font-family: "Trirong", serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: var(--blue);
    font-weight: 600;
  }
  
  .k-activation {
    display: none !important;
  }

  .brand-button {
    background-color: var(--orange);
    text-transform: uppercase;
  }

  .brand-button:hover {
    background-color: var(--blue);
  }

  .brand-button-alt {
    background-color: var(--blue);
    text-transform: uppercase;
  }

  .brand-button-alt:hover {
    background-color: var(--orange);
  }

  .interior #header_wrapper, .blog #header_wrapper, .article #header_wrapper {
    margin-bottom: 4rem;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 12px;
  }

  .site-logo {
    position: relative;
    z-index: 1;
    background-color: white;
    height: 120%;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  }

  .site-logo:hover {
    transform: rotate(-2deg);
  }

  .site-logo img {
    margin: 0 auto;
    width: 225px;
    position: relative;
    top: 1rem;
  }

  #mainmenu {
    margin-top: 3rem;
  }

  #mainmenu ul li:last-of-type a {
    padding-right: 0;
  }
  
  #mainmenu ul li:first-child a {
    padding-left: 0;
  }
  
  #mainmenu ul li a {
    font-size: 1.1em;
    font-weight: 400;
    color: var(--blue);
  }
  
  #mainmenu ul li a:hover {
    color: var(--orange);
  }
  
  #mainmenu ul li a::after {
    display: none;
  }
  
  .submenu {
    min-width: 225px !important;
    border: solid 1px #EEE;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  }
  .submenu li {
    text-align: left !important;
  }
  .submenu li a {
    color: var(--blue) !important;
    font-size: .9em !important;
    font-weight: 400 !important;
    padding-left: 1rem !important;
  }
  .submenu li a:hover {
    background-color: var(--orange);
    color: white !important;
  }

  #hero {
    background-color: var(--blue);
  }

  #hero_right > h1 {
    font-size: 1.4em;
    color: white;
    margin: 3rem 0;
  }

  #hero_right #hero_info {
    position: relative;
    width: 110%;
    left: -4rem;
    background-color: white;
    background-image: url('/assets/images/home-cta-flower.png');
    background-repeat: no-repeat;
    background-position: top 1rem right 3rem;
    background-size: 100px;
    padding: 2rem 3.5rem;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  }

  #hero_info h2 {
    line-height: 1em;
  }

  #hero_info h2::after {
    position: absolute;
    content: '';
    border-bottom: 1px solid var(--orange);
    width: 83%;
    top: 80px;
    left: 8%;
  }

  #hero_info p {
    margin: 2rem 0;
  }

  .orange-line-wrapper {
    display: block;
    width: 100%;
    margin: 4rem 0;
  }

  .orange-line {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1px;
    height: 4rem;
    background-color: var(--orange);
    margin: 0 auto;
  }

  #cta_area {
    background-color: var(--blue);
    padding: 5rem 0;
  }

  #cta_area .home-cta {
    color: white;
    text-align: center;
  }

  #cta_area .home-cta h3 {
    color: white;
    margin: 1rem 0;
  }

  .home-cta .brand-button {
    border: solid 2px transparent;
  }

  .home-cta .brand-button:hover, .home-cta .brand-button:active {
    border: solid 2px var(--orange);
  }

  #offer {
    background-color: var(--orange);
    padding: 5rem 0;
    color: white;
  }

  #offer #offer_text {
    text-align: center;
  }

  #offer .brand-button-alt {
    background-color: var(--blue);
    text-transform: uppercase;
    border: solid 2px transparent;
  }

  #offer .brand-button-alt:hover {
    background-color: var(--orange);
    border: solid 2px var(--blue);
  }

  .home-article-listing, .article-listing {
    padding: 0 1rem;
  }

  .home-article-listing-image-wrapper, .article-listing-image-wrapper {
    position: relative;
    overflow: hidden;
    max-height: 250px;
  }

  .home-article-listing-image, .article-listing-image {
    position: relative;
    transition: .5s ease all;
  }

  .home-article-listing:hover .home-article-listing-image, .article-listing:hover .article-listing-image {
    transform: scale(1.1);
  }

  .home-article-listing-image-overlay, .article-listing-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(2,0,36);
    background: linear-gradient(180deg, rgba(2,0,36,0) 50%, rgba(0,43,87,1) 100%);
  }

  .home-article-listing-tag, .article-listing-tag {
    position: relative;
    top: -6rem;
    margin-left: 1rem;
  }

  .article-listing-tag {
    top: -8rem;
  }

  .home-article-tag, .article-tag {
    background-color: var(--orange);
    color: white;
    text-transform: uppercase;
    padding: .2rem .6rem;
  }

  .home-article-listing-title, .article-listing-title {
    position: relative;
    display: inline-block;
    top: -5.5rem;
    font-family: "Trirong", serif;
    font-weight: 600;
    font-size: 1.2em;
    line-height: 1.2em;
    color: white;
    margin: 0 1rem;
  }

  .article-listing-title {
    top: -7.5rem;
  }

  .breadcrumbs li {
    text-transform: capitalize;
    font-size: 1em;
  }

  .breadcrumbs a {
    color: var(--orange);
  }

  #tag_cloud {
    padding: 4rem 0;
  }

  .tags {
    border: solid 1px #EEE;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  }

  .tags li a {
    color: var(--blue);
  }

  .tags li a:hover {
    color: white;
    background-color: var(--orange);
  }

  .cta-link {
    background-color: var(--blue);
    padding: 4rem 1rem;
    text-align: center;
  }

  .cta-link:hover {
    background-color: var(--orange);
  }

  .cta-link a {
    display: block;
  }

  .cta-link i {
    color: white;
    margin: 2rem 0;
  }

  .cta-link-heading {
    color: white;
  }

  #footer {
    background-color: var(--blue);
    margin-top: 8rem;
  }

  #newsletter_signup {
    background-color: var(--green);
    background-image: url('/assets/images/newsletter-flower.png');
    background-repeat: no-repeat;
    background-position: top 2.5rem left 2.5rem;
    background-size: 100px;
    position: relative;
    margin-top: -5.5rem;
    padding: 1.5rem;
    color: white;
  }

  #newsletter_signup h2, #newsletter_signup p {
    color: white;
  }

  #newsletter_signup .brand-button {
    text-transform: uppercase;
  }
  
  #footer_bottom {
    margin-top: 4rem;
    padding-bottom: 4.5rem;
    color: white;
  }

  #footer_bottom h3 {
    color: white;
    margin-bottom: 1.5rem;
  }
  
  #footer_bottom a {
    color: white;
  }

  #footer_logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }

  #footer_logo img {
    width: 225px;
  }

  #footer_bottom .menu {
    margin-top: 2rem;
  }

  .social-link {
    margin-left: .5rem;
    padding: 0 !important;
  }

  #footer_bottom a:hover, .social-link i:hover {
    color: var(--orange) !important;
  }
  
  #gallery_caption {
      margin-bottom: 1rem;
  }
  
 .galleryImage img:hover {
  transform: scale(1.02);
  box-shadow: 0 0 6px 1px rgb(238 120 0 / 50%);
 }
 .galleryImage img {
  border: solid 5px white;
  box-shadow: 0 0 3px #999;
  margin-bottom: 20px;
  height: 200px;
  width: 100%;
  object-fit: cover;
  transition: transform .2s;
 }



  /* Laptop Styles */
  @media screen and (max-width: 1024px) {
    #mainmenu ul li a {
      font-size: 1em;
    }

    #cta_area .home-cta h3 {
      font-size: 1.5em;
    }

    #article {
      padding: 1rem;
    }
  }
  
  /* Tablet Styles */
  @media screen and (max-width: 768px) {
    .site-logo {
      height: 108%;
    }

    #selfie img {
      height: 100%;
      object-fit: cover;
    }

    #hero_info h2 {
      font-size: 1.7em;
    }

    #hero_info h2::after {
      top: 108px;
    }

    #cta_area .home-cta h3 {
      font-size: 1.1em;
    }

    .home-article-listing-image-wrapper, .article-listing-image-wrapper {
      max-height: 150px;
    }

    .home-article-listing-tag, .article-listing-tag {
      top: -7rem;
    }

    .home-article-listing-title, .article-listing-title {
      font-size: 1em;
      top: -6.5rem;
    }

    #newsletter_signup {
      background-position: top 2.5rem left 1rem;
    }
  }
  
  /* Mobile Styles */
  @media screen and (max-width: 425px) {
    .title-bar {
      background: var(--blue) !important;
    }

    #main_menu_wrapper {
      margin: 0;
      width: 100%;
    }

    #mainmenu {
      margin-top: 1rem;
    }

    #mainmenu ul li a {
      text-align: center;
    }

    #selfie {
      margin: 0;
      width: 100%;
    }

    #hero_right > h1 {
      text-align: center;
    }

    #hero_right #hero_info {
      width: 100%;
      left: 0;
    }

    #cta_area .home-cta {
      margin: 2rem 0;
    }

    .home-article-listing-image-wrapper, .article-listing-image-wrapper {
      max-height: 250px;
    }

    .interior #header_wrapper, .blog #header_wrapper, .article #header_wrapper {
      margin-bottom: 1rem;
    }
    
    #footer_bottom {
      text-align: center;
    }

    #footer_logo_wrapper {
      margin: 3rem 0;
    }

    #footer_social {
      text-align: center;
    }

    #footer_social ul {
      justify-content: center;
    }
  }
  
  /* Print Styles */
  @media print {
    a,
    a:visited {
      text-decoration: underline;
    }
    a[href]:after {
      content: " (" attr(href) ")";
    }
    abbr[title]:after {
      content: " (" attr(title) ")";
    }
    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
      content: "";
    }
    pre,
    blockquote {
      border: 1px solid #999;
      page-break-inside: avoid;
    }
    thead {
      display: table-header-group;
    }
    tr,
    img {
      page-break-inside: avoid;
    }
    img {
      max-width: 100% !important;
    }
    @page {
      margin: 0.5cm;
    }
    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3;
    }
    h2,
    h3 {
      page-break-after: avoid;
    }
  }

  
  @media screen and (min-width: 40em) {
    .no-js .top-bar {
      display: block;
    }
    .no-js .title-bar {
      display: none;
    }
  }