/*
Theme Name: franfriedman
Theme URI: franfriedman.com
Description: A responsive theme built on Bootstrap 5.
Author: Mandile Web Design
Body Classes: desktop-menu-child-indicator-3 desktop-menu-current-link-style-0 desktop-menu-dropdown-style-1 desktop-menu-hover-style-0 header-0 mobile-nav-option-2 mobile-nav-parent-toggle-style-1 newsletter-style-3 search-button-desktop-0 search-button-mobile-0 search-type-1
Version: 20260225
Tags: responsive, bootstrap, bootstrap 5, theme options, customizable, clean, grid
*/

/* Customizable Theme Settings */
@import url('css/_vars.css');

/* Core Theme Styles */
@import url('css/doc.css');
@import url('css/animations.css');
@import url('css/elements.css');
@import url('css/header.css');
@import url('css/footer.css');
@import url('css/blog.css');
@import url('css/cpt.css');

/* Widget Styles Used in Slice */
@import url('css/widget-social.css');

/* ***** ADD ALL CUSTOM STYLES BELOW THIS LINE *****  */
.btn.btn-cta {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  padding: 9px 20px !important;
  border-radius: 0 0 5px 5px !important;
  background: #2BB24C !important;
}
.btn.btn-cta:hover {
  color: #fff !important;
  background: #12aee0 !important;
}

.btn.btn-cta i {color: #fff !important; padding-right: 5px;}
#header-main {padding: 41px 0;}
#top-bar + #header-main {padding: 31px 0 51px;}
@media only screen and (min-width: 992px) {
  .header-links .menu > ul > li > a {
    border-radius: 5px;
  }
  .desktop-menu-current-link-style-1 .header-links .menu > ul > li.current-menu-item:not(.cta):not(.cta-outline):hover > a, 
  .desktop-menu-current-link-style-2 .header-links .menu > ul > li.current-menu-item:not(.cta):not(.cta-outline):hover > a {
    border: none;
    background: 0;
  }
  .header-links .menu > ul > li > ul {
    padding-top: 20px !important;
    box-shadow: none !important;
    background: 0 !important;
  }
  .header-links .menu > ul > li > ul > li:first-child {border-top: 1px solid var(--primary_accent);}
  .desktop-menu-child-indicator-3 .header-links .menu > ul > li.menu-item-has-children:hover > a:after {color: #fff !important;}
}
@media only screen and (max-width: 991.98px) {
  .header-links .menu ul li {background: #12aee0;}
  .header-links .menu ul li a {
    color: #fff;
    background: #12aee0;
  }
  .header-links .menu ul li:hover > a {
    color: #fff;
    background: #109cc9;
  }
  #top-bar {display: none;}
  #header-main, #top-bar + #header-main {padding: 20px 0;}
}
.btn-shop {
  font-size: 20px;
  color: #000;
}

#footer-top {text-align: center;}


.btn.btn-tertiary, input.btn.btn-tertiary, body .elementor-element.elementor-button-danger .elementor-button {
  display: inline-flex;
  position: relative !important;
  align-items: center;
  align-content: center;
  justify-content: center !important;
	color: #000 !important;
	fill: #000 !important;
  padding: 0 0 0 54px !important;
  /* min-width: 220px; */
  text-align: center !important;
  height: 87px !important;
  font-size: 22px !important;
  font-weight: bold !important;
	border-color: none !important;
  border: none !important;
	background-color: transparent !important;
  background: transparent url(images/cloud-before.png) no-repeat left top !important;
}
.btn.btn-tertiary:hover, input.btn.btn-tertiary:hover, body .elementor-element.elementor-button-danger .elementor-button:hover {
	color: #12aee0 !important;
	fill: #12aee0 !important;
	border-color: none !important;
  border: none !important;
	background-color: transparent !important;
}
.btn.btn-tertiary:after, input.btn.btn-tertiary:after, body .elementor-element.elementor-button-danger .elementor-button:after {
  content: '';
  position: absolute;
  top: 0;
  right: -64px;
  display: block;
  width: 70px;
  height: 87px;
  background: transparent url(images/cloud-after.png) no-repeat left top !important;
}

.elementor-button-text {position: relative; z-index: 1;}

img.img-home-fran .img-home-fran img {max-height: 460px;}

.cloud-1 {
  animation: orbit 10s linear infinite !important;
}
.cloud-1 img {
  animation: counter-rotate 10s linear infinite !important;
}
.cloud-2 {
  animation: orbit 14s linear infinite !important;
}
.cloud-2 img {
  animation: counter-rotate 14s linear infinite !important;
}
.cloud-3 {
  animation: orbit 11s linear infinite !important;
}
.cloud-3 img {
  animation: counter-rotate 11s linear infinite !important;
}

.starlight-1 img {
  transform-origin: top center;
  animation: swing 10s ease-in-out infinite;
}
.starlight-2 img {
  transform-origin: top center;
  animation: swing 14s ease-in-out infinite;
}
.starlight-3 img {
  transform-origin: top center;
  animation: swing 18s ease-in-out infinite;
}
.starlight-4 img {
  transform-origin: top center;
  animation: swing 16s ease-in-out infinite;
}
.starlight-5 img {
  transform-origin: top center;
  animation: swing 12s ease-in-out infinite;
}


@keyframes orbit {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); } /* Container moves counter-clockwise */
}

@keyframes counter-rotate {
  from { transform: rotate(-360deg); }
  to { transform: rotate(0deg); } /* Image stays upright */
}

@keyframes swing {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}
body:not(.elementor-editor-active) .innerpage-col-bc {display: none !important;}
body:not(.elementor-editor-active) .innerpage-col-bc:has(.elementor-element) {display: block !important;}
.wpcf7-checkbox .wpcf7-list-item {display: block !important;}

.custom-contact-form {
  display: block;
  margin: 0 auto;
  max-width: 640px;
}

.music-list {
  display: block;
  margin: 0 auto;
  max-width: 700px;
}
.elementor-testimonial-meta {text-align: right;}
.full-width-button .elementor-button {
  display: block !important;
}
img.album-cover, .album-cover img {
  max-height: 225px;
}
@media (min-width: 1400px) {
  .maxwidth-900.e-con.e-flex > .e-con-inner.e-con-inner {
    max-width: 900px !important;
    margin: 0 auto;
  }
}

.scroll_to_top {
  position: fixed !important;
  z-index: 1 !important;
  display: block;
  width: 91px;
  height: 108px;
  text-align: center;
  bottom: -4em;
  right: 2em;
  background: #fff;
  background: url(images/top.png);
  opacity: 0;
  transition: all 0.3s ease 0s;
}
.main-nav-scrolled .scroll_to_top {
  filter: alpha(opacity=100);
  opacity: 1;
  bottom: 2em;
}