html {
  min-height: 100%;
}

body {
  padding:0;
  margin:0;
  font-family: 'helvetica neue', helvetica, calibri, arial, sans-serif;
  font-weight: 400;
  background:#333;
  min-height: 100vh;
  
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

.wrapper {
  position:relative;
  min-height: 100vh;
  width: 100%;
  float:left;
  padding-bottom: 60px;
}
.wrapper .after {
  content:'';
  display:table;
  clear:both;
}

* {
  box-sizing:border-box;
}

.skip-container {
  display:none;
}

//Header 
.wpccHeader {
  height: 80px;
  position:relative;
  z-index: 12;
  top:0;
  left:0;
  right:0;
  
  > a {
    display:flex;
    min-height: 80px;
    float:left;
    width: 75%;
    max-width: 320px;
    align-items: center;
    padding: 10px;
  }

  
  img {
    float:left;  
    max-height: 60px;
    max-width: 100%;
    height:auto;

  }

  a.menuLink {
    float:right;
    height: 40px;
    width: auto;
    margin: 20px 20px 20px 0;
    padding:0;
    line-height: 40px;
    color:#fff;
    font-size: 40px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:1px;
    text-decoration:none !important;
    
    i {
      height: 40px;
      line-height: 40px;
      
    }

    i:before {
      height: 40px;
      line-height: 40px;
    }
    
    span {
      display:none;
    }
  }
}

.wpccHeader.right {
  > a {
    float:right;
    padding-right: 20px;
    justify-content: flex-end;
    
    img {
      float:right;
    }
    
  }
  a.menuLink {
    float:left;
    padding-right:0;
    padding-left: 15px;
  }
}



.wpccHeader.card {
  position:fixed;
}

.admin-bar .wpccHeader.card {
  top: 46px;
}

//Menu 
#menu.wpccMenu {
  position:fixed;
  top:0;
  right:-300px;
  bottom:0;
  width: 300px;
  background:#f6f6f6;
  box-shadow: 0px 0px 28px -1px rgba(0,0,0,0.62);
  z-index:10;
  transition: right .2s ease-in-out;
  
  ul {
    list-style:none;
    padding: 50px 0 0;
    margin:0;
    
    li {
      min-height: 48px;
      clear:both;
      width: 100%;
      float:left;
      padding: 10px 0;
      
      a {
        
        padding: 0 15px 0px;
        font-size: 15px;
        color:#666;
        text-decoration:none;
        display:block;
        
        span {
          display:block;
          line-height: 42px;
          font-size: 15px;
          line-height: 18px;
          margin-left: 42px;
          padding-top: 6px;
        }
        
        i {
          float:left;
          width: 32px;
          height: 32px;
          text-align:center;
          color:#fff;
          background:#444;
          font-size: 16px;
          line-height: 32px;
          margin-right: 10px;
          border-radius: 50%;
          position:relative;
          top:-1px;
        }
        i:before {
          line-height: 32px;
          height: 32px;
        }
      }
    }

    li:hover {
      background:#eee;
    }
  }

  .closeMenu {
    position: absolute;
    top: 0;
    right:0;
    width: 50px;
    height: 50px;
    text-align:center;
    font-size: 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#444;
    
    i {
      height: 50px;
      line-height: 50px;
      
    }

    i:before {
      height: 50px;
      line-height: 50px;
      
    }
    
    span {
      display:none;
    }
    
  }
}

#menu.wpccMenu ul.plain {
  li a i {
    background:none !important;
    color:#444;
    font-size: 24px;
  }
}

body .header #menu.wpccMenu ul.circle-outline {
  li a i {
    background:none !important;
    color:#444;
    border: 2px solid #444;
  }
  li a i:before {
    position:relative;
    top: -3px;
  }
}

#menu.wpccMenu ul.rounded-square {
  li a i {
    border-radius: 10px;
  }
  
}

#menu.wpccMenu:target {
  right: 0;
}

//Footer
.post-type-archive-card .wpccFooter.grid,
.wpccFooter {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:#111;
  padding: 15px;
  clear:both;
  
  p {
    color:#aaa;
    font-size: 12px;
    line-height: 15px;
    text-align:center;
    margin:0;
  }
  

}

