/*
Theme Name: The Lazy Photograhr Theme
Version: 1.0
Description: Custom theme based on Beaver Theme for The Lazy Photographr
Author: Mike Xavier
Author URI: https://www.mikexavier.com
template: bb-theme
*/

/* Add your custom styles here... */

/* --- GLOBAL --- */
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-font-kerning: normal;
font-kerning: normal;
font-size: 16px;
}

html {
  scroll-behavior: smooth;
}

a {
  transition: 0.1s ease-in-out;
}

::-moz-selection {
  color: var(--tgwhite);
  background-color: var(--tgred);
}

::selection {
  color: var(--tgwhite);
  background-color: var(--tgred);
}

:root {
    --tgwhite: rgba(255, 255, 255, 1);
    --tgred: rgba(218, 55, 50, 1);
    --tgblack: rgba(34, 34, 34, 1);
    --tggrey: rgba(228, 228, 228, 1);
    --tggreylight: rgba(245, 245, 245, 1);
}

.tgwhite {
    color: var(--tgwhite)!important
}
.tgred {
    color: var(--tgred)!important
}
.tgblack {
    color: var(--tgblack)!important
}
.tggrey {
    color: var(--tggrey)!important
}
.tggreylight {
    color: var(--tggreylight)!important
}


@media only screen and (max-width: 768px) {
.tg-mobile-center {
  text-align: center;
  }
}

.z999 {
z-index: 999;
}

input::-webkit-input-placeholder {
color: #656565!important;
}
input::-moz-placeholder {
color: #656565!important;
}
input:-ms-input-placeholder {
color: #656565!important;
}
input:-moz-placeholder {
color: #656565!important;
}

/*** Styles added to fix the issue with zoom in on iphone ***/
/* iPhone < 5: */
@media screen and (device-aspect-ratio: 2/3) {
    select, textarea, input[type="text"], input[type="password"],
    input[type="datetime"], input[type="datetime-local"],
    input[type="date"], input[type="month"], input[type="time"],
    input[type="week"], input[type="number"], input[type="email"],
    input[type="url"]{ font-size: 16px; }
}

/* iPhone 5, 5C, 5S, iPod Touch 5g */
@media screen and (device-aspect-ratio: 40/71) {
    select, textarea, input[type="text"], input[type="password"],
    input[type="datetime"], input[type="datetime-local"],
    input[type="date"], input[type="month"], input[type="time"],
    input[type="week"], input[type="number"], input[type="email"],
    input[type="url"]{ font-size: 16px; }
}

/* iPhone 6, iPhone 6s, iPhone 7 portrait/landscape */
@media screen and (device-aspect-ratio: 375/667) {
    select, textarea, input[type="text"], input[type="password"],
    input[type="datetime"], input[type="datetime-local"],
    input[type="date"], input[type="month"], input[type="time"],
    input[type="week"], input[type="number"], input[type="email"],
    input[type="url"]{ font-size: 16px; }
}

/* iPhone 6 Plus, iPhone 6s Plus, iPhone 7 Plus portrait/landscape */
@media screen and (device-aspect-ratio: 9/16) {
    select, textarea, input[type="text"], input[type="password"],
    input[type="datetime"], input[type="datetime-local"],
    input[type="date"], input[type="month"], input[type="time"],
    input[type="week"], input[type="number"], input[type="email"],
    input[type="url"]{ font-size: 16px; }
}

/* --- NAVIGATION --- */
#menu-main {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.tg-nav-bar{
box-shadow: 0 0 3rem -0.5rem rgba(0,0,0,.5);
z-index: 999;
}

.tg-nav-instagram-icon .style-svg{
  width: 20px;
  vertical-align: middle;
}
.tg-nav-instagram-icon .style-svg path,
.tg-nav-instagram-icon .style-svg circle{
fill: var(--tgwhite);
}
.tg-nav-instagram-icon .style-svg:hover path,
.tg-nav-instagram-icon .style-svg:hover circle{
fill: url(#a);
}
@media only screen and (max-width: 769px) {
.tg-nav-instagram-icon .style-svg path,
.tg-nav-instagram-icon .style-svg circle{
fill: var(--tgwhite);
}
}

#tg-nav-bar-mobile {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
    border-top: 1px solid #222;
    transition: bottom 0.4s ease-in-out;
}

.uabb-creative-menu .uabb-overlay-slide-down {
    visibility: hidden;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.4s ease-in-out, visibility 0s 0.4s;
    transition: transform 0.4s ease-in-out, visibility 0s 0.4s;
}
.uabb-creative-menu.menu-open .uabb-overlay-slide-down {
    visibility: visible;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition: -webkit-transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
}

