/*
Theme Name: infocusfirst
Theme URI: https://example.com/infocusfirst
Description: A lightweight child theme for Kadence.
Author: Rakela Roshi
Author URI: https://example.com
Template: kadence
Version: 1.1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: infocusfirst
*/

 /* Apply global gutter & max-width to any block that is NOT alignfull */ 
/* Drop this once, then add class="inner-wrap" to any inner Group */
p, h1, h2, h3, h4, h5, h6, div{
	-webkit-font-smoothing: antialiased;
}
.hero-title {
  font-family: var(--global-heading-font-family, "Inter"), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 700;
}

.site-header-row.site-header-row-center-column {
    grid-template-columns: 0.7fr 1.3fr 1fr !important;
}
.wp-block-separator {
    border: none;
    border-top: 0px solid;
}
footer .widget_nav_menu {
    text-align: center;
}
.inner-wrap, .wp-block-group.inner-wrap .wp-block-group__inner-container {
  width: 100%;
  max-width: 1290px;                 /* match your Customizer value */
  margin-inline: auto;
  box-sizing: border-box;
}
.inner-wrap > .wp-block-columns {
  gap: 2rem;                         /* column gutter */
}
.inner-wrap > .wp-block-columns > .wp-block-column {
  flex: 1 1 0;                       /* equal widths no matter content */
}
.wp-block-group.alignwide  .wp-block-group, .wp-block-group.alignfull  .wp-block-group{
 width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.wp-block-kadence-infobox {
    width: 100%;
}

.acuity-embed-wrapper {
    width: 100%;
    height: 100vh; /* Full viewport height */
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  #acuity-frame {
    flex-grow: 1;
  }

.above{
	z-index: 99;
	position: relative;
}
.columns_gap_40 {
	gap: 4em;
}

footer .collapse-sub-navigation ul.menu li a {
    text-decoration: underline;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.blog #primary
 {
    padding: 60px 0 !important;
}
.single-post #primary {
    padding: 0;
    margin: 0;
}
.single-post .post-thumbnail {
    padding-bottom: 45% !Important; 
}

.comment-form .comment-input-wrap p label, .comment-form p.comment-form-float-label label, .comment-form::placeholder, .comment-form::-webkit-input-placeholder {

    color: #777777 !Important;
}
.section-title{
font-size: 2.8rem;
	//letter-spacing: 0.03em;
}
@media screen and (min-width: 768px), screen and (max-width: calc(1832.44px)) and (orientation: landscape){

	.section-title{
		font-size: calc(1.8 * 1.2vw + 1rem);
	}
}
@media (max-width: 1024px) {
	.home h1 {
    font-size: calc(3.4rem * 1.3) !important;
	line-height: 1.3em;
		text-align: center;
	}
	.menu-toggle-icon .kadence-svg-iconset svg{
		width: 2em;
		height: 2em;
	}
	.entry-content-wrap {
        padding: 0  !important;
    }
	h2.h2_mobile_big {
    font-size: 50px !important; 
	}
	

}
@media (max-width: 767px) {
	footer .wp-block-image figure {
    float: none !important;
    margin: 0 auto !important;
}
	footer .has-text-align-left {
    text-align: center !important;
}
footer .wp-block-group{
	justify-content: space-between;
}
	footer .wp-block-social-links.alignright {
    float: none;
    text-align: center !important;
    margin: 0 auto;
		justify-content: center;
}
	.image_original_size img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover;
    height: auto !important;
    width: auto;
}
	.home .kt-blocks-info-box-media-align-left {
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: flex-start;
}
	.home .kt-blocks-info-box-media-container {
    padding-bottom: 30px;
		align-items: flex-start;
    justify-content: flex-start;
}
	.services img {
    height: 140px !important;
    width: 200px !important;
}
	    .services {
        padding: 4em 1.5em !important;
    }
   .services>.wp-block-columns {
    gap: 0 !important;
    margin: 0 !important;
}
	 .services>.wp-block-columns > .wp-block-column {
        margin-bottom: 4em !important;
    }
	.services>.wp-block-columns:last-child .wp-block-column:last-child {
    margin-bottom: 0 !important;
}
	.section_title {
    font-size: 35px !important;
}
	.entry-content .wp-block-group.has-background {
    padding: 20px 18px;
}
  	.inner-wrap, .wp-block-group.inner-wrap .wp-block-group__inner-container {
    padding-inline: 0; 
	}
	
	.services ul{
		padding-left: 8px !important;
	}
	.services li {
    font-size: 18px;
    padding: 0;
    margin: 0;
}
	h1{
		font-size: 1.8em !important;
	}
	
	h2, footer h2{
		font-size: 1.8em !important;
	}
	h2.smaller{
		font-size: 1.5em !important;
	}
	.home h1 {
     //font-size: calc(3.4rem * 1.1) !important;
	 line-height: 1.3em;
	}
	body:not(.home) .hero h1 {
		font-size: 50px !important;
		line-height: 1.3em;
	}
		.home h2 {
    font-size: 32px !important;
	}
	h2.h2_mobile_big {
    font-size: 50px !important; 
	}
	h1.h1_mobile_big{
		font-size: 48px !important; 
	}
	h3 {
    font-size: 28px !important;
	}
	.section-title{
		font-size: calc(1.8 * calc(.012 * min(100vh, 900px)) + 1rem);
	}
	:root{
    --wp--preset--spacing--20: 0.2rem;
    --wp--preset--spacing--30: 0.4rem;
    --wp--preset--spacing--40: 0.6rem;
    --wp--preset--spacing--50: 0.8rem !important;
	--wp--preset--spacing--60: 1rem;
    --wp--preset--spacing--70: 1rem;
    --wp--preset--spacing--80: 1.5rem;
	}
	.home .wp-block-cover.alignfull{
	    min-height: 720px !important;
	}
	.home .wp-block-cover__inner-container {
    padding: 0 !important;
}
	.home .wp-block-cover__inner-container h1{
		text-align: center;	
	}
	.home .wp-block-cover .wp-block-cover__image-background{
		    object-position: 67% 100% !important;
	}
	
	.site-middle-footer-inner-wrap, .site-top-footer-inner-wrap{
    padding-top: 0 !important;
    padding-bottom: 0 !important; 
	}
	.footer-widget-area .footer-widget-area-inner .wp-block-columns{
		gap: 10px;
	}
	.site-main-header-wrap .site-header-row-container-inner>.site-container {
    padding: 0rem 2rem 0rem 2rem !important;
}
	h2.small_mobile{
		font-size: 25px !important;
	}
	.wp-block-buttons .wp-block-button__link {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
	.hero h1 {
    margin: 30px 10px 10px 10px !important;
}
	.hero h2{
    margin: 20px auto !important;
}
}

@media screen and (min-width: 1833.44px) {
    .home h1 {
            font-size: calc(3.4rem * 2.5) !important;
    }
	
	
body, input, select, optgroup, textarea, .wp-block-button__link, .wp-element-button{
	        font-size: calc(1.5 * 1rem);
}
	.inner-wrap, .wp-block-group.inner-wrap .wp-block-group__inner-container {
    max-width: 90vw; 
	}
	.site-branding a.brand img {
    max-width: 330px;
}
}


.services > .wp-block-columns > .wp-block-column > .wp-block-columns {
    gap: 0px;
}
@media (min-width: 767px){
.services > .wp-block-columns > .wp-block-column{
	min-height: 450px;
}
}
@media (max-width: 480){
	.hero h1, .hero h2 {
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;

}

.home .wp-block-cover__inner-container h1{
font-size: 3em;	
	}
}
.single-post .entry-title {
    font-size: 3.5rem;
}
h2.entry-related-title {
    margin-bottom: 1.5rem;
    font-size: 2.8rem;
}
.index_over{
	position: relative;
	z-index: 99;
}
footer {
    font-size: 17px;
}
.medium_padding {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}
hr.wp-block-separator.is-style-wide {
    width: 70% !important;
	    height: 0 !important;
    border-width: 1px !important;
}

label {
    margin: 0 !important;
	    font-size: 0.9em !important;
}
input, select, textarea {
    border: 2px solid #000 !important;
    border-radius: 0 !important;
}
.forminator-row:not(.forminator-no-margin) {
    margin-bottom: 10px !important;
}
/* Hide default checkbox input */
.forminator-checkbox input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
.forminator-checkbox {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 6px 8px 6px 0 !Important;
	padding: 0 !important;
    border-radius: 100px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important; 
}
/* Style the label as a pill */
.forminator-checkbox-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 6px 8px 6px 0 !important;
  padding: 12px 24px;
  border-radius: 100px !important;
  background-color: #fff !important;
  color: #000 !Important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border: 2px solid #000 !important;
}