.post-type-archive-card .wpccFooter.card,
.page-template-center_home .wpccFooter.card {
  display:none;
}

.cards {
  clear:both;
}

.cardHolder {
  width: 100%;
  

}

//Grid View
.cardHolder.grid {
  padding: 0px 10px 10px;
  
  .card {
    float:left;
    display:block;
    padding-top: 50%;
    height:0;
    overflow:hidden;
    width: 100%; 
    padding: 80% 0 0;
    position:relative;
    transition: all .4s ease;
    
    
    .cardBody {

      position:absolute;
      top: 10px;
      bottom: 10px;
      left: 10px;
      right: 10px;
      background:#222;
      
      .topSection, .overlay, 
      .bottomSection {
        position:absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
      }

      .overlay {
        opacity: 0.75;
        transition: all .4s ease;
        background:#222;
      }

      .bottomSection {
        position:absolute;
        bottom:0;
        left:0;
        right:0;
        display:flex;
        align-items:center;
        justify-content:center;
        padding: 15px;
        text-align:center;
        
        .intro {
          text-align:center;
        }
        
        h3 {
          font-size: 32px;
          line-height:36px;
          margin:0 0 0px;
          margin-top:0 !important;
          font-weight:normal;
          color:#fff !important;
          text-shadow: 0px 0px 9px rgba(0, 0, 0, 0.6);
        }

        p {
          color:#fff;
          font-size: 16px;
          line-height: 21px;
          margin:0 !important;
          opacity:0.8;
          text-shadow: 0px 0px 9px rgba(0, 0, 0, 0.6);
        }
      }
    }
  }

  .card:hover .cardBody {

    .overlay {
      opacity: 1;
    }
  }

}


//list
.cardHolder.list {
  padding:0 10px 10px;
  max-width: 1200px;
  margin: 0 auto;
  
  .card {
    display:block;
    width: 100%;
    margin:0;
    min-height: 100px;
    display: flex;
    align-items:center;
    padding: 15px 50px 15px 15px;
    position:relative;
    transition: background .4s ease;
    text-decoration:none !important;
    
    h3 {
      color:#fff;
      font-size: 24px;
      line-height: 30px;
      margin:0;
    }

    p {
      font-size: 16px;
      color:#fff;
      opacity: 0.8;
      margin:0;
    }

    i {
      position:absolute;
      top:0;
      bottom:0;
      right: 10px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size: 32px !important;
      transition:color .4s ease;
      //color:#fff;
    }

    i:before {
      font-size: 32px !important;
    }
  }

  .card:not(:hover) i {
    color:#fff !important;
  }

  .card:after {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height: 6px;
    content:'';
    background:#111;
    opacity: 0.15;
  }

  .card:hover {
    background:#222 !important;
  }
}


//cards

.admin-bar .cardHolder.card {
  padding-top: 122px;
}

.cardHolder.card {
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  right:0;
  padding: 90px 0 60px 1px ;
  
  .slick-arrow {
    display:none;
  }

  .slick-initialized .slick-slide {
    display:flex;
  }

  .slick-list {
    overflow: visible;
    display: flex;
    flex: 1 1 auto;
  }

  .slick-track {
      display: flex;
      flex: 1 0 auto;
  }

  .slick-dots {
    bottom: -40px;
    
    li {
      margin: 0 2px;
    }
    
    li.slick-active button:before,
    li button:before {
      color:#fff;
      font-size: 42px;
    }
  }
  
  .card {
    display:flex;
    float:left;
    outline: none;
    margin-right: 15px;
    background:#fff;
    box-shadow: 0 30px 50px rgba(0,0,0,0.62);
    border-radius: 3px;
    text-decoration:none;
    height: 80vh;
    
    .cardBody {
      outline: none;
      width: auto;
      height: auto;
      margin-bottom: 0;
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      position:relative;
    }
      
    .topSection {
      border-top-right-radius: 3px;
      border-top-left-radius: 3px;
      position: relative;
      background-size: cover;
      background-position: center;
      height: auto;
      flex: 1 1 auto;
      display: flex;      
    }

    span {
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      opacity: 0.5;
      z-index:10;
      
    }

    .bottomSection {
      padding:20px;
      background:#fff;
      text-align:center;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px;
      position:relative;
      z-index:11;
      
      h3 {
        font-size: 19px;
        line-height: 21px;
        margin:0 0 10px;
        font-weight:normal;
      }

      p {
        color:#666;
        font-size: 16px;
        line-height: 21px;
        margin:0;
      }
    }
  }
}