.uabb-creative-menu .uabb-menu-overlay .uabb-menu-close-btn {
    bottom: 20px;
    top: auto;
    right: auto;
    width: 100%!important
}

/* --- HOME --- */
.tg-home-more-btn:hover a span{
    color: var(--tgred)!important;
}

/* --- WooCommerce Cart Icon --- */
.cart-contents {
    position: relative;
    display: flex !important;
    justify-content: center;
}

.cart-contents:before {
    -webkit-mask: url(https://torygrimaldi.com/wp-content/uploads/2019/03/tory-grimaldi-icon-cart.svg);
	  mask: url(https://torygrimaldi.com/wp-content/uploads/2019/03/tory-grimaldi-icon-cart.svg);
	  -webkit-mask-size: 100% 100%;
	  mask-size: 100% 100%;
	  -webkit-mask-repeat: no-repeat;
	  mask-repeat: no-repeat;
	  background-color: var(--tgwhite);
	  content: ' ';
	  position: absolute;
	  width: 22px;
	  height: 100%;
	  top: 0;
}

.cart-contents-count {
    color: var(--tgwhite)!important;
    background: var(--tgred);
    border-radius: 50%;
    padding: 1px 5px;
    line-height: 1.5;
    vertical-align: top;
    height: 15px;
    width: 15px;
    transform: translateY(-60%) translateX(60%);
    font-size: 10px;
		transition: all .1s ease-in-out;
}

.cart-contents:hover .cart-contents-count{
color: var(--tgwhite);
background: var(--tgblack);
}


/* --- SINGLE PRODUCT PAGE - PRINTS --- */
.variations label {
display: none;
}

.pswp__caption {
display: none;
}

.woocommerce div.product form.cart .variations select,
select.wc-pao-addon-field.wc-pao-addon-select,
.woocommerce .quantity .qty {
    min-width: 100%;
    display: inline-block!important;
    margin-right: 1em!important;
    height: 50px!important;
    line-height: 36px!important;
    padding: 7px 12px!important;
    white-space: nowrap;
    border: 1px solid #666!important;
    background: #222!important;
    -webkit-appearance: none;
    border-radius: 1px!important;
    font-size: 16px;
}

.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty {
background: #222!important;
width: 5em;
}

.woocommerce form .form-row {
padding: 0;
margin: 0 0 16px 0;
}

.woocommerce div.product form.cart .variations td.label {
padding-right: 0;
}

.woocommerce div.product div.images img, .woocommerce-page div.product div.images img {
border: none;
}

.woocommerce div.product div.images .flex-control-thumbs li{
width: 10%;
margin: 10px 5px 0 0;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .button:hover {
    background: #e4e4e4;
    color: #222;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 0;
    -webkit-appearance: none;
    border-radius: 1px;
    height: 50px!important;
    line-height: 36px!important;
    padding: 7px 12px!important;
    white-space: nowrap;
    min-width: 100%;
    margin: 16px 0;
}

div.product-addon-totals {
border: 0;
}

.product-addon-totals ul {
padding-inline-start:0;
}

div.product-addon-totals .wc-pao-subtotal-line {
border-top: 1px solid #666;
}

.woocommerce-product-gallery__image {
  box-shadow: 0 0 6rem 1rem rgba(0,0,0,.5);
}

.tg-related-print-image {
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
}

.fl-theme-builder-woo-notices{
background: var(--tgblack);
max-width: 100%;
}

.woocommerce .woocommerce-message, .woocommerce-page .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce-page .woocommerce-info, .woocommerce .woocommerce-error, .woocommerce-page .woocommerce-error {
    background: transparent;
    border: none;
    color: var(--tgblack)!important;
    font-weight: bold;
    padding: 0 10px !important;
    text-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.tg-restriction {
	border: 4px solid black;
    padding: 15px;
}
.tg-required {
	color: var(--tgred)!important
}

.woocommerce .woocommerce-message a.button, .woocommerce-page .woocommerce-message a.button, .woocommerce .woocommerce-info a.button, .woocommerce-page .woocommerce-info a.button, .woocommerce .woocommerce-error a.button, .woocommerce-page .woocommerce-error a.button {
    color: var(--tgwhite);
    background: var(--tgblack)!important;
    padding: 5px 10px!important;
    border-radius: 1px;
}
.woocommerce .woocommerce-message a.button:hover, .woocommerce-page .woocommerce-message a.button:hover, .woocommerce .woocommerce-info a.button:hover, .woocommerce-page .woocommerce-info a.button:hover, .woocommerce .woocommerce-error a.button:hover, .woocommerce-page .woocommerce-error a.button:hover {
color: var(--tgwhite);
}
.woocommerce table.shop_table, .woocommerce-page table.shop_table {
    background: var(--tggreylight);
    border: 1px solid var(--tgblack);
    -moz-border-radius: 1px;
    -webkit-border-radius: 1px;
    border-radius: 1px;
}
.page-id-252 .woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty{
-webkit-appearance: menulist-button;
background: var(--tggreylight)!important;
width: 3em;
color: var(--tgblack);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, a.button.wc-backward {
color: var(--tgwhite);
position: relative;
text-transform: uppercase;
font-size: .9em;
font-weight: 700;
letter-spacing: .5px;
padding: 8px 16px;
margin: 15px 0 0 0;
border:none;
border-radius: 1px;
background: var(--tgblack);
background-image: linear-gradient(to right, rgba(34,34,34,1) 50%, var(--tgred) 50%)!important;
background-position: -0% 0!important;
background-size: 202% auto!important;
text-decoration: none!important;
transition: background-position .4s cubic-bezier(.33,.66,.66,1);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, a.button.wc-backward:hover {
background-position: -99% 0!important;
border: none;
background: transparent;
}
@media (max-width: 992px){
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, a.button.wc-backward:hover {
background-position: -0% 0!important;
border: none;
background: var(--tgblack);
}
}
.woocommerce a.remove {
color: var(--tgred)!important;
}
.woocommerce a.remove:hover {
background: var(--tgred)!important;
}

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
width:100%;
}

.woocommerce .cart-collaterals .cart_totals table td, .woocommerce-page .cart-collaterals .cart_totals table td {
padding: 10px;
}

.woocommerce table.shop_table, .woocommerce-page table.shop_table {
border: none;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--tgred);
    color: #fff;
}

.select2-results__option[aria-selected], .select2-results__option[data-selected] {
    color: #333;
}

.woocommerce #payment div.payment_box, .woocommerce-page #payment div.payment_box {
	color: var(--tgblack);
}

/* --- PRINT STORE LANDING PAGE --- */
.tg-print-store-card .tg-print-store-thumb{
box-shadow: 0 0 1rem .5rem rgba(0,0,0,.3);
transition: box-shadow .4s cubic-bezier(.33,.66,.66,1);
}
.tg-print-store-card:hover .tg-print-store-thumb{
box-shadow: 0 0 4rem .5rem rgba(0,0,0,.8);
}

.tg-print-store-thumb {
  background-size: cover;
  background-repeat: no-repeat;
  background-position:center center;
}

.tg-print-store-content{
  padding: 10px 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.tg-print-store-title {
opacity: .5;
transition: opacity .4s cubic-bezier(.33,.66,.66,1);
}
.tg-print-store-card:hover .tg-print-store-title {
opacity: 1;
}

.tg-print-store-title h1{
  font-size: .8em;
  letter-spacing: .5px;
}

.tg-print-store-cta{
color: var(--tgred);
text-transform: uppercase;
font-size: .8em;
letter-spacing: .5px;
opacity: 0;
transition: opacity .4s cubic-bezier(.33,.66,.66,1);
}
.tg-print-store-card:hover .tg-print-store-cta{
opacity: 1;
}


@media (max-width: 992px){
.tg-related-prints .uabb-blog-posts .uabb-post-wrapper{
    margin-bottom: 10px;
}
.tg-related-prints {
margin: 0 10px;
}
}

/* --- Portfolio --- */
.tg-portfolios .uabb-post-wrapper .uabb-blog-post-content {
padding: 2.5%;
}

.portfolio-card-container{
transition: box-shadow .4s cubic-bezier(.33,.66,.66,1);
}
.portfolio-card-container:hover {
box-shadow: 0 0 4rem 0rem rgba(0,0,0,.5);
}

.portfolio-card-img{
width:100%;
margin-bottom: 40px;
background-size: cover;
background-repeat: no-repeat;
}

.portfolio-card-title {
    position: absolute;
    transform: rotate(90deg);
    transform-origin: bottom left;
    padding: 5px 15px;
    font-size: .6em;
    background-image: linear-gradient(to bottom, rgba(34,34,34,0) 50%, rgba(34,34,34,1) 50%);
    background-position: 1px 100%;
    background-size: auto 202%;
    text-decoration: none;
    transition: background-position .4s cubic-bezier(.33,.66,.66,1);
}
.portfolio-card-container:hover .portfolio-card-title{
    background-position: 0 0;
}

.portfolio-card-title h3 {
color: var(--tgwhite);
font-size: 1.5em;
letter-spacing: 2px;
text-transform: uppercase;
opacity: 1;
transition: opacity .4s cubic-bezier(.33,.66,.66,1);
}
.portfolio-card-container:hover .portfolio-card-title h3{
opacity: 0;
}

.portfolio-card-details{
padding:0;
margin: 0 40px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
right: 0;
bottom: 50px;
left: 0;
opacity: 0;
z-index: 20;
transition: bottom .4s, opacity .5s cubic-bezier(.33,.66,.66,1);
}
.portfolio-card-container:hover .portfolio-card-details{
opacity: 1;
bottom: 20px;
}
.tg-contact-form .uabb-contact-form-submit, button#place_order {
    background: var(--tgblack)!important;
	width: 100%;
}

.tg-btn {
    color: #fff!important;
    position: relative;
    text-transform: uppercase!important;
    font-size: .8em!important;
		line-height: 1em!important;
    letter-spacing: 1px!important;
    padding: 6px 12px!important;
    margin: 0;
	background: transparent;
	border: none!important;
	border-radius: 1px!important;
}

.tg-footer-subscribe-form .uabb-creative-button-wrap a, .tg-contact-form .uabb-contact-form-submit, button#place_order {
    color: #fff!important;
    position: relative;
    text-transform: uppercase!important;
    font-size: .8em!important;
	line-height: 1em!important;
    letter-spacing: 1px!important;
    padding: 6px 12px!important;
    margin: 0;
	background: transparent;
	border: none!important;
	border-radius: 1px!important;
    background-image: linear-gradient(to right, rgba(255,255,255,0) 50%, var(--tgred) 50%)!important;
    background-position: -0% 0!important;
    background-size: 202% auto!important;
    text-decoration: none;
    transition: background-position .4s cubic-bezier(.33,.66,.66,1);
}
.tg-footer-subscribe-form .uabb-creative-button-wrap a:hover, button.alt:hover, .tg-contact-form .uabb-contact-form-submit:hover, button#place_order:hover {
background-position: -99% 0!important;
}
@media (max-width: 992px){
button.alt:hover, .tg-contact-form .uabb-contact-form-submit:hover, button#place_order:hover {
background-position: -0% 0!important;
border: none;
background: var(--tgblack);
}

}

