.m-smart {
  position: relative;
  padding: 100px 0; }
  .m-smart .inner {
    position: relative; }
  .m-smart .teasers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-right: -8px;
    margin-left: -8px;
    margin-top: -40px; }
    @media (min-width: 768px) {
      .m-smart .teasers {
        margin-left: -16px;
        margin-right: -16px; } }
  .m-smart .teaser {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 8px;
    padding-left: 8px;
    margin-top: 40px; }
    @media (min-width: 768px) {
      .m-smart .teaser {
        padding-left: 16px;
        padding-right: 16px; } }
    .m-smart .teaser a.only-image {
      cursor: default; }
    .m-smart .teaser .in .media > a {
      display: block; }
      .m-smart .teaser .in .media > a:hover svg {
        opacity: 1; }
    .m-smart .teaser.gallery .in .media > a, .m-smart .teaser.video .in .media > a {
      position: relative; }
      .m-smart .teaser.gallery .in .media > a::before, .m-smart .teaser.video .in .media > a::before {
        position: absolute;
        content: '';
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        background: #0061a0;
        opacity: 0;
        -webkit-transition: .2s;
        transition: .2s;
        z-index: 3; }
      .m-smart .teaser.gallery .in .media > a .title-1, .m-smart .teaser.video .in .media > a .title-1 {
        position: absolute;
        left: 50%;
        top: 50%;
        text-transform: uppercase;
        color: #fff;
        -webkit-transition: .2s;
        transition: .2s;
        white-space: nowrap;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        z-index: 4; }
      .m-smart .teaser.gallery .in .media > a:hover::before, .m-smart .teaser.video .in .media > a:hover::before {
        opacity: .4; }
  .m-smart .bg-image {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: 50% / cover no-repeat;
    opacity: .2;
    pointer-events: none; }
  .m-smart .img {
    position: relative;
    height: 0;
    padding: 0 0 56.25%;
    background: 50% / cover no-repeat;
    z-index: 2; }
  .m-smart .content {
    margin-top: 20px; }
  .m-smart .title-content {
    font-family: "Arvo", -apple-system, BlinkMacSystemFont, sans-serif;
    color: #478529;
    font-weight: 400;
    margin: 0; }
  .m-smart h3.title-content {
    font-size: 24px;
    line-height: 1.2; }
  .m-smart h4.title-content {
    font-size: 18px;
    line-height: 1.5; }
    @media (min-width: 768px) {
      .m-smart h4.title-content {
        font-size: 21px; } }
    @media (min-width: 1024px) {
      .m-smart h4.title-content {
        font-size: 28px;
        line-height: 1.2; } }
  .m-smart .rich-content {
    font-size: 16px;
    color: #4c4c4c;
    margin-top: 10px; }
  .m-smart .label {
    color: #0061a0; }
    .m-smart .label:hover::after {
      border-color: #0061a0; }
  .m-smart .link {
    margin-top: 15px; }
  .m-smart .media svg {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 44px;
    height: 44px;
    opacity: .8;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: .2s;
    transition: .2s;
    z-index: 3; }
    @media (min-width: 1024px) {
      .m-smart .media svg {
        width: 60px;
        height: 60px; } }
  .m-smart.dark {
    background: #0061a0; }
    .m-smart.dark .title-content {
      color: #c9db48; }
    .m-smart.dark .rich-content,
    .m-smart.dark .rich-content p {
      color: #fff; }
    .m-smart.dark .rich-content a,
    .m-smart.dark .rich-content h1,
    .m-smart.dark .rich-content h2,
    .m-smart.dark .rich-content h3 {
      color: #c9db48; }
    .m-smart.dark .label {
      color: #fff; }
      .m-smart.dark .label:hover::after {
        border-color: #fff; }
    .m-smart.dark.dark-graphic .graphic {
      position: absolute;
      display: none;
      left: 0;
      top: 0;
      bottom: 0;
      width: 30%;
      background: url(bundles/images/patterns/black_lines.svg) 0 0/50px repeat;
      opacity: .1; }
      @media (min-width: 768px) {
        .m-smart.dark.dark-graphic .graphic {
          display: block; } }
  @media (min-width: 768px) {
    .m-smart.count-2 .teaser .in, .m-smart.count-3 .teaser .in, .m-smart.count-4 .teaser .in {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-right: -8px;
      margin-left: -8px; } }
  @media (min-width: 768px) and (min-width: 768px) {
    .m-smart.count-2 .teaser .in, .m-smart.count-3 .teaser .in, .m-smart.count-4 .teaser .in {
      margin-left: -16px;
      margin-right: -16px; } }
  @media (min-width: 768px) {
    .m-smart.count-2 .teaser .media,
    .m-smart.count-2 .teaser .content, .m-smart.count-3 .teaser .media,
    .m-smart.count-3 .teaser .content, .m-smart.count-4 .teaser .media,
    .m-smart.count-4 .teaser .content {
      position: relative;
      width: 100%;
      min-height: 1px;
      padding-right: 8px;
      padding-left: 8px;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; } }
  @media (min-width: 768px) and (min-width: 768px) {
    .m-smart.count-2 .teaser .media,
    .m-smart.count-2 .teaser .content, .m-smart.count-3 .teaser .media,
    .m-smart.count-3 .teaser .content, .m-smart.count-4 .teaser .media,
    .m-smart.count-4 .teaser .content {
      padding-left: 16px;
      padding-right: 16px; } }
  @media (min-width: 768px) {
    .m-smart.count-2 .teaser .content, .m-smart.count-3 .teaser .content, .m-smart.count-4 .teaser .content {
      margin: 0; }
    .m-smart.count-2 h3, .m-smart.count-3 h3, .m-smart.count-4 h3 {
      font-size: 32px;
      line-height: 35px; } }
  @media (min-width: 1024px) {
    .m-smart.count-2 .teaser .media,
    .m-smart.count-2 .teaser .content, .m-smart.count-3 .teaser .media,
    .m-smart.count-3 .teaser .content, .m-smart.count-4 .teaser .media,
    .m-smart.count-4 .teaser .content {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
    .m-smart.count-2 .teaser .content, .m-smart.count-3 .teaser .content, .m-smart.count-4 .teaser .content {
      margin: 20px 0 0; }
    .m-smart.count-2 h3, .m-smart.count-3 h3, .m-smart.count-4 h3 {
      font-size: 36px;
      line-height: 40px; } }
  @media (min-width: 768px) {
    .m-smart.count-1 .teaser .in {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-right: -8px;
      margin-left: -8px; } }
  @media (min-width: 768px) and (min-width: 768px) {
    .m-smart.count-1 .teaser .in {
      margin-left: -16px;
      margin-right: -16px; } }
  @media (min-width: 768px) {
    .m-smart.count-1 .teaser .media,
    .m-smart.count-1 .teaser .content {
      position: relative;
      width: 100%;
      min-height: 1px;
      padding-right: 8px;
      padding-left: 8px;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; } }
  @media (min-width: 768px) and (min-width: 768px) {
    .m-smart.count-1 .teaser .media,
    .m-smart.count-1 .teaser .content {
      padding-left: 16px;
      padding-right: 16px; } }
  @media (min-width: 768px) {
    .m-smart.count-1 .teaser .content {
      margin: 0; }
    .m-smart.count-1 h3 {
      font-size: 32px;
      line-height: 35px; } }
  @media (min-width: 1024px) {
    .m-smart.count-1 h3 {
      font-size: 36px;
      line-height: 40px; } }
  @media (min-width: 1024px) {
    .m-smart.count-2 .teaser {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; } }
  @media (min-width: 1024px) {
    .m-smart.count-3 .teaser {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.3333333333%;
              flex: 0 0 33.3333333333%;
      max-width: 33.3333333333%; } }
  @media (min-width: 1024px) {
    .m-smart.count-4 .teaser {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; } }