.cards.greyscale .card .topSection,
.cards.greyscale .card .cardImage {
  filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

//Small Cards
.cardHolder.small-card {
  padding:15px;
  
  .card {
    width: 100%;
    
    .cardBody {
      background:#f6f6f6;
      border-radius: 10px;
      min-height: 120px;
      margin-bottom: 30px; 
      width: 100%; float:left; 
      padding: 15px;
      position:relative;
      box-shadow: 0 5px 5px rgba(0,0,0,0.30);
      display:flex;
      align-items: center;
    }
    
    .cardImage {
      position:absolute;
      top:0;
      left:0;
      right: 60%;
      bottom:0;
      background-size:cover;
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px;

    }

    .overlay {
        position:absolute;
        top:0;
        left:0;
        bottom:0;
        opacity: 0.5;
        right: 60%;  
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
      }

    .cardDetails {
      padding-left: 45%;

      
      h3 {
        margin-bottom: 0px;
      }

      p {
        margin-bottom:0;
        color:#666;
        font-size: 15px; 
        line-height: 1.3;
      }
    }
  }
}

//Single Cards 
.wpchurch_center.single {

  .wpccHeader {
    position:relative;
  }

  .singleCard {
    background:#fff;
    
    .cardHeader {
      min-height: 40vh;
      padding: 30px 20px;
      display:flex;
      justify-content: center;
      align-items: center;
      position:relative;
      width: 100%;
      
      .cardImage {
        position:absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
      }
      .cardImage.greyscale {
        filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
        filter: gray; /* IE6-9 */
        -webkit-filter: grayscale(1);
        filter: grayscale(1);
      }
      
      .overlay {
        position:absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        opacity: 0.5;  

      }
      a.backButton, a.backButton:hover {
        background: #fff;
        position:absolute;
        top:0;
        right:0;
        padding: 10px;
        font-size: 18px;
        line-height: 22px;
        color:#333;
        
        i:before {
          transform: rotate(180deg);
          font-size: 18px !important;
        }
      }
    }

    .cardInfo {
      padding: 20px;
      color:#444;
      
      .cardTitle {
          
          h1 {
            font-size: 32px;
            font-weight:normal;
            margin: 0;
          }

          p {
            font-size: 16px;
            line-height: 22px;
            margin:0 0 40px;
            color:#333;
            text-transform:uppercase;
          }
        }
      
    }
  }
}


//Typography 
.cardInfo {
  
  p, 
  td, 
  li {
    font-size: 18px;
    line-height: 28px;
  }

  p {
    margin-bottom: 28px;
  }
}

//Layout Switching 
.wppc_layout_switcher {
  padding: 0 10px;
  height: 80px;
  background:#333;
  text-align:right;
  
   p {
     color:#888;
     padding-top: 10px;  
     

     span {
       margin-right: 10px;
       font-size: 13px;
     }

    a {
       display:inline-block;
       color:#ddd;
       text-decoration:none;
      padding: 2px 10px;
      border-radius: 5px;
      margin: 0 7px 10px 0;
      font-size: 13px;
    }

    a.active, a:hover {
      background:#666;
      text-decoration:none;
    }

    a.downloadLink {
      background:#eee;
      color:#666;
    }

   }

}




//Card Styles when slick isn't included (just in case)
.nojs {

  .wpccHeader.card {
    position:relative;
    top:0;
  }

  .wpccHeader.card.layoutSwitcher {
    top:0;
  }

  .layoutSwitcher .cardHolder.card {
    padding-top: 20px;
  }

  .cardHolder.card {

    position:relative;
    top:0;
    bottom:0;
    left:0;
    right:0;
    padding-top:40px;

    .card {
      width: 90%; 
      float:none;
      margin: 0 auto 40px;
      height: 400px;
    }
  }
}


//Card Syles when the layout switcher is shown
.layoutSwitcher .cardHolder.card {
  padding-top: 150px;
  
  .card {
    height: 67vh;
  }
}

.wpccHeader.card.layoutSwitcher {
  top: 70px;
}


//Light Theme

.wpcc_light {
  
  .wpccHeader a.menuLink {
    color:#333;
  }

  .cardHolder.card .card {
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.32);
    transition: box-shadow .42s ease;
  }

  .cardHolder.card .card:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.42);
  }

  .cardHolder.grid .card .cardBody .overlay {
    background:#fff;
    opacity: 0.85;
  }

  .cardHolder.grid .card .cardBody {
    border: 1px solid #ccc;
  }

  .cardHolder.grid .card .cardBody .bottomSection h3 {
    color:#333 !important;
    text-shadow:none;
  }

  .cardHolder.grid .card .cardBody .bottomSection p {
    color:#666;
    text-shadow:none;
  }

  .cardHolder.grid .tint .card .cardBody .bottomSection h3 {
    color:#fff !important;
    text-shadow: 0px 0px 9px rgba(0, 0, 0, 0.6);
  }

  .cardHolder.grid .tint .card .cardBody .bottomSection p {
    color:#fff;
    text-shadow: 0px 0px 9px rgba(0, 0, 0, 0.6);
  }

}