button#place_order {
	font-size: 1em!important;
    padding: 10px 12px!important;
}

@media (max-width: 768px){
.portfolio-card-container {
box-shadow: 0 0 4rem 0rem rgba(0,0,0,.5);
}
.portfolio-card-container:hover .portfolio-card-title{
background-position: 1px 100%;
}
.portfolio-card-container:hover .portfolio-card-title h3{
opacity: 1;
}
.portfolio-card-details{
opacity: 1;
bottom: 20px;
}
.tg-footer-subscribe-form .uabb-creative-button-wrap a, .tg-contact-form .uabb-contact-form-submit{
background-position: -99% 0;
}
}

.tg-footer-subscribe-form .uabb-creative-button-wrap a {
background-position: -99% 0!important;
}
}
}


.tg-portfolio-gallery a, .portfolio-card-container a{
  cursor: url('https://torygrimaldi.com/wp-content/uploads/2019/01/cursor.svg'),
url('https://torygrimaldi.com/wp-content/uploads/2019/01/cursor.cur') 20 20, auto;
}
.tg-portfolio-gallery a:active, .portfolio-card-container a:active{
  cursor: url('https://torygrimaldi.com/wp-content/uploads/2019/01/cursor-pressed.svg'),
url('https://torygrimaldi.com/wp-content/uploads/2019/01/cursor-pressed.cur') 20 20, auto;
}

