/*   
Theme Name: Mike's Pastry
Theme URI: https://www.mikespastry.com/
Description: Custom WordPress theme for Mike's Pastry
Author: Torro Media
Author URI: https://torro.io/
*/

@CHARSET "UTF-8";

/* =WordPress Core from http://codex.wordpress.org/CSS#WordPress_Generated_Classes
-------------------------------------------------------------- */

/*Required Styles*/

.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
a img.alignnone {
    margin: 5px 20px 20px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
.wp-caption p.wp-caption-text {
    font-size: 13px;
    line-height: 17px;
    margin: 0;
    padding: 0.5rem 0;
}

/*CUSTOM SCSS
-------------------------------------------------------------- */

@font-face {
  font-family: 'Satoshi-Regular';
  src: url('public/fonts/Satoshi-Regular.woff2') format('woff2'),
       url('public/fonts/Satoshi-Regular.woff') format('woff'),
       url('public/fonts/Satoshi-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'Satoshi-Bold';
  src: url('public/fonts/Satoshi-Bold.woff2') format('woff2'),
       url('public/fonts/Satoshi-Bold.woff') format('woff'),
       url('public/fonts/Satoshi-Bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}

:root{
    --color-blue:#2B3285;
    --color-darkblue:#0d1141;
    --color-lightblue:#D6E6FF;
    --color-paleblue:#E5EFFF;
    --color-black:#121212;

    --font-heading:"Fredoka", sans-serif;
    --font-body:'Satoshi-Regular', sans-serif;
    --font-body-bold:'Satoshi-Bold', sans-serif;
}

html, body{
    margin:0;
    padding:0;
    width:100%;
    overflow-x:hidden;
    font-family: var(--font-body);
}
a:hover, a:focus{
    text-decoration: none;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6{
    font-family:var(--font-heading);
    font-weight: 700;
    font-style: normal;
    letter-spacing: 1px;
    color:var(--color-black);
}
h1, .h1{
    font-size:82px;
}
h2, .h2{
    font-size:48px;
    line-height:1;
}
h3, .h3{
    font-size:40px;
}
h4, .h4{
    font-size:32px;
}
h5, .h5{
    font-size:24px;
}
h6, .h6{
    font-size:18px;
}
p,
.nhc_text_content li{
    font-family: var(--font-body);
    font-weight:400;
    font-style:normal;
    color:var(--color-black);
    font-size:18px;
    line-height:1.5;
}
p a{
    color:var(--color-blue);
}
p a:hover{
    color:var(--color-blue);
    text-decoration: underline;
}
p b,
p strong{
    font-family: var(--font-body-bold);
}
.centered{
    text-align: center;
}
main{
    margin-top:120px;
}

/*BUTTONS*/

.nhc_button{
    display:inline-block;
    padding:1rem 3rem;
    background:var(--color-blue);
    color:white;
    text-transform: uppercase;
    border-radius:30px;
    font-family: var(--font-heading);
    font-weight:700;
    font-size:18px;
    letter-spacing:1px;
    transition-duration: 0.5s;
}
.nhc_button:hover{
    color:white;
    background:var(--color-darkblue);
}
.nhc_button_squared{
    border-radius:10px;
}

/*HEADER*/

.nhc_header,
.nhc_header_logo{
    height:120px;
}
.nhc_header{
    background:white;
    width:100%;
    position:fixed;
    z-index:9999;
}
.nhc_header .container{
    max-width:90%;
}
.nhc_header_logo{
    text-align:center;
}
.nhc_header_logo a{
    display:block;
    width:100%;
    height:100%;
}
.nhc_header_logo img{
    padding:1.5rem 0 2rem;
    height:100%;
    width:auto;
}
.nhc_header_left{
    display:flex;
    align-items: center;
    justify-content: left;
    height:100%;
}
.nhc_header_nav{
    list-style:none;
    margin:0;
    padding:0;
    font-size:16px;
    font-family: var(--font-body-bold);
}
.nhc_header_nav li{
    display:inline-block;
}
.nhc_header_nav li a{
    display:block;
    padding:2rem 1rem;
    color:var(--color-blue);
}
.nhc_header_nav li a:hover{
    color:var(--color-darkblue);
}
.nhc_header_right{
    display:flex;
    align-items: center;
    justify-content: right;
    height:100%;
    gap:1.5rem;
}
.nhc_shop_icon img{
    height:50px;
    width:auto;
    transition-duration: 0.5s;
}
.nhc_shop_icon:hover img{
    opacity:0.75;
}
.nhc_header::after{
    content:'';
    width:100%;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    height:27px;
    position: absolute;
    z-index:1;
    left:0;
    right:0;
    top:105px;
}
.nhc_header::before{
    content:'';
    background-image:url(public/img/bow.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: no-repeat;
    height:75px;
    width:117px;
    position: absolute;
    left:50%;
    transform:translate(-50%,0);
    top:98px;
    z-index: 2;
}
.nhc_header_mobile{
    display:none;
}

/*HERO*/

.nhc_hero{
    width:100%;
    height:45vw;
    position:relative;
    overflow:hidden;
}
.nhc_hero_video{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    height:100%;
    width:100%;
}
.nhc_hero_video video{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    height:auto;
}
.nhc_hero_overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.2);
    display:flex;
    align-items: center;
    justify-content: center;
}
.nhc_hero_content{
    text-align:center;
}
.nhc_hero_content *{
    color:white;
}
.nhc_hero_content h1{
    margin:0 0 1.5rem;
}
.nhc_hero_content .nhc_button{
    margin:1.5rem 0 0;
}

/*TITLE BAR*/

.nhc_title_bar{
    background:var(--color-paleblue);
    width:100%;
    height:430px;
    display:flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.nhc_title_bar::after{
    content:'';
    width:100%;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    position: absolute;
    bottom:0;
    left:0;
    height:50px;
    margin-bottom:-17px;
}
.nhc_title_bar h1{
    color:var(--color-blue);
}

/*DIVIDER LINE*/

.nhc_divider_line{
    position: relative;
    display:block;
    width:100%;
    height:27px;
    margin:-10px 0;
}
.nhc_divider_line::after{
    content:'';
    width:100%;
    height:100%;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    position: absolute;
    top:0;
    left:0;
}

/*CONTENT*/

.nhc_content{
    padding:5rem 0;
    position: relative;
}
.nhc_content_lightblue{
    background:var(--color-lightblue);
}
.nhc_content_paleblue{
    background:var(--color-paleblue);
}
.nhc_content_blue{
    background:var(--color-blue);
}
.nhc_content_top_small{
    padding-top:2.5rem;
}
.nhc_content_bottom_small{
    padding-bottom:2.5rem;
}
.nhc_content_top_large{
    padding-top:7.5rem;
}
.nhc_content_bottom_large{
    padding-bottom:7.5rem;
}
.nhc_content_top_none{
    padding-top:0;
}
.nhc_content_bottom_none{
    padding-bottom:0;
}
.nhc_content_rounded{
    border-radius:100px 100px 0 0;
    overflow: hidden;
}
.nhc_text_content_padded{
    padding:3rem 0;
}
.nhc_text_content h2{
    margin:0 0 1rem;
}
.nhc_text_content i{
    color:var(--color-blue);
}
.nhc_text_content a:not(.nhc_button){
    color:var(--color-blue);
}
.nhc_text_content a:not(.nhc_button):hover{
    text-decoration: underline;
}
.nhc_text_content .nhc_button{
    margin:1.5rem 0 0;
}
.nhc_content_blue .nhc_text_content *:not(.nhc_button){
    color:white;
}
.nhc_content_blue .nhc_text_content .nhc_button{
    background:white;
    color:var(--color-blue);
}
.nhc_content_blue .nhc_text_content .nhc_button:hover{
    background:var(--color-darkblue);
    color:white;
}
.nhc_content_image{
    width:100%;
    padding-bottom:80%;
    min-height:100%;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius:50px;
    overflow: hidden;
}

/*ROTATING BANNER*/

.nhc_rotating_banner_slide{
    margin:0 2rem;
}
.nhc_rotating_banner_slide_inner{
    display:flex;
    gap:1rem;
}
.nhc_rotating_banner_icon{
    width:60px;
    height:60px;
    position: relative;
}
.nhc_rotating_banner_icon img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

/*PRODUCT SLIDER*/

.nhc_product_slider{
    padding:0 0 0 15%;
    margin-right:-10%;
}
.nhc_product_slider .slick-list{
    overflow:visible !important;
}
.nhc_product_slide{
    margin:0 1.5rem;
}
.nhc_product_slide a{
    position: absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
}
.nhc_product_slider .nhc_product_slide:nth-child(even) .nhc_product_slide_inner{
    margin-top:4rem;
}
.nhc_product_slide_inner{
    width:100%;
    padding-bottom:135%;
    border-radius:100px;
    background:var(--color-paleblue);
    position: relative;
}
.nhc_product_slide_image{
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
}
.nhc_product_slide_new{
    width:64px;
    height:64px;
    border-radius:50%;
    background:var(--color-blue);
    color:white;
    font-family:var(--font-heading);
    font-size:18px;
    font-weight: 700;
    position: absolute;
    top:70px;
    right:70px;
    display:flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}
.nhc_product_slide span.h4{
    position: absolute;
    top:70%;
    left:0;
    right:0;
    text-align:center;
    width:100%;
}

/*VERTICAL CAROUSEL*/

.nhc_vertical_carousels{
    position:absolute;
    top:0;
    bottom:0;
    height:100%;
    width:45%;
    display:flex;
    justify-content: center;
    overflow:hidden;
}
.nhc_vertical_carousels_left{
    left:0;
}
.nhc_vertical_carousels_right{
    right:0;
}
.nhc_vertical_carousel,
.nhc_vertical_carousel_staggered{
    width:300px;
    margin:0 1.5rem;
}
.nhc_vertical_carousel{
    margin-top:-10%;
}
.nhc_vertical_carousel_staggered{
    margin-top:5%;
}
.nhc_vertical_carousel_slide{
    margin:1rem 0;
}
.nhc_vertical_carousel_slide_inner{
    width:100%;
    padding-bottom:100%;
    position: relative;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius:50px;
    overflow:hidden;
}

/*INSTAGRAM FEED*/

.instagram-gallery-item__wrap{
    border-radius:50px;
    overflow:hidden;
    position:relative;
}
.instagram-gallery-item__wrap::after{
    content:'';
    width:100%;
    height:50px;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    position: absolute;
    bottom:0;
    left:0;
    margin-bottom:-19px;
}

/*FOOTER*/

.nhc_footer{
    background:var(--color-blue);
    padding:6rem 0 3rem;
    border-radius:100px 100px 0 0;
    position:relative;
    overflow:hidden;
}
.nhc_footer::after{
    content:'';
    width:100%;
    height:50px;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    position: absolute;
    bottom:0;
    left:0;
    margin-bottom:-19px;
}
.nhc_footer h4,
.nhc_footer .h4{
    font-size:30px;
    color:white;
    letter-spacing:1px;
    margin:0 0 1rem;
    display:block;
}
.nhc_footer_logo{
    width:100%;
    margin:0;
    text-align:center;
}
.nhc_footer_logo img{
    max-width:100%;
    width:auto;
    height:auto;
    margin:auto;
}
.nhc_footer_social{
    list-style:none;
    margin:2.5rem 0;
    padding:0;
    text-align:center;
    display:block;
}
.nhc_footer_social li{
    display:inline-block;
    margin:0 0.75rem;
}
.nhc_footer_social li a{
    display:block;
    color:white;
    font-size:30px;
}
.nhc_footer_button{
    width:100%;
    text-align:center;
}
.nhc_footer_button .nhc_button{
    background:white;
    color:var(--color-blue);
}
.nhc_footer_button .nhc_button:hover{
    background:var(--color-darkblue);
    color:white;
}
.nhc_footer_hours{
    padding:0 1rem;
}
.nhc_footer_hours *{
    color:white;
}
.nhc_footer_bottom *{
    color:white;
}
.nhc_footer_bottom a:hover{
    color:var(--color-lightblue);
}
.nhc_footer_bottom p{
    font-size:13px;
}
.nhc_footer hr{
    border-color:white;
    margin:2rem 0 1rem;
}
.nhc_google_map{
    width:100%;
    padding-bottom:70%;
    position:relative;
}
.nhc_google_map iframe{
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
}
.nhc_location_tabs.nav-pills{
    margin:0 0 1rem;
    display:flex;
    gap:8px;
}
.nhc_location_tabs.nav-pills .nav-item{
    flex:1;
}
.nhc_location_tabs.nav-pills .nav-link{
    border:1px solid white;
    padding:0.25rem 0.5rem;
    color:white;
    background:transparent;
    width:100%;
}
.nhc_location_tabs.nav-pills .nav-link.active{
    background:white;
    color:var(--color-blue);
}

/*PRODUCT GALLERY*/

.nhc_gallery{
    margin:-1rem 0 0;
}
.nhc_gallery .row{
    margin:0 -0.5rem;
}
.nhc_gallery .nhc_col{
    margin:1rem 0 0;
    padding:0 0.5rem;
}
.nhc_gallery_product{
    background:var(--color-blue);
    border-radius:50px;
    width:100%;
    height:100%;
}
.nhc_gallery_product a{
    display:block;
    width:100%;
    height:100%;
    padding:0.5rem;
    text-align:center;
}
.nhc_gallery_product_image{
    width:100%;
    padding-bottom:80%;
    position: relative;
    overflow:hidden;
    border-radius:45px;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    display:block;
}
.nhc_gallery_product a span{
    color:white;
    padding:1.5rem 1rem;
    display:block;
}

/*MODALS*/

.nhc_modal{
    z-index:9999;
}
.nhc_modal .modal-dialog{
    max-width:900px;
}
.nhc_modal .modal-content{
    padding:2rem;
    border-radius:0;
}
.nhc_modal .modal-content::before{
    content:'';
    width:100%;
    height:27px;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    position: absolute;
    top:0;
    left:0;
    margin-top:-13px;
}
.nhc_modal .modal-content::after{
    content:'';
    width:100%;
    height:27px;
    background-image:url(public/img/string.png);
    background-size:auto 100%;
    background-position: center center;
    background-repeat: repeat-x;
    position: absolute;
    bottom:0;
    left:0;
    margin-bottom:-10px;
}
.nhc_modal .btn-close{
    background:transparent;
    border:none;
    color:var(--color-black);
    position: absolute;
    padding:0.75rem;
    top:0;
    right:0;
    font-size:24px;
}
.nhc_modal .nhc_gallery_product_image{
    padding-bottom:70%;
    margin:0 0 1rem;
}
.nhc_modal .nhc_flex_row{
    align-items: center;
}
.nhc_modal .nhc_flex_row .nhc_button{
    float:right;
}
.nhc_order_buttons{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
}
.nhc_order_buttons .nhc_button{
    flex:0 0 49%;
    border:1px solid var(--color-blue);
    background:transparent;
    color:var(--color-blue);
    display:block;
    text-align:center;
    font-size:16px;
    padding:1rem;
}
.nhc_order_buttons .nhc_button:first-of-type{
    background:var(--color-blue);
    color:white;
}
.nhc_order_buttons .nhc_button:hover,
.nhc_order_buttons .nhc_button:first-of-type:hover{
    background:var(--color-darkblue);
    color:white;
    border-color:var(--color-darkblue);
}
.nhc_order_logo{
    width:300px;
    margin:0 auto 1rem;
    text-align:center;
}
.nhc_order_logo img{
    max-width:100%;
    width:auto;
    height:auto;
}

/*LOCATIONS*/

.nhc_locations{
    margin:-3rem 0 0;
}
.nhc_locations .nhc_col{
    margin:3rem 0 0;
}
.nhc_location .nhc_google_map{
    margin:0 0 1rem;
}
.nhc_location h3{
    color:var(--color-blue);
}
.nhc_location p i{
    color:var(--color-blue);
}
.nhc_location .nhc_button{
    margin:1rem 0 0;
}

/*LAST SECTION*/

.nhc_section_last{
    padding-bottom:calc(5rem + 100px);
    margin-bottom:-100px;
}

/*TIMELINE*/

.nhc_timeline{
    position: relative;
    padding:1rem 0;
}
.nhc_timeline::before{
    content:'';
    width:2px;
    height:100%;
    background:var(--color-blue);
    position:absolute;
    top:0;
    left:50%;
    transform:translate(-50%,0);
}
.nhc_timeline_entry{
    margin:4rem 0;
    position: relative;
}
.nhc_timeline_entry::before{
    content:'';
    width:15px;
    height:15px;
    border-radius:50%;
    background:var(--color-blue);
    border:3px solid white;
    position: absolute;
    top:0;
    left:50%;
    transform:translate(-50%,0);
}
.order-md-1 .nhc_timeline_image{
    padding-right:2rem;
    width:100%;
}
.order-md-2 .nhc_timeline_image{
    padding-left:2rem;
    width:100%;
}
.nhc_timeline_entry .nhc_content_image{
    min-height:0;
    padding-bottom:130%;
}
.nhc_timeline_entry .nhc_text_content{
    padding:4rem 2rem;
    display:flex;
    align-items: center;
    height:100%;
}

/*CONTACT*/

.nhc_social{
    list-style:none;
    margin:0;
    padding:0;
    display:block;
}
.nhc_social li{
    display:inline-block;
    margin:0 1rem 0 0;
}
.nhc_social li a{
    display:block;
    color:var(--color-blue);
    font-size:30px;
}
.nhc_social li a:hover{
    color:var(--color-darkblue);
}
.nhc_form{
    background:var(--color-blue);
    padding:3rem;
    border-radius:50px;
}
.nhc_form *:not(input):not(textarea),
.nhc_form label{
    color:white;
}
.nhc_form label{
    font-weight:700;
    font-family:var(--font-body-bold);
}
.nhc_form .gform_required_legend{
    display:none !important;
}
.nhc_form .gfield_required{
    color:white !important;
}
.nhc_form input[type="submit"]{
    display:block;
    width:100%;
    background:white;
    color:var(--color-blue);
    text-transform: uppercase;
    font-family: var(--font-heading);
    font-weight:700;
    font-size:18px;
    letter-spacing:1px;
    transition-duration: 0.5s;
    padding:1rem 3rem;
    border-radius:30px;
    border:none;
}
.nhc_form input[type="submit"]:hover{
    color:white;
    background:var(--color-darkblue);
}

/*ACCORDIONS*/

.nhc_accordion{
    background:white;
    box-shadow:0 0 5px rgba(0,0,0,0.5);
    padding:1.5rem 2rem;
    border-radius:30px;
    margin:0 0 1rem;
    position: relative;
}
.nhc_accordion_q{
    padding-right:3rem;
}
.nhc_accordion_q i{
    position:absolute;
    right:0;
    top:0;
    padding:1.5rem 2rem;
    font-size:24px;
    color:var(--color-blue);
}
.nhc_accordion_q span{
    color:var(--color-black);
}
.nhc_accordion_a{
    display:none;
}









