/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on January 9, 2020 */

@font-face {
    font-family: 'montserratbold';
    src: url('../fonts/montserrat-semibold-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'montserratbold_italic';
    src: url('../fonts/montserrat-semibolditalic-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-semibolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'montserratitalic';
    src: url('../fonts/montserrat-italic-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'montserratregular';
    src: url('../fonts/montserrat-regular-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'grand_hotelregular';
    src: url('../fonts/grandhotel-regular-webfont.woff2') format('woff2'),
         url('../fonts/grandhotel-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* off canvas nav */

.menu-icon:after {
    background:#222;
    -webkit-box-shadow: 0 7px 0 #222,0 14px 0 #222;
    box-shadow: 0 7px 0 #222,0 14px 0 #222;
}
@media screen and (max-width: 39.99875em) {
.top-bar-right {
    position: absolute;
    right: 20px
}
}
.off-canvas {
    color: #fff;
    background-color: #222;
}

/* globals */

body {
    font-family: "montserratregular", sans-serif;
    font-display: swap;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: "montserratbold", sans-serif;
    /*font-weight: bold;*/
    font-display: swap;
}
.h3, h3 {
    font-size: 1.2rem;
    text-transform: uppercase;
}
.h4, h4 {
    font-size: 110%;
    text-transform: uppercase;
}
@media screen and (min-width: 40em) {
    .h3, h3 {
    font-size: 1.563rem;
    }
    .h4, h4 {
    font-size: 1.256rem;
    }
}

p a:not(.button) {
    color: #099acf;
    transition: all ease-in 300ms;
    text-decoration: underline !important;
}
p a:not(.button):hover {
    color: #0a0a0a;
}
/*.main p > a {
    text-decoration: underline;
}*/
.button {
    border-radius: 100px;
    background-color: #099acf;
}
.button.secondary {
    color: #fff;
    background-color: #222;
}
.button.secondary:hover {
    color: #fff;
    background-color: #0a0a0a;
}
.button.hollow.secondary {
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
}
.button.hollow.secondary:hover {
    border: 1px solid #fff;
    color: #222;
    background-color: #fff;
}
.menu .active > a {
    background: transparent;
}

/* masthead */
#subhead-container {
    background-color: #222;
}
#subhead-container .menu {
    font-size: 0.875rem;
}
#subhead-container a {
    color: #cacaca;
    transition: all ease-in 100ms;
}
#subhead-container a:hover {
    color: #fff;
    text-decoration: underline;
}


body:not(.home) .header {
    border-bottom: 1px solid #cacaca;
}

.top-bar, .top-bar ul {
    background-color: #fff;
}
#main-nav a {
    font-size: 0.875rem;
    font-weight: bold;
    color: #000;
    text-transform: uppercase;
    transition: all ease-in 100ms;
}
#main-nav a:hover {
    color: #099acf;
}
.is-dropdown-submenu a:hover {
    color: #fff !important;
    background-color: #222;
}
.is-dropdown-submenu {
    border-color: #222;
}


.header .logo {
    width: 120px;
    height: 60px;
}
@media screen and (min-width: 64em) {
    .header .logo {
        /*width: 240px;
        height: 120px;*/
    }
}

/* home page */

.hero-bg {
    background-size: cover;
    background-position: center;
}
.hero {
    padding: 5vh 0;
    color: #fff;
     background: rgb(61,61,61);
     background: linear-gradient(62deg, rgba(61,61,61,0) 0%, rgba(61,61,61,1) 100%); 
}
.hero h2 {
    font-family: 'grand_hotelregular', sans-serif;
    font-size: 2rem;
    font-display: swap;
}
@media screen and (min-width: 40em) {
    .hero {
        padding: 15vh 0;
    }
    .hero h2 {
        font-size: 2.8rem;
    }
}

.grid-button {
        margin: 8px 30px;
        padding: 1rem 2rem;
}
/*
.grid-button:after {
    display: block;
    width: 90%;
    content: '';
    border-bottom: 1px solid #0783b0;
    padding-top: 1em;
    margin: 0 auto;
}
*/
@media screen and (min-width: 40em) {
    .grid-button {
        margin: 0;
    }
}
/*
@media screen and (min-width: 80em) {
    .grid-button:after {
        display: none;
    }
}
*/
.grid-buttons {
    background: #099acf;
}
.grid-button {
    display: block;
    padding: 2rem;
    text-align: center;
    color: #fff;
    background-color: #099acf;
    transition: background-color ease-in 300ms;
}


.grid-button:hover, .grid-button:visited {
    color: #fff;
}
.grid-button:hover {
    background-color: #1eafe4;
}
.grid-button img {
    width: 64px;
    height: 64px;
}
.cta {
    color: #fff;
    background: #099acf;
    padding: 1.5rem;
    transition: background-color ease-in 300ms;
}
.cta:hover {
    background-color: #1eafe4;
}
.cta a:last-of-type {
    margin-bottom: 0;
}
.cta p {
    font-size: 1.25rem;
}

@media screen and (min-width: 40em) {
    .cta {
        padding: 4rem;
    }
.cta p:last-of-type {
    margin-bottom: 0;
}
}

/* pages */

.primary {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
/*body:not(.home) .primary {
    padding-top: 0;
}*/

/* footer */

.footer-widgets {
    color: #aaaaaa;
    background: #222;
    padding: 4rem 0;
    font-size: 0.875rem;
}
.footer-widgets .widget {
    margin-bottom: 2.875rem;
}
@media screen and (min-width: 40em) {
    .footer-widgets .widget {
    margin-bottom: 0;
    }
}
@media screen and (min-width: 40em) {
    .footer-widgets .menu {
        margin-bottom: 1.25rem;
    }
}
.footer-widgets .menu {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
.widget_nav_menu a {
    color: #fff;
    padding: .7rem 0;
    margin-bottom: .7rem;
    border-bottom: solid 1px #3a3a3a;
    transition: border-color ease-in 300ms;
}
.widget_nav_menu a:hover {
    color: #fff;
    border-color: #fff;
}
.footer {
    color: #8a8a8a;
    font-size: 0.875rem;
}
.footer p a {
    color: #8a8a8a;
    transition: all ease-in 100ms;
}
.footer p a:hover {
    color: #0a0a0a;
    
}

/* plugins */
#carousel {
    background-color: #222;
}
.wpcp-carousel-section.nav-vertical-center {
    padding: 0;
}
.wpcp-carousel-section.slick-initialized .slick-slide {
    margin-right: 0;
}
@media screen and (min-width: 64em) {
.wpcp-slide-image {
    opacity: 0.5;
    transition: opacity linear 300ms;
}
.wpcp-slide-image:hover {
    opacity: 1;
}
}

.breadcrumbs {
    color: #8a8a8a;
    font-size: 0.875rem;
    padding-top: 4rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed #cacaca;
}
.breadcrumbs a {
    color: #8a8a8a;
    transition: all ease-in 100ms;
}
.breadcrumbs a:hover {
    color: #0a0a0a;
    
}

/* cta */
.callout {
    font-size: 110%;
    font-weight: bold;
    border: solid 2px #099acf;
    color: #000;
    background-color: #e3f7ff;
    margin: 0 0 1.25rem 0;
}


/* external link icon */
main a:not([href*='puppytalesrescue.com.au']):not([href^='#']):not([href^='/']):after {
    font-family: 'FontAwesome';
    content: " \f08e";
}