.tg-back-to-portfolio .infobox-icon-left-title .uabb-imgicon-wrap{
margin-right: 6px;
}

.mfp-bg {
opacity: .9;
}

.mfp-arrow-left:before, .mfp-arrow-left .mfp-b, .mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
border: none;
}
.mfp-arrow {
opacity: .8;
transition: opacity .4s cubic-bezier(.33,.66,.66,1);
}
.mfp-arrow:hover {
opacity: 1;
}

/* --- ABOUT --- */
.tg-about-intro-heading, .tg-about-intro-txt {
background: #fff;
z-index: 20;
padding: 0 25px;
}

/* --- GEAR --- */
.tg-gear .uabb-blog-posts{
align-items: flex-end;
}

.tg-gear-img {
		background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: center;
}
@media only screen and (max-width: 769px) {
.tg-gear-img {
height: 100px;
}
}

.tg-gear-subheading h5{
color: #666;
font-size: .9em;
margin:10px 0 0 0;
}

.tg-gear-title h2{
color: var(--tgblack);
font-size: 1.1em;
}

.tg-gear-link {
font-size: .8em;
text-transform: uppercase;
font-weight: bold;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
right: 0;
bottom: 15px;
left: 0;
opacity: 0;
transition: bottom .4s, opacity .5s cubic-bezier(.33,.66,.66,1);

}
.tg-gear-wrapper:hover .tg-gear-link{
bottom: 0;
opacity: 1;
}
@media only screen and (max-width: 992px) {
.tg-gear-link {
bottom: 0;
opacity: 1;
}
}

