/*
 Theme Name:   Andrea Haffner New
 Description:  HTML5 Child Theme
 Author:       Willhouse
 Author URI:   https://willhousecreative.com
 Template:     html5blank
 Version:      1.0.6
*/

/*------------------------------------*\
    CSS custom properties
\*------------------------------------*/
:root{
    --mauve:#983653;
    --grey: #444;
    --light-grey:#ccc;
    --black: #1a1a1a;
    --white: #fff;
}
/*------------------------------------*\
    MAIN
\*------------------------------------*/
/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}
ul {
    padding-inline-start: 0px;
}
.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
    vertical-align:bottom;
    height: auto;
}
a {
	color:var(--mauve);
	text-decoration:none;
}
a:hover {
	color:var(--mauve);
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
.home a.button {
    display: block;
    background-color: var(--mauve);
    max-width: 120px;
    margin: 0 auto;
    padding: 3px 0px;
    color: var(--white);
    text-transform: uppercase;
}
a.button:hover{
    background-color: var(--black);
}
input:focus {
	outline:0;
	border:1px solid var(--mauve);
}
.category a.ah-moreinfo{
    text-transform: uppercase;
    color: var(--mauve);
}
/*------------------------------------*\
    FONTS
\*------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Raleway:500,700&display=swap');
body{
    font-family: 'Raleway', sans-serif;
    font-size: 12px;
    /*font-size: 1em;*/
    line-height: 22px;
    font-weight: 500;
    color: var(--grey);
}
h1{
    font-size: 16px;
    margin: 0px 0px .67em 0px;
}
/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
.wrapper{
    max-width:1280px;
	width:95%;
	margin:0 auto;
    position:relative;
    
    display:grid;
    grid-template-columns:[left] 180px auto auto auto auto [right];
    grid-template-rows: [top] minmax(40px, auto) auto minmax(60px, auto) [bottom];
}
/*------------------------------------*\
    HEADER
\*------------------------------------*/
.mobile-header-shim{
    position:fixed;
    background-color:white;
    z-index: 1;
    width: 100%;
    height: 50px;
    display:block;
}
.header{
    grid-column: 1 / span 1;
    display: flex;
    text-align: center;
    align-self: center;
    position: fixed;
    top: 10px;
    z-index:2
}
@media (min-width: 768px) {
    .header{
        position:relative;
        top:auto;
    }
    .mobile-header-shim{
        display:none;
    }
}
.logo{
    flex-shrink: 0;
}
img.logo-img{
    width: 100%;
    max-width: 198px;
    height: auto;
}
/*------------------------------------*\
    SOCIAL
\*------------------------------------*/
.social{
    grid-column: 3 / span 2;
    justify-self: start;
    align-self: center;
    padding: 0px 0px 0px 10px;
    position: fixed;
    top: 13px;
    right: 50px;
    z-index:2

}
@media (min-width: 768px) {
    .social{
        position: relative;
        top: auto;
        right: auto;
    }
}
/*------------------------------------*\
    SEARCH
\*------------------------------------*/
.search-section{
    display:none;
    position: relative;
    grid-row: 2;
    grid-column: 1 / -1;
    align-self: center;
    justify-self: start;
}
.search-section input[type="search"]{
    height: 21.76px;
    width: 100%;
    background: transparent;
    border: 1px solid var(--mauve);
}
.search-section button{
    background: none;
    border: none;
    position: absolute;
    top: 1px;
    width: 40px;
    right: -7px;
}
.post-thumbnail-link{
    position:relative;
    display:block;
}
/*------------------------------------*\
    NAVIGATION
\*------------------------------------*/
.navigation{
    grid-column: 5;
    position: fixed;
    right:0px;
    z-index:2

}
@media (min-width: 768px) {
    .navigation{
        position: relative;
    }
}
nav ul > li {
    list-style-type: none;
    text-transform: uppercase; 
}
nav ul > li.current-menu-item a,
ul.sub-menu > li.current-post-parent a,
ul.sub-menu > li.current-menu-item a,
nav ul > li a:hover{
    color: var(--mauve);
    font-weight: 700;
}
nav ul > li.current-menu-item a:before{
    background:url(img/arrow.png);
}
li.current-menu-item > ul, 
li.current-menu-ancestor > ul,
li.current-post-parent > ul  {
    display: block;
    padding: 0px 15px;
}
nav ul > li.current-menu-item ul.sub-menu > li a{
    color: var(--white);
    font-weight: 500;
}
li > ul {
    display:none;
}
nav ul > li.current-menu-item ul.sub-menu > li a:hover,
nav ul > li.current-menu-item ul.sub-menu > li.current-menu-item a{
    color: var(--mauve);
    font-weight: 700;
}
/* Responsive Nav */
/* Screen reader only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
/* Button styling */
.menu-toggle {
    display: inline-block;
    padding: .75em 15px;
    line-height: 1em;
    font-size: 1em;
    color: var(--grey);
    margin: 10px;
}
.menu-toggle:hover,
.menu-toggle:focus {
    color: var(--mauve);
}
/*
Default styles + Mobile first
Offscreen menu style
*/
.nav {
    position: absolute;
    display: none;
    left: -200px;
    top: 0;
    height: 100%;
    overflow-y: scroll;
    overflow-x: visible;
    transition: left 0.3s ease,
        box-shadow 0.3s ease;
    z-index: 999;
}
.nav ul {
    list-style: none;
    margin: 0;
    padding: 2.5em 0 0;
    /* Hide shadow w/ -8px while 'closed' */
    -webkit-box-shadow: -8px 0 8px rgba(0,0,0,.5);
    -moz-box-shadow: -8px 0 8px rgba(0,0,0,.5);
    box-shadow: -8px 0 8px rgba(0,0,0,.5);
    min-height: 100%;
    width: 200px;
    background: var(--black);
}
.nav a {
    display: block;
    padding: .75em 15px;
    line-height: 1em;
    font-size: 1em;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid var(--grey);
}
.nav li:first-child a {
    border-top: 1px solid var(--grey);
}
.open-button{
    font-size: 25px;
}
.close-button{
    font-size: 18;
}
.close-button a{
    text-decoration: none;
}
.nav .menu-close {
    position: absolute;
    right: 0;
    top: 0;
}
/*
On small devices, allow it to toggle...
*/
/*
:target for non-JavaScript
[aria-expanded] will be used if/when JavaScript is added to improve interaction, though it's completely optional.
*/
.nav:target,
.nav[aria-expanded="true"] {
    display: block;
    left: 0;
    outline: none;
    -moz-box-shadow: 3px 0 12px rgba(0,0,0,.25);
    -webkit-box-shadow: 3px 0 12px rgba(0,0,0,.25);
    box-shadow: 3px 0 12px rgba(0,0,0,.25);
}
.nav:target .menu-close,
.nav[aria-expanded="true"] .menu-close {
    z-index: 1001;
}
.nav:target ul,
.nav[aria-expanded="true"] ul {
    position: relative;
    z-index: 1000;
}
/* 
We could use `.nav:target:after`, but
it wouldn't be clickable.
*/
.nav:target + .backdrop,
.nav[aria-expanded="true"] + .backdrop{
    position: absolute;
    display: block;  
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 998;
    background: var(--black);
    background: rgba(0,0,0,.85);
    cursor: default;
}
@supports (position: fixed) {
    .nav,
    .nav:target + .backdrop,
    .nav[aria-expanded="true"] + .backdrop{
        position: fixed;
    }
}
/*
Larger screen styling
Horizontal menu
*/
@media (min-width: 768px) {
    .menu-toggle,
    .nav .menu-close {
        display: none;
    }
    /* Undo positioning of off-canvas menu */
    .nav {
        position: fixed;
        left: auto;
        top: auto;
        height: auto;
        display: block;
        overflow-y: visible;
        overflow-x: visible;
    }
    .nav ul {
    /* Undo off-canvas styling */
        padding: 0;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        height: auto;
        width: auto;
        background: none;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }
    .nav:target + .backdrop,
    .nav[aria-expanded="true"] + .backdrop{
        left:auto;
    }
    .nav:target, .nav[aria-expanded="true"]{
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        left:auto;
    }
    .nav a {
        border: 0 !important; /* Remove borders from off-canvas styling */
        color: var(--grey);
    }
    nav ul > li.current-menu-item ul.sub-menu > li a{
        color: var(--grey);
        font-weight: 500;
    }
    .nav a:hover,
    .nav a:focus {
        background: none; /* Remove background from off-canvas styling */
    }
}
/*------------------------------------*\
    CONTENT
\*------------------------------------*/
main{
    grid-column: span 5; 
    grid-row: span 2;  
    margin-top: 25px;
    padding: 0 15px; 
}
body.page section{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
/*.page-grid{
    display:grid; 
    grid-template: 1fr / minmax(420px, auto) 1fr;
    align-items: start; 
    justify-items: start;
}*/
/*.page-grid article{
    grid-area: 1/2;
}*/
body.page article{
    flex: 1;
    flex-basis: 200px;
    margin-top:25px;
}
/* Pages */
.page-featured-image {
    margin-right: 30px;
    width: 100%;
    height: 300px;
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
}
/* Archives */
.archive article,
.store article{
    text-align:center;
}
.archive article p,
.store article p{
    margin: 15px 0 0 0;
    font-size: 12px;
}
/* Jewelry Shop */
.archive article p.category-info{
    margin:0px;
    font-style:italic;
    display:none;
}
.archive.category-1  article p.category-info{
    display: block;
}
/*Search*/
.search main section h1{
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 100%;
}
.search main section article{
    flex: 1;
}
/*Galleries*/
/* fix an issue where hovering over slide descriptions changed the cursor to a hand */
.scrollGallery2 .imagearea ul li .caption_container div{
    cursor: default!important;
}
/* fix an issue where certain image descriptions overlapped on the image */
.scrollGallery2 .imagearea ul li .caption_container{
    bottom: -5px!important;
}
/*------------------------------------*\
    HOME LANDING
\*------------------------------------*/
body.page-id-5 p {
    margin-top: 0px;
}
/*------------------------------------*\
    SHOP (SUNSETTING)
\*------------------------------------*/
.archive article,
.store article{
    flex: 1;
    flex-basis: 300px;
    margin-top:25px;
}
.shop-grid{
    display:grid;
    grid-template-columns: minmax(auto,400px) auto;
    grid-template-rows: auto auto;
}
#product-photo{
    grid-area: 1 / 1 / 1 / span 2;
    justify-self: center;
}
@media only screen and (min-width:768px) {
    #product-photo{
        grid-area: 1 / 1 / 1 /1;
        justify-self: start;
    }
}
#product-content{
    grid-area: 2 / 1 / 2 / 3;
    justify-self: center;
    margin-top: 25px;
}
@media only screen and (min-width:768px) {
    #product-content{
        grid-area: 1 / 2 / 2 / 3;
        justify-self: start;
        margin-top: 0px;
    }
}
#product-photo img {
    max-width: 300px;
}
#product-content a{
    font-weight:bold;
    color:var(--mauve);
}
#product-content a:hover{
    color:var(--black);
}
#product-content p{
    margin-top:0px;
    margin-bottom: 35px;
}
#product-content p:first-child{
   display:none;
}
#chain-options{
    grid-area: 3/1/3/3;
    justify-self: center;
}
@media only screen and (min-width:768px) {
    #chain-options{
        grid-area: 2/1;
        justify-self: start;
    }
}
.Cart66Price {
    font-weight: bold;
    font-size: 1.2em;
    margin: 3px 7px 4px 0px;
    display: block;
}
.Cart66PriceLabel {
    display: block;
    width: 325px;
    padding: 0;
    margin: 0 0 5px 0;
    font-size: 13px;
    text-transform: uppercase;
    font-style: normal;
    color: var(--grey);
    border-bottom: 1px solid var(--light-grey);
    font-weight: normal;
}
.Cart66PreDecimal, .Cart66PostDecimal, .Cart66CurrencySymbol {
    font-weight: 700;
    font-size: 16px;
}
article.shop-grid h3 {
    display: inline-block;
    width: 325px;
    padding: 0;
    margin: 0 0 7px 0;
    font-size: 13px;
    text-transform: uppercase;
    font-style: normal;
    color: #222;
    border-bottom: 1px solid #ccc;
}
#chain-options h3 {
    width: 300px;
    margin-top: 5px;
}
/* Shop Buttons */
.Cart66ButtonPrimary, .Cart66ButtonSecondary, #content .Cart66ButtonPrimary, #content .Cart66ButtonSecondary, .Cart66CartButton .purAddToCart {
    display: inline-block;
    font-size: 12px;
    line-height: 0;
    height: 20px;
    padding: 1.5em 4em;
    border: 1px solid var(--mauve);
    -webkit-border-radius: 0px;
    -moz-border-radius: 50px;
    border-radius: 0px;
    cursor: pointer;
    background-color: var(--mauve);
    background-image: -webkit-linear-gradient(var(--mauve), var(--mauve)b);
    background-image: -moz-linear-gradient(#445e67, #2d434b);
    background-image: -o-linear-gradient(#445e67, #2d434b);
    background-image: -ms-linear-gradient(#445e67, #2d434b);
    background-image: linear-gradient(var(--mauve), var(--mauve));
    color: #fff;
    margin-top: 25px;
}
#continueShopping a:hover,
#checkoutShopping a:hover,
#emptyCartMsg a:hover{
    color: var(--white);
}
/*------------------------------------*\
    SHOP (WOOCOMMERCE)
\*------------------------------------*/
.woocommerce div.product div.images,
.woocommerce-page div.product div.images{
    width: 100%;
}
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary{
        width: 100%;
}
@media only screen and (min-width:768px) {
    .woocommerce div.product div.images,
    .woocommerce-page div.product div.images{
        width: 35%;
    }
    .woocommerce div.product div.summary,
    .woocommerce-page div.product div.summary{
        width: 61%;
    }
}
.related.products h2 {
    text-align: left;
    clear: both;
}
.woocommerce div.product p.price, 
.woocommerce div.product span.price{
    color: var(--grey);
}
.summary h2:first-of-type {
    display:none;
}
ul.products.ah-related {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}
ul.products a h2{
    color: var(--grey);
}
.woocommerce ul.products li.product .price{
    color: var(--grey);
}
.stock.sold{
    position:absolute;
    top:0px;
    left:0px;
    width:50px;
    text-align:center;
    background-color:var(--mauve);
    color:white;
    padding:2%;
}
.woocommerce div.product .stock{
    color:white;
}
.post-thumbnail-link .stock.sold{
    padding:1px;
}
/*   Interface overrides
------------------------------------*/
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt{
    background-color: var(--mauve);
    border-radius: 0;
}
.woocommerce #respond input#submit.alt:hover, 
.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover{
    background-color: var(--black);
}
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button{
    background-color: var(--mauve);
    border-radius: 0; 
    color:var(--white);
}
.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover
{
    background-color: var(--black);
    color: var(--white)!important;
}
.woocommerce a.remove{
    color: var(--mauve)!important;
}
.woocommerce a.remove:hover {
    color: var(--white)!important;
    background: var(--mauve);
}
.woocommerce-message {
    border-top-color: var(--mauve);
}
.woocommerce-message::before{
    color: var(--mauve)!important;
}
.woocommerce-info{
    border-top-color: var(--mauve);
}
.woocommerce-info::before{
    color: var(--mauve)!important;
}
.woocommerce #respond input#submit.disabled, 
.woocommerce #respond input#submit:disabled, 
.woocommerce #respond input#submit:disabled[disabled], 
.woocommerce a.button.disabled, 
.woocommerce a.button:disabled, 
.woocommerce a.button:disabled[disabled], 
.woocommerce button.button.disabled, 
.woocommerce button.button:disabled, 
.woocommerce button.button:disabled[disabled], 
.woocommerce input.button.disabled, 
.woocommerce input.button:disabled, 
.woocommerce input.button:disabled[disabled]{
    color:white;
}
/*------------------------------------*\
    HOME PAGE
\*------------------------------------*/
.home-page{
text-align:center;
}
img.home-page-logo{
    width: 100%;
    max-width: 300px;
    height: auto;
    margin-top: 25px;
}
/*------------------------------------*\
   FOOTER
\*------------------------------------*/
footer{
    grid-column: span 5;
    text-align: center;
    padding-top: 45px;
}
footer span{
  display:block;
}
/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

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

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

}
@media only screen and (min-width:768px) {
    .wrapper{
        margin-top: 29px;
    }
    .header{
        grid-column: 2 /span 1; 
        text-align: left;
    }
    img.logo-img{
        width: 100%;
        max-width: 264px;
        height: auto;
    }
    .social{
        grid-column: 4;
        justify-self: end;
        align-self: center;
        padding: 0px 10px 0px 0px;
    }
    .search-section{
        display:block;
        grid-row: 1;
        grid-column: 5;
        padding-right: 30px;
        justify-content: flex-end;
    }
    .search-section input[type="search"]{
        width: 150px;
    }
    .search-and-social button{
        position: absolute;
        top: 0px;
        right: -5px;
    }
    .navigation{
        grid-area: 2/1/3/2;
    }
    main{
        grid-column: span 4;
        grid-row: span 1;
        margin-top:15px;
        padding: 0 0px;
    }
    article{
        margin-top:0px;
    }
    .page-featured-image {
        margin-right: 30px;
        width: 50%;
        height: 999px;
        background-position: top center;
	    background-size: contain;
    }
   /* .page-grid .page-featured-image{
        background-position: top left;
        background-size: contain;
        grid-area: 1/1;
        position: fixed;
    }*/
    footer span{
        display:inline-block;
    }
}
@media only screen and (min-width:1024px) {

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

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

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}
/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.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;
}
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%;
	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 .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	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;
	}
}