@media only screen and (min-width: 480px) {

  .cardHolder.grid {
    max-width: 1200px;
    margin: 0 auto;
    
    .card, .card {
      width: 50%;
      float:left;
      padding-top: 50%;
    }
  }

  .cardHolder.small-card {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
    
    .card {
      width: 50%;
      float:left;
      padding: 0 10px;
      
      .cardBody {
        margin-bottom: 20px;
      }
    }

  }

  .wppc_layout_switcher {
    height: 57px;

  }

}

@media only screen and (min-width: 667px) {

.wpccHeader {
  position:relative !important;
  padding: 0 4%;
  height: 80px;
  
  img {
    max-height: 75px;
  }

  .menuLink {
    margin: 35px 0 0 0;
  }
  
}



.cardHolder.card, .nojs .cardHolder.card {
  position: relative;
  padding: 20px 10px;
  clear:both;
  
  .card {
    width: 42%;
    margin: 0 4% 8%;
    height: 400px;
    transition: all .2s ease;
    float:left;

  }

  .card:hover {
    transform: scale(0.97);
    box-shadow: 0 10px 30px rgba(0,0,0,0.62);
  }
}

.cardHolder.grid {
  
  .card:hover {
    transform: scale(0.97);
    box-shadow: 0 10px 30px rgba(0,0,0,0.62);
  }
}

.wpchurch_center.single .singleCard {

  margin: 20px auto 50px;
  background:none;
  
  .cardHeader {
    min-height:50vh;
  }

  .cardInfo {
    margin: -80px 30px 0;
    background:#fff;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.32);
    position:relative;
    z-index: 10;
  }
}



.post-type-archive-card .footer.card, 
.page-template-center_home .footer.card {
  display:block;
}

.admin-bar .header.card {
  top: 0px;
}


.wpchurch_center.single .singleCard .cardHeader .backButton i:before {
  font-size: 32px !important;
}

//layout Switching
  .cardHolder.card.layoutSwitching {
    padding-top: 0px;
  }

  .wpccHeader.card.layoutSwitching {
    top: 0px;
  }

  //Card Syles when the layout switcher is shown
  .wpccHeader.card.layoutSwitcher {
    top:0;
  }

  .layoutSwitcher .cardHolder.card {
    padding-top:0;
  }


}