/* --- CONTACT ---*/
.tg-social-icons-wrapper {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
}
.tg-social-icons-wrapper svg {
margin: 5px 15px;
transition: fill .15s ease;
}
.tg-social-icons-wrapper .instagram svg{
height: 28px;
}
.tg-social-icons-wrapper .instagram #tg-icon-instagram #outline,
.tg-social-icons-wrapper .instagram #tg-icon-instagram #ring,
.tg-social-icons-wrapper .instagram #tg-icon-instagram #dot {
fill: var(--tgblack);
}
.tg-social-icons-wrapper .instagram:hover #tg-icon-instagram #outline,
.tg-social-icons-wrapper .instagram:hover #tg-icon-instagram #ring,
.tg-social-icons-wrapper .instagram:hover #tg-icon-instagram #dot {
fill: url(#a);
}
.tg-social-icons-wrapper .facebook svg{
height: 30px;
fill: var(--tgblack);
}
.tg-social-icons-wrapper .facebook:hover svg{
fill: #3b5998;
}
.tg-social-icons-wrapper .reddit svg{
height: 25px;
fill: var(--tgblack);
}
.tg-social-icons-wrapper .reddit:hover #tg-icon-reddit #eyes{
fill: var(--tgblack);
transition: fill .15s ease;
}
.tg-social-icons-wrapper .reddit:hover #tg-icon-reddit #eyes{
fill: #f04a23;
}
.tg-social-icons-wrapper .fivehundredpixels svg{
height: 17px;
fill: var(--tgblack);
}
.tg-social-icons-wrapper .fivehundredpixelsa #tg-icon-500px #px {
fill: var(--tgblack);
transition: fill .15s ease;
}
.tg-social-icons-wrapper .fivehundredpixels:hover #tg-icon-500px #px {
fill: #1890ff
}

.tg-social-icons-wrapper .twitter svg{
height:22px;
fill: var(--tgblack);
}
.tg-social-icons-wrapper .twitter:hover svg{
fill: #1da1f2;
}

.checkout .woocommerce-checkout .woocommerce form .form-row input.input-text, .woocommerce-page form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-page form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page form .form-row select, .woocommerce table.cart td.actions .coupon .input-text, .woocommerce-page table.cart td.actions .coupon .input-text {
color: var(--tgblack);
}


@media only screen and (max-width: 768px) {
td.product-name {
width: 100%;
}
}


/* --- PRIVACY POLICY --- */
.tg-privacy-policy a {
text-decoration: underline;
}

#cookie-notice .cn-button {
    background: var(--tgwhite);
    color: var(--tgblack)!important;
    font-family: 'open sans';
    text-shadow: none;
    border: none!important;
    border-radius: 1px!important;
	  box-shadow: none;
    background-image: none!important;
}

#cookie-notice .cn-more-info.cn-button {
	background: none;
    box-shadow: none;
    color: var(--tgwhite)!important;
    text-decoration: underline;
    letter-spacing: 0.1px!important;
}


/* --- FOOTER --- */
/* Force footer to the bottom on pages with limited content */
.fl-page {
  position: relative;
  min-height: 100vh;
}
.tg-footer {
  width: 100%;
  position: absolute;
  bottom: 0px;
  z-index: 9;
}

.tg-footer-subscribe-form .uabb-form-field label{
font-size: .8em;
}

.tg-footer-link a {
color: #666!important;
}

.tg-footer-link a:hover{
color: var(--tgred)!important;
}

svg.hamburger-menu{
	color: var(--tggreylight);
}
rect.uabb-hamburger-menu-top {width:45px; height: 8px;}
rect.uabb-hamburger-menu-middle {height: 8px;}
rect.uabb-hamburger-menu-bottom {width:40px; height: 8px;}
