/*
Theme Name: Family Photographer
Theme URI: https://www.titanthemes.net/products/family-photographer
Author: Titan Themes
Author URI: https://www.titanthemes.net/
Description: Family Photographer is a multipurpose, minimal, and elegant theme designed for professional photographers, family photographers, family photography experts, portrait photographers, photo studios, wedding photographers, newborn photographers, lifestyle photography artists, event shooters, creative agencies, freelancers, and studios who want to showcase their work in a sophisticated and visually stunning way, while also serving maternity photographers, pet photographers, senior portrait studios, engagement photography services, holiday mini-session photographers, branding portrait studios, outdoor adventure photographers, children’s milestone photographers, fine-art portrait creators, and home-session photography specialists looking to build a premium online portfolio. Its clean, modern layout paired with retina-ready visuals ensures every image is displayed with exceptional clarity, captivating viewers instantly. Built to be responsive, SEO-friendly, and mobile-optimized, the theme adapts flawlessly to any device for a smooth, engaging browsing experience. With developer-friendly features and optimized code for faster load times, Family Photographer delivers outstanding performance. It includes a captivating banner, strong call-to-action (CTA) buttons, a testimonial section, and seamless portfolio integration to attract and convert potential clients. A dedicated team area helps showcase your creative journey, while integrated social media links make sharing effortless. Agency-friendly and versatile, it supports advanced gallery features via NextGEN Gallery and enhances client interaction through Contact Form 7, WooCommerce, and Jetpack. Interactive elements, parallax effects, and animated sections add a luxurious and dynamic touch. Built on Bootstrap with easy-to-use shortcodes, the theme offers extensive customization options for layouts, colors, and typography. With secure, clean code, translation-ready support, and advanced personalization, Family Photographer provides a high-end, fully responsive, and visually compelling platform that elevates your portfolio and inspires clients effortlessly.
Requires at least: 6.1
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.8
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: family-photographer
Tags: grid-layout, two-columns, right-sidebar, left-sidebar, full-width-template, custom-background, custom-header, translation-ready, style-variations, one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, wide-blocks, block-styles, photography, e-commerce, blog
*/

body{
  color: var(--wp--preset--color--black) !important;
}
.list-box p span.dashicons{
  color: var(--wp--preset--color--black) !important;
}
.related-post h4,.related-post p{
  color: var(--wp--preset--color--contrast);
}
.gutentor-element-video-popup .gutentor-video-popup-holder{
  background: transparent !important;
}
.about-left-image-box img{
  width: 100%;
  object-fit: cover;
  height: 450px !important;
}
.about-counter {
  margin-top: -92px;
}
.about-right-image img{
  height: 280px;
  object-fit: cover;
  width: 100%;
}
.post-date {
  display: inline-block;
  width: 19%;
  text-align: center;
  word-wrap: break-word;
}
.header-inner-menu ul li{
  padding: 2px 10px;
}
.header-inner-menu ul li ul.wp-block-navigation-submenu li:hover{
  background-color: transparent !important;
  color: var(--wp--preset--color--primary) !important;
}
.header-inner-menu ul li:hover{
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base) !important;
  padding: 2px 10px;
  border-radius: 30px;
}
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button{
  color: var(--wp--preset--color--base);
}
p.return-to-shop a,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce div.product form.cart button.single_add_to_cart_button, .woocommerce div.product form.cart button[name=add-to-cart], .woocommerce .cart .button,.product-template-default .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button,.woocommerce #review_form #respond .form-submit input{
  background: var(--wp--preset--color--primary) !important;
}

.header-inner-menu ul li a:hover{
  text-decoration: none;
}
.header-inner-menu ul li a{
  position: relative;
  display: inline-block;
}
.post-block p.wp-block-post-author__name,.wp-block-post-date time,.post-block .wp-block-post-excerpt p.wp-block-post-excerpt__excerpt,.sidebar-heading{
  color: var(--wp--preset--color--contrast);
}
.banner-btn a{
  height: 300px !important;
}
.call-icon-main{
  position: relative;
}
.wp-block-search.wp-block-search__button-only .wp-block-search__input{
  position: absolute;
  right: 50px;
  top: -0px;
}
.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{
  justify-content: center !important;
}
.wc-block-mini-cart__button,.wp-block-woocommerce-customer-account a,.wish-icon p{
  background: transparent;
  border-radius: 10px;
  padding: 10px !important;
  text-align: center;
  color: inherit !important;
  font-size: 15px !important;
}
.banner-text {
  margin-top: -127px;
  position: relative;
  z-index: 3;
}