/* When checkbox is checked, change label style */
.forminator-checkbox input[type="checkbox"]:checked, .forminator-checkbox input[type="checkbox"]:checked ~ .forminator-checkbox-label {
  background-color: #000 !important;
  color: #fff !important;
  border: 2px solid #000 !important;
}
.forminator-ui.forminator-custom-form[data-design=basic] .forminator-label {
    cursor: default;
    display: block;
    margin-bottom: 0;
}
.forminator-button{
    padding: 12px 24px;
}
.forminator-file-upload {
    border-radius: 6px;
    border: 2px dashed #000;
    padding: 20px;
}
.forminator-row-last{
	text-align: center;
}

.image_box .kadence-info-box-image-inner-intrisic img{
	border-radius: 12px 12px 0 0;
	
}
.rank-math-question {
    font-size: 20px;
}
.rank-math-answer {
    font-size: 16px;
}
#comments input, #comments select, #comments textarea {
    border-color: #eee !important;
}
#comments input[type="submit"]{
	border-color: transparent;
}
.post-navigation {
    background: #eee;
    padding: 20px;
    margin: 0; 
}
body.single .entry-related {
    background: #eeeeee !important;
}

@media (max-width: 767px) {
    .entry-related .loop-entry .entry-content-wrap {
        padding: 1.5rem !important;
    }
	.home .hero h2 {
    //font-size: 24px !important;
   
}
	.home .hero h1 {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
}
	.hero .wp-element-button {
    font-size: 24px !important;
    font-weight: 500;
		padding-top: 12px !important;
        padding-bottom: 12px !important;
		width: 100%;
}
	.home .hero .kb-blocks-bg-video {
    object-position: 30% 50%; 
	}
}
a.floating-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #FF7538; 
  color: #fff;
  padding: 18px 32px;
  border-radius: 50px;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 9999;
  transition: all 0.3s ease;
	box-shadow: 0 4px 10px rgb(0 0 0 / 30%);
	height: 66px;
}