@media only screen and (min-width: 900px) {

.wpccHeader {
  padding: 0 3% ;
  max-width: 1200px;
  margin:0 auto;
  
  img {
    margin-top:10px;
  }

  a.menuLink {
      display:none;
    }

    #menu.wpccMenu {
      display:block;
      position:relative;
      right:0;
      float:right;
      background:none;
      width: 60%;
      box-shadow:none;
      
      ul {
        padding: 20px 0 0 0;
        text-align:right;
        
        li {
          display:inline-block;
          width: auto;
          float:none;
          
          a {
            padding:0px;
            display:inline-block;
            
            span {
              display:none;
            }

            i {
              background:#fff;      
              width: 42px;
              height: 42px;
              line-height:42px;
              font-size: 21px;
              transition: all .4s ease;
              color:#333;
            }

            i:before {
              width: 32px;
              height: 42px;
              line-height:42px;
              font-size: 21px;
              text-align:center;
            }

          }
          a:hover {

            i {
              background:#111;
              color:#fff !important;
            }
          }
        }
        li:hover {
          background:none;
        }
      }
      
      .closeMenu{
        display:none;
      }
    }

    #menu.wpccMenu ul.plain {
      li a i {
        background:none !important;
        color:#fff;
        font-size: 26px;
        opacity: 1;
        transition: opacity .4s ease;
      }
      li a i:before {
        font-size: 26px;
      }
      li a:hover i {
        opacity: 0.7;
      }
    }

    #menu.wpccMenu ul.circle-outline {
      li a i {
        background:none !important;
        color:#eee;
        border-color:#eee;
        opacity: 1;
        transition: opacity .4s ease;
      }
      li a:hover i {
        opacity: 0.7;
      }
      
    }

  }

  .wpccHeader.right {

    >a {
      text-align:right;
    }
    
    #menu.wpccMenu {
      float:left;
      text-align:left;
      min-height: 80px;
      
      ul {
        text-align:left;
        padding-top:25px;
      }
    }
  }

  .wpccHeader.center {

      padding-top: 5px;
      height: 180px;
      
     > a {
       float:none;
       margin-left:auto;
       margin-right:auto;
       max-width: 400px;
       text-align:center;
       justify-content:center;
     }

     a.menuLink {
       display:none;
     }

     #menu.wpccMenu {
       width: 100%;
       float:none;
       text-align:center;
       
       ul {
         text-align:center;
         padding-top:0;
       }
     }
  }

  .cardHolder.card, .nojs .cardHolder.card {
    max-width: 1200px;
    margin:0 auto;

    .card {
      width: 29%;
      margin: 0 2% 4%;
    }
  }

  .cardHolder.grid {

    .card {
      width: 33.333%;
      padding-top: 33%;
    }
  }

.cardHolder.small-card {
    
    .card {
      width: 33.333%;
      min-height:  150px;
    }

  }


.wpchurch_center.single .singleCard{

  .cardHeader {

    .cardTitle {
      
      bottom: 60px;
      max-width: 80%;
      padding: 20px;
      
      h1 {
        font-size: 28px;
      }

      p {
        font-size: 18px;
      }
    }

    .backButton {
      padding:10px;
      text-decoration:none;
      
      i {
        font-size: 32px;
        line-height: 32px;
        width: 32px; 
      }

      i:before {
        margin:0;
        font-size: 32px !important;
      }

      span {
        width:0;
        overflow:hidden;
        display:inline-block;
        transition: all .4s ease;
      }
    }

    a.backButton:hover span {
      width: 70px;
      padding-left: 10px;
    }
  }

  .wpcc_light .singleCard .cardHeader .backButton {
    color:#333 !important;
    
    i {
      color:#333 !important;
    }
  }

  .cardInfo {
    padding: 30px 60px;
    max-width: 800px;
    margin: -150px auto 0;
  }

  } 

  .wpcc_light .singleCard .cardHeader .backButton {
    color:#333 !important;
    
    i {
      color:#333 !important;
    }
  }



  

}

@media only screen and (min-width: 1100px) {

  .wpccHeader {
    padding: 0 1.5% 4%;
    
    #menu.wpccMenu ul {
      padding-right:0;
    }
  }

  .cardHolder.card, .nojs .cardHolder.card {
    .card {
      width: 22%;
      margin: 0 1.5% 3%;
    }
  }

  .cardHolder.grid {
    padding: 10px 20px;
    
    .card {
      width: 25%;
      padding: 25% 20px 20px;
    }
  }

  .cardHolder.small-card {

    padding: 20px 0 0;
    
  }

  .cardHolder.smallCard .small_4_col .card {
      width: 25%;
    }
}


//Slick Slider
@import 'slick';
@import 'slick-theme'; 