.slider {
  position: relative;
  margin-inline: auto;
}

.slider::before {
  position: absolute;
  -webkit-mask-image: url(assets/images/slider-before.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  width: 100% !important;
  height: 100px !important;
  content: "";
  left: 0px;
  top: -3px;
  object-fit: cover;
  z-index: 5;
  background: var(--wp--preset--color--contrast) !important;
}
.slider img{
  height: 500px !important;
  object-fit: cover;
}
.slider figure{
  margin-bottom: 0px !important
}

.owl-carousel {
  position: relative;
  z-index: 0;
}
.slider:after {
  position: absolute;
  -webkit-mask-image: url(assets/images/slider-after.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  width: 100% !important;
  height: 100px !important;
  content: "";
  bottom: -4px;
  left: 0px;
  object-fit: cover;
  opacity: 99999;
  background: var(--wp--preset--color--contrast) !important;
}
.slider-contact {
  position: absolute;
  width: 100% !important;
  bottom: 10px;
  z-index: 3;
}
.wp-block-social-links svg {
  font-size: 18px;
}
.service-image img{
  width: 100% !important;
}
.slider-box-left h2{
  position: relative;
  z-index: 1;
}
.search-box{
  position: relative;
}
.search-icon p {
  display: flex;
  width: 55px;
  height: 55px;
  border-radius: 50px;
  padding: 10px;
  justify-content: center;
  align-items: center;
}
.search-icon p span {
  color: var(--wp--preset--color--contrast) !important;
  font-size: 40px;
  width: 50px;
  display: block;
  height: 50px;
  text-align: center;
  margin: 0px !important;
}
.award-box-left:hover .search-icon p span{
  color: var(--wp--preset--color--base) !important;
}
.award-box-left:hover .search-icon p{
  background: var(--wp--preset--color--primary) !important;
}
.search-icon {
  text-align: center;
}
.wp-block-cover__inner-container time a {
  color: #fff !important;
}
.wc-block-mini-cart__quantity-badge svg{
  color: var(--wp--preset--color--primary) !important ;
  fill: var(--wp--preset--color--primary)  !important;
}
.eb-cd-wrapper .eb-cd-inner,.eb-cd-wrapper .eb-cd-inner{
  display: flex;
  gap:10px;
}
.wishlist-column .wp-block-columns.are-vertically-aligned-center.is-layout-flex.wp-container-core-columns-is-layout-430f08e6.wp-block-columns-is-layout-flex{
  justify-content: flex-end;
}
.owl-stage-outer {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0px !important;
}
.wishlist-column img {
  margin-right: 4px;
}
.image-box{
  position: relative;
}
.general-header-middle .wp-block-search__input {
  background: #EFEFEF;
  border: none;
}
.general-header-middle .wp-block-search__button, .general-header-middle .wp-block-woocommerce-customer-account .label {
  font-weight: 600;
}
.header-inner-menu li:last-child::after {
  display: none;
}
ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu li:after{
  display: none;
}
.slider-button a:hover,.theme-btn a:hover,.header-button a:hover{
  background-color: var(--wp--preset--color--secondary) !important;
}
.slider-main-box{
  position: relative;
}
.post-date span.dashicons{
  color: #ffffff;
}
.post-date {
  position: absolute;
  top: 15px;
  right: 25px;
}
button.wp-block-search__button.has-text-color.has-base-color.has-background.has-contrast-background-color.has-icon.wp-element-button {
  padding: 10px 10px;
  background: transparent;
}
.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  padding: 0px !important;
  align-items: center;
}

.wp-block-image.small-img img {
  vertical-align: middle;
}

img.normal-image {
  height: 100%;
  width: 100%;
}
/*============== Effects Section ==============*/
.animations-hidden-item{
  opacity: 0;
  transform: translateY(150px);
  transition: all 1s;
}
.animations-show-item{
  opacity: 1;
  transform: translateY(0px);
}

.about-left {
  position: relative;
}
.wp-site-blocks{
  padding: 0 !important;
}
.wpcf7-spinner {
  position: absolute;
  right: 0px;
}
p span.dashicons{
  margin-right: 10px;
  color: var(--wp--preset--color--primary);
}

footer.wp-block-template-part .photolancer-footer-list {
  gap: 15px;
}
.social-icon {
  gap: 0px;
}
.social-icon li{
  background-color:transparent !important;
}
.social-icon li a svg{
  height: 20px !important;
  width: 20px !important;
}
/*.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button,*/
.woocommerce div.product form.cart button.single_add_to_cart_button, .woocommerce div.product form.cart button[name=add-to-cart],
.woocommerce .cart .button, .woocommerce .cart input.button,
#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button{
  color: #fff !important;
}
.wlfmc-counter-wrapper{
  width: auto;
}
.wp-block-woocommerce-customer-account a span{
  font-family: Figtree;
  font-weight: 500;
}
.wp-block-woocommerce-customer-account a{
  display: flex;
  flex-direction: row-reverse;
}
.wp-block-image img{
  vertical-align: unset;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container li a {
  padding: 10px 15px;
  color: #000000;
}
.wp-site-blocks{
	padding: 0 !important;
}
footer.wp-block-template-part {
  margin-top: 0;
}
.comment-respond.wp-block-post-comments-form.wp-block-post-comments-form input[type=submit]{
  color: #fff;
}
.comment-respond.wp-block-post-comments-form.wp-block-post-comments-form input[type=submit]:hover{
  background: var(--wp--preset--color--primary);
}

a.added_to_cart,span.yith-wcwl-add-to-wishlist-button__label{display: none;}
.sidebar-box .wp-block-search__button svg{
  fill: #fff;
}

blockquote.wp-block-quote.is-layout-flow.wp-block-quote-is-layout-flow {
  padding: 0px;
  margin: 10px 0px;
}

@media screen and (min-width: 320px) and (max-width: 599px) {
  span.wp-block-navigation-item__label {
    color: #000000;
  }
  .header-inner-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    left: auto;
    right: auto;
    width: 100%;
    position: relative;
    padding: 0px 0px;
  }
  .header-inner-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    width: 100% !important;
    align-items: center;
    gap: 0px;
    padding-bottom: 0px !important;
  }
  .header-inner-menu ul li a{
    border-bottom: 1px solid #000;
    display: inline-block;
    width: 100%;
    padding-bottom: 10px !important;
    padding-top: 10px !important;
    text-align: center;
  }
  .header-inner-menu ul li.wp-block-navigation-submenu{
    padding: 0px !important;
    padding-bottom: 0px !important;
  }
  .header-inner-menu ul {
    gap: 0px !important;
  }
  .header-inner-menu ul li ul.wp-block-navigation-submenu li a{
    justify-content: center;
  }
  .header-inner-menu ul li {
    padding: 0px !important;
  }
  .wp-block-social-links{
    justify-content: center;
  }
  .about-counter {
    margin-top: 0px !important; 
  }
  .banner-btn-box{
    display: block !important;
    text-align: center;
  }
  .banner-btn-box .wp-block-buttons{
    justify-content: center !important;
    margin-bottom: 20px !important;
  }
  .counter-inner{
    display: grid !important;
    grid-template-columns: auto auto !important;
  }
  .post-date {
    display: inline-block;
    width: 35%;
  }
  .service-image img{
    height: 250px !important;
    object-fit: cover;
  }
  .slider::before,.slider:after{
    display: none;
  }
  button.wp-block-navigation__responsive-container-close {
    background-color: var(--wp--preset--color--primary);
    padding: 5px;
    border-radius: 30px;
  }
  .wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg{
    fill: var(--wp--preset--color--base) !important;
    color: var(--wp--preset--color--base) !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item{
    width: 100% !important;
    align-items: center;
  }
  .slider-box-left h2 {
    font-size: 45px !important;
  }
  .banner-text {
    margin-top: 20px;
  }
  .award-box {
    position: relative;
    bottom: 0;
    left: 0px;
    right: 0px;
    margin: 0 auto;
  }
  .phone-number .wp-block-buttons{
    justify-content: center !important;
  }
  .header-meta{
    gap:10px !important;
  }
  .slider img{
    height: 300px !important;
    object-fit: cover;
  }
  .service-content-box h4,.service-content-box{
    text-align: left !important;
  }
  .contact-container{
    max-width: 80% !important;
  }
}
@media screen and (min-width: 320px) and (max-width: 781px) {
  .menu-group .wishlist-column .wp-block-column.is-vertically-aligned-center.wish-icon.is-layout-flow.wp-block-column-is-layout-flow{
    flex-basis: 45px !important;
  }
  .header-inner-menu li:after {
    display: none;
  }
  .slider-contact {
    position: relative;
    width: 100% !important;
    bottom: 0px;
    z-index: 3;
    padding-bottom: 20px !important;
  }
  .service-text h6,.service-text p{
    text-align: center !important;
  }
  .header-inner-menu nav{
    justify-content: center !important;
  }
  .wp-block-woocommerce-customer-account.alignright.has-quicksand-font-family.has-text-color.has-contrast-color.wp-elements-955f405fd74d1cbf739ad4edea9b4f46{
    margin-left: 0px;
  }
  .slider-box-left{
    text-align: center;
  }
  .header-inner-menu ul{
    justify-content: center;
  }
  .header-logo .wp-block-group {
    justify-content: center !important;
  }
  .banner-heading{
    text-align: center !important;
  }
  .slider-button{
    justify-content: center !important;
  }
  .header-logo h1 {
    text-align: center;
  }
  .header-button .wp-block-buttons{
    justify-content: center;
  }
  .header-box-upper{
    position: relative;
  }
}
@media screen and (min-width: 576px) and (max-width: 781px) {
  .banner-btn-box{
    justify-content: center !important;
  }
  img.normal-image{
    width: auto !important;
    height: auto !important;
  }
  .gutentor-image-thumb{
    text-align: center !important;
  }
  .testi-column{
    justify-content: center !important;
  }
  .slider::before,.slider:after{
    height: 40px !important
  }
  .slider img{
    height: 300px !important;
  }
  .banner-btn-box{
    width: 75% !important;
  }
  .banner-text {
    margin-top: 20px;
  }
  .counter-inner{
    display: grid !important;
    grid-template-columns: auto auto !important;
  }
  .post-date {
    display: inline-block;
    width: 38%;
  }
  .wp-block-social-links{
    justify-content: center;
  }
  .product-box{
    display: grid !important;
    grid-template-columns: auto auto !important;
  }
  .cart-box{
    text-align: center !important;
  }
  .search-box,.cart-box,.phone-number{
    flex-basis: 33.33% !important;
  }
  .about-box,.blog-box{
    display: grid !important;
    grid-template-columns: auto auto !important;
    width: 100%;
  }
  ul.columns-3.news-box {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .header-meta{
    display: flex !important;
    flex-wrap: nowrap !important;
  }
  .slider-box-left h2 {
    font-size: 75px !important;
  }
  .banner-images-main {
    margin-top: -0px;
  }
  .slider-main-box{
    min-height: 900px !important;
  }
}
@media screen and (min-width: 782px) and (max-width: 1200px) {
  .header-inner-menu ul {
    gap:10px !important;
  }
  .woo-icon{
    gap:10px;
  }
  footer.wp-block-template-part .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-89f6da4a.wp-block-columns-is-layout-flex,.news-heading-box ,.news-section .wp-block-query.is-layout-flow.wp-block-query-is-layout-flow,.tour-box,.about-box,.service-group,.general-top-header .wp-block-columns.are-vertically-aligned-center.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex,.general-header-middle .wp-block-columns.are-vertically-aligned-center.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex{
    max-width: 90% !important;
  }
  .header-box,.service-text-main{
    max-width: 90% !important;
  }
  .header-box{
    gap:10px !important;
  }
  .phone-number {
    flex-basis: 80% !important;
  }
  .slider-box-left h2.banner-heading{
    font-size: 115px !important;
    padding-top: 10px !important;
  }
  .slider-contact{
    position: relative;
  }
  .slider-contact p{
    font-size: 12px !important;
  }
  .wp-block-social-links,.contact-container{
    gap:7px !important;
  }
  .contact-container{
    max-width: 95% !important;
  }
  .about-counter {
    margin-top: 0px;
  }
  .about-counter{
    max-width: 90% !important;
  }
  .count-main-column{
    flex-basis: 60% !important;
  }
  .empty-main-column{
    flex-basis: 0% !important;
  }
  .texti-main-column{
    flex-basis: 15% !important;
  }
  .post-date {
    width: 40%;
  }
  .banner-text {
    margin-top: -55px;
  }
  .banner-left-heading-box{
    max-width: 40% !important;
  }
  .banner-btn-box{
    gap:10px;
  }
  .slider::before,.slider:after{
    height: 40px !important;
  }
  .slider img{
    height: 300px !important;
    object-fit: cover;
  }
  .banner-btn-box .wp-block-buttons a{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .banner-btn a{
    height: 150px !important;
    font-size: 20px !important
  }
  .about-box{
    gap:10px !important;
  }
  .about-left p{
    font-size: 12px !important;
  }
}
@media screen and (min-width: 320px) and (max-width: 800px) {
  .admin-bar .wp-block-navigation__responsive-container-close {
    color: #000000;
    top:15px;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
    justify-content: center !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .single-image figure{
    width: 100% !important;
  }
}
@media screen and (min-width: 1201px) and (max-width: 1440px) {
  .header-inner-meta {
    flex-basis: 28% !important;
  }
  .slider-box-left h2.banner-heading{
    font-size: 180px !important;
  }
  .banner-text {
    margin-top: -90px;
  }
  .slider-contact p{
    font-size: 12px !important;
  }
  .wp-block-social-links{
    gap:10px !important;
  }
  .texti-main-column{
    flex-basis: 12% !important;
  }
  .post-date {
    width: 25%;
  }
  .header-inner-menu ul {
    gap:10px !important;
  }
  .woo-icon{
    gap:10px;
  }
}

/*back to top*/
.wp-block-button.scroll-to-top .wp-block-button__link.wp-element-button {
  width: 40px;
  height: 40px;
  position: fixed;
  right: 25px;
  bottom: 25px;
  display: inline-block;
  z-index: 1;
  text-indent: -5000px;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.089);
  display: none;
  padding: 0;
  margin-top: 0;
}

.wp-block-button.scroll-to-top .wp-block-button__link.wp-element-button:after {
  content: "";
  width: 40px;
  height: 40px;
  background-color: #fff;
  -webkit-mask-image: url(assets/images/up-arrow.svg);
  mask-image: url(assets/images/up-arrow.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  position: absolute;
  display: inline-block;
  left: 0;
  top: 0;
}

.news-heading-box .news-small-title{
  width: max-content;
}
.news-section .news-heading-box{
  gap: 0;
}
.news-section .news-box .wp-block-post:hover .wp-block-post-title a{
  color: var(--wp--preset--color--primary);
}
.news-section .news-heading-box{
  gap: 0;
}
.recent-btn a {
  background: var(--wp--preset--color--primary);
  padding: 10px 12px;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}
.recent-btn a:hover{
  background: #000;
}

@media screen and (min-width: 1100px) and (max-width: 1200px) {
.header-logo{
  flex-basis:20% !important;
}
.header-logo  h1 a {
    font-size: 18px !important;
}
.header-inner-menu{
  flex-basis:55% !important;
}
.header-inner-meta {
    flex-basis: 25% !important;
  }
}

/* Pagination CSS */
.wp-block-query-pagination {
  margin: 40px 0;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers {
  margin: 0;
  display: inline-block;
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
  padding: 12px 16px;
  background: var(--wp--preset--color--primary);
  line-height: 1;
  margin: 0 3px;
  text-decoration: inherit;
  display: inline-block;
  box-shadow: 0 0 15px #1E1E1E2b;
  border-radius: 6px;
  color: #fff;
}

.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination a:hover,
.wp-block-query-pagination a:focus,
.wp-block-query-pagination a:active {
  background-color: #000000;
  color: #ffffff !important;
}

@media screen and (min-width: 782px) and (max-width: 1420px) {
  .wp-block-query-pagination .page-numbers, .wp-block-query-pagination .wp-block-query-pagination-next, .wp-block-query-pagination .wp-block-query-pagination-previous{
    padding: 8px 10px;
  }
}