.floating-btn:hover {
  background-color: #e65c00;
  box-shadow: 0 4px 10px rgb(0 0 0 / 10%);
}


/* Hidden state (used on mobile before scroll) */
#sticky-btn.hidden {
  opacity: 0;
  transform: translateY(50px);
  pointer-events: none;
}

/* Visible state */
#sticky-btn.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}


@media (max-width: 1024px) {
    /*.mobile-transparent-header #masthead {
        position: relative !important;
        left: 0px;
        right: 0px;
        z-index: 100;
        background: #000 !important;
    }*/
	.transparent-header #wrapper #masthead {
    background: rgb(0 0 0 / 1%) !important;
}
	.hero{
		padding-top: 100px;
	}
	.hero .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
    width: 70%;
    margin-bottom: 30px;
}
}
@media (max-width: 767px) {
    .entry-related .loop-entry .entry-content-wrap {
        padding: 1.5rem !important;
    }
	.hero .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
    width: 100%;
    margin-bottom: 30px;
}
}
@media (max-width: 768px) {

.hero-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
	.hero-bg-img img {
	height: 100% !important;
    object-fit: cover;
	}
}
@media (min-width: 768px) {
	.hero-bg-img{
		display: none;
	}
}
.author .entry-hero-container-inner {
    padding-top: 50px;
    padding-bottom: 50px;
}
figcaption{display:none;}
@media (max-width: 399px) {
.home h1 {
    font-size: 50px !important;
}
}