/*
 Theme Name: InsideOut Child Theme
 Theme URI: https://insideoutdev.com/
 Description: Child theme for Inspiro WordPress theme.
 Author: Signature W Studio
 Author URI: https://signaturewstudio.com/
 Template: inspiro
 Version: 1.0.0
 Text Domain: insideout-child
*/

@font-face {
    font-family: 'Aeonik';
    src: url('https://insideout2stg.wpenginepowered.com/wp-content/fonts/aeonik/Aeonik-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Aeonik';
    src: url('https://insideout2stg.wpenginepowered.com/wp-content/fonts/aeonik/Aeonik-Medium.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Aeonik';
    src: url('https://insideout2stg.wpenginepowered.com/wp-content/fonts/aeonik/Aeonik-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Aeonik';
    src: url('https://insideout2stg.wpenginepowered.com/wp-content/fonts/aeonik/Aeonik-Black.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

#authorFeedBlock {
	padding-top: 0px !important;
}
#authorBlock {
	padding-bottom: 0px !important;
}

#authorFeedBlock .elementor-element.e-con-boxed {
	padding-top: 50px !important;

}

@media (max-width: 767px) {
    body .mobile-no-bg {
        background-image: none !important;
    }
}

.indCasestudy .elementskit-infobox {
	min-height: 590px;
}

.indCasestudy .elementskit-info-box-title {
	text-align:left;
}

.indCasestudy .ekit-wid-con ul {
	text-align:left;
}

.indCasestudy .ekit-wid-con .elementskit-infobox .box-footer {
	text-align:left;
}

body .cc-hero {
	background-position:right -212px bottom !important;
}

h1 {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 700 !important;
	margin-block-end: 5px !important;
	margin-block-start: 5px !important;
	padding-top: 0px !important;
}

h2 {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 700 !important;
	margin-block-end: 5px !important;
	margin-block-start: 5px !important;
	padding-top: 0px !important;
}

h3 {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 700 !important;
	margin-block-end: 5px !important;
	margin-block-start: 5px !important;
	padding-top: 0px !important;
}

h4 {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 400 !important;
	margin-block-end: 5px !important;
	margin-block-start: 5px !important;
	padding-top: 0px !important;
}

h5 {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 400 !important;
	margin-block-end: 5px !important;
	margin-block-start: 5px !important;
	padding-top: 0px !important;
}

h6 {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 400 !important;
	margin-block-end: 5px !important;
	margin-block-start: 5px !important;
	padding-top: 0px !important;
}

body h1.elementor-heading-title, body h2.elementor-heading-title {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 700 !important;
}

body h3.elementor-heading-title, body h4.elementor-heading-title, body h5.elementor-heading-title, body h6.elementor-heading-title {
    font-family: 'Aeonik', sans-serif !important;
    font-weight: 400 !important;
}

body #STDpageHero.elementor-element {
	min-height: 70vh !important;
}

body #STDpageHero.elementor-element::before {
	background-position: center top !important;
}

.xpro-step-flow-icon .xpro-step-flow-badge {
	padding: 4px 8px;
	font-size: 16px !important;
}

.elementor-element .xpro-step-flow-icon {
	padding: 30px 36px !important;
	background: linear-gradient(95.15deg, #2e5597 7.68%, #79cccc 76.69%) !important;
}

.single-post h1.elementor-heading-title {
	color: #ffffff !important;
}

.single-case_study h1 {
	color: #ffffff !important;
}


body.page-id-8361 {
	background-color: #143e6c !important;
}


.elementor-element.e-con-boxed {
	padding-top: 50px;
	padding-bottom: 50px;
}

@media(max-width:786px) {
#STDpageHero {
	height: 100vh;
}
body h2.elementor-heading-title {
	font-size: 2em !important;
}	
	
body h1.elementor-heading-title {
	font-size: 2.2em !important;
}
	
}

h1.elementor-heading-title {
	font-size: 3.2em !important;
}


h2.elementor-heading-title {
	font-size: 2.8em !important;
}


.elementor-element-ccdba2b {
    position: relative;
}

/* Gradient fade overlay */
.elementor-element-ccdba2b::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;

    background: linear-gradient(
        to bottom,
        rgba(13, 62, 108, 0) 60%,
        rgba(13, 62, 108, 0.6) 80%,
        #0D3E6C 100%
    );

    z-index: 1;
    pointer-events: none;
}




.elementor-5550 .elementor-element.elementor-element-53f5adf .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image {
	max-height: 75px;
}

.elementor-post__card .elementor-post__badge {
	background-color: #414141 !important;
	border-radius: 0px !important;
	border: solid 1px #79CCCC;
	top: auto !important;
	bottom: 193px !important;
	left: 0 !important;
}

.elementor-5550 .elementor-element.elementor-element-53f5adf.elementor-element {
	margin-top: 20px;
}

body .elementor-post__card {
	background-color: #414141 !important;
	border: solid 2px #414141 !important;
}

body .elementor-post__card:hover {
	border: solid 2px #79CCCC !important;
}

body.blog .elementor-post__read-more-wrapper {
	position: absolute;
	bottom: 0;
	width: 50%;
}

body.elementor-page-6925 .elementor-6925 .elementor-element .elementor-post__text {
	min-height: 190px;
}

body.elementor-page-6925 .elementor-6925 .elementor-element .elementor-post__read-more {
	color: #79cccc;
}

.elementor-6925 .elementor-element.elementor-element-865a8cb select {
    border: solid 1px #79cccc;
    color: #ffffff;
    background: rgba(0,0,0,0);
    padding: 5px 5px 5px 5px;
	font-weight: 600;
	text-transform: uppercase;
}

body.elementor-page-8008 .elementor-post__read-more-wrapper {
	position: absolute;
	bottom: 0;
	width: 50%;
}

body .elementor-8008 .elementor-post__text {
	min-height: 190px;
}

body .elementor-8008 .elementor-post__read-more {
	color: #79cccc;
}

body .elementor-posts .elementor-post__card .elementor-post__read-more {
	color: #79cccc;
	position: absolute;
	bottom: 0;
}


body .elementor-posts .elementor-post__card .elementor-post__text {
	min-height: 190px;
}

body .elementor-6964 .elementor-element.elementor-element-42c1cf64 .elementor-post__read-more {
	margin-bottom: 20px;
	color: #79cccc;
}

body .resource-filters-dropdown select {
    border: solid 1px #79cccc !important;
    color: #ffffff;
    background: rgba(0,0,0,0) !important;
    padding: 5px 5px 5px 5px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
}

body .resource-filters-dropdown option {
  background:#242424;   
  color:#ffffff;
}


.elementor-5206 .xpro-widget-bg-overlay:before {
	background-color: rgba(0,0,0,0);
}

.elementor-5206 .elementor-section.elementor-inner-section .elementor-widget-container {
	padding:0;
}

.elementor-5206 .elementor-element.xpro-widget-bg-overlay:before {
	background-color: rgba(0,0,0,0) !important;
}

.elementor-5206 .elementor-element .elementor-icon svg {
	height: 130px !important;
}

.elementor-5206 .elementor-element .elementor-icon {
	font-size: 90px;
    padding: 10px;
    border: solid 2px #79cccc;
    border-radius: 90px;
}



.header-widgets-wrapper {
	display: none !important;
}

nav li.menuCTA a {
	padding: 5px 45px 3px 45px !important;
	background: linear-gradient(306deg,rgba(46, 85, 151, 1) 0%, rgba(121, 204, 204, 1) 100%) !important;
	border-radius: 30px;
	border: thin solid #ffffff;
}

.elementor-nav-menu--main .elementor-nav-menu a {
	padding: 8px 12px !important;
	font-weight: 400;
	font-size: 14px;
}

.elementor-nav-menu li.menuCTA {
	margin-right:7px;
}

.elementor-8621 .elementor-element.elementor-element-be733b6 .elementor-nav-menu--dropdown li.menuCTA a {
	margin-bottom: 5px;
	width: 60%;
	margin-left: 8px;
	padding-left: 12px !important;
}

#PrimaryNav {
	margin-top:0px;
}

.fixedNav {
	background-color: #343434 !important;
}

.gform-theme--foundation .gform_fields {
	grid-row-gap: 18px !important;
}

.gform-theme--foundation .gform_footer {
	margin-block-start: 18px !important;
}

.hpMissionblock {
	background-color: #071125;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

.ccIntroblock {
	background-color: #071125;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

.hpSlider h3 {
  margin-bottom: 0px !important;
}

.hpSlider h5 {
  margin-top: 3px !important;
}

.elementor-5550 .elementor-element.elementor-element-0b3bef6 .elementor-main-swiper .swiper-slide {
	padding: 75px 50px 0px 50px !important;
}

.elementor-6872 .elementor-element.elementor-element-229cf636 .elementor-main-swiper .swiper-slide {
	padding: 75px 50px 0px 50px !important;
}

elementor-8271 .elementor-element.elementor-element-4a6152fd .elementor-main-swiper .swiper-slide {
	padding: 75px 50px 0px 50px !important;
}


@media(max-width:768px) {
	.ccSteps .ue-step-item {
		width: 70%;
		padding: 30px 0px !important;
		border-bottom: thin solid #ffffff;
		margin-right: auto;
		margin-left: auto;
	}
	#uc_step_process_elementor_7dc7854 {
		display: block !important;
	}
	.ccSteps .ue-step-item-line {
		display: none !important;
	}
	#uc_step_process_elementor_7dc7854 .ue-item-highlight {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	.gcSteps .xpro-step-flow-line {
	display: none;
}
	.btSteps .xpro-step-flow-line {
	display: none !important;
}
	.cmSteps .xpro-step-flow-line {
	display: none !important;
}
	.cglSteps .xpro-step-flow-line {
	display: none !important;
}
	.rtgSteps .xpro-step-flow-line {
	display: none !important;
}
	.conSteps .xpro-step-flow-line {
	display: none !important;
}
	.ecSteps .xpro-step-flow-line {
	display: none !important;
}
}

.elementor-element.solDiv.e-con-boxed {
	padding-bottom: 0px;
	padding-top: 0px;
}

.gcIntro .elementor-element .elementor-icon {
	margin-top: -119px;
}

.btIntro .elementor-element .elementor-icon {
	margin-top: -119px;
}

.cmIntro .elementor-element.firstIcon .elementor-icon {
	margin-top: -119px;
}

.gcrIntro .elementor-element .elementor-icon {
	margin-top: -119px;
}

.jicIntro .elementor-element .elementor-icon {
	margin-top: -119px;
}

.rtgIntro .elementor-element.firstIcon .elementor-icon {
	margin-top: -119px;
}

.conIntro .elementor-element .elementor-icon {
	margin-top: -119px;
}

.ecIntro .elementor-element .elementor-icon {
	margin-top: -119px;
}

footer h3 {
	margin-block-end: 0px !important;
}

body div.gradButton a {
	background: linear-gradient(306deg,rgba(46, 85, 151, 1) 0%, rgba(121, 204, 204, 1) 100%) !important;
	background-image: linear-gradient(306deg,rgba(46, 85, 151, 1) 0%, rgba(121, 204, 204, 1) 100%) !important;
	border: 2px solid #0D3E6C !important;


}

body div.elementor-element.e-con-boxed.gradButton {
	padding-top: 50px !important;
}

body div.gradButton a:hover {
	background: #414141 !important;
	background-image:none !important;
	color: #ffffff !important;
	border: 2px solid #79cccc !important;

}

.elementor-element.e-con-boxed.webinarBody {
	padding-top: 0px;
}

.ccIndustry .elementskit-btn {
	padding-left: 0px !important;
}

.ccIndustry .ekit-wid-con .text-left .elementskit-info-box-icon {
	text-align: center !important;
}

.ccIndustry .box-body h3 {
	text-align: center !important;
}

.ccIndustry .box-body ul {
	text-align: left !important;
}


.ccSteps .ue-step-item-content-title {
	line-height: 1.4em;
}

blockquote {
	font-size: 16px !important;
	color: #343434 !important;
}

.jiticonblocks .elementor-element-63017335 .e-child {
	min-height: 268px;
}

tr {
	border-bottom: 0.5px solid rgba(255,255,255,0.1) !important;
}

.hpCCicons .aqua .cls-1 {
	fill: #79CCCC !important;
}

.hpCCicons .purp .cls-1 {
	fill: #A245E0 !important;
}

.hpCCicons .blue .cls-1 {
	fill: #1BB6E7 !important;
}

footer a {
	font-weight: 400 !important;
}


.elementor-container ul {
	margin: 0 0 1.5em 1.5em !important;	
}

.elementor-widget-container ul {
	margin: 0 0 1.5em 2em !important;	
}

ul.elementor-post-info {
	margin: 0.5em 0 0.5em 0 !important;
}


.elementor-nav-menu, .elementor-nav-menu ul {
	margin: 0 !important;	
}

/* =========================================================
   FIX: Sticky nav should not overlap hero / page content
   ========================================================= */

:root {
  --primary-nav-height: 80px; /* fallback; JS will overwrite */
}

/* Keep fixed nav above everything */
#PrimaryNav.fixedNav {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999 !important;
}

/* When nav is fixed, add top padding so content doesn't slide under it */
body.hasFixedNav {
  padding-top: var(--primary-nav-height) !important;
}

/* Make sure hero content is not stuck behind the nav */
#STDpageHero {
  padding-top: calc(var(--primary-nav-height) + 24px) !important;
}

/* If your hero heading itself needs breathing room */
#STDpageHero .elementor-heading-title {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}
/* =========================================================
   FIX: Sticky nav should not overlap hero / page content
   ========================================================= */

:root {
  --primary-nav-height: 80px; /* fallback; JS will overwrite */
}

/* Keep fixed nav above everything */
#PrimaryNav.fixedNav {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999 !important;
}

/* When nav is fixed, add top padding so content doesn't slide under it */
body.hasFixedNav {
  padding-top: var(--primary-nav-height) !important;
}

/* Make sure hero content is not stuck behind the nav */
#STDpageHero {
  padding-top: calc(var(--primary-nav-height) + 24px) !important;
}

/* If your hero heading itself needs breathing room */
#STDpageHero .elementor-heading-title {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}
/* =========================================================
   Small laptop tuning (1366x768 etc.) + overall responsive scale
   ========================================================= */

/* 1) Global base text sizing — keep normal on big screens */
html { font-size: 16px; }

/* Small laptops: reduce the overall “big” feeling slightly */
@media (max-width: 1440px) {
  html { font-size: 15px; } /* subtle: 16 -> 15 reduces everything ~6% */
}

/* Tablets */
@media (max-width: 1024px) {
  html { font-size: 15px; }
}

/* Mobile */
@media (max-width: 768px) {
  html { font-size: 16px; } /* keep readability on phones */
}


/* 2) Elementor headings — stop forcing huge sizes on all desktops */
h1.elementor-heading-title {
  font-size: 3.2em !important; /* keep your intended desktop size as default */
}

h2.elementor-heading-title {
  font-size: 2.8em !important;
}

/* Small laptop: scale headings down so they don’t dominate */
@media (max-width: 1440px) {
  h1.elementor-heading-title { font-size: 2.6em !important; }
  h2.elementor-heading-title { font-size: 2.2em !important; }
}

/* Tablet */
@media (max-width: 1024px) {
  h1.elementor-heading-title { font-size: 2.3em !important; }
  h2.elementor-heading-title { font-size: 2.0em !important; }
}

/* Mobile (you already had rules, but keep consistent) */
@media (max-width: 768px) {
  h1.elementor-heading-title { font-size: 2.2em !important; }
  h2.elementor-heading-title { font-size: 2.0em !important; }
}


/* 3) Section padding — reduce the “huge spacing” on short/small screens */
.elementor-element.e-con-boxed {
  padding-top: 50px;
  padding-bottom: 50px;
}

/* Small laptop */
@media (max-width: 1440px) {
  .elementor-element.e-con-boxed {
    padding-top: 36px;
    padding-bottom: 36px;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-element.e-con-boxed {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .elementor-element.e-con-boxed {
    padding-top: 26px;
    padding-bottom: 26px;
  }
}


/* 4) Short-height screens (768px tall laptops) — hero is often too tall */
@media (max-height: 800px) {
  body #STDpageHero.elementor-element {
    min-height: 60vh !important; /* was 70vh */
  }
}

/* =========================================================
   Small laptop component tuning: forms + images + cards
   Targets 1366x768-ish (and similar), avoids big desktops
   ========================================================= */

@media (max-width: 1440px) {

  /* ---------- Images ---------- */

  /* Prevent oversized images from blowing up layouts */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Elementor images: stop them from rendering too large */
  .elementor img,
  .elementor-widget-image img,
  .elementor-widget-image-carousel img,
  .swiper-slide-image {
    max-height: 520px;        /* adjust if needed */
    object-fit: contain;
  }

  /* If you have large hero/section images, limit them a bit more */
  #STDpageHero img,
  #STDpageHero .elementor-widget-image img {
    max-height: 480px;
    object-fit: cover;
  }


  /* ---------- Forms (Gravity Forms + Elementor forms) ---------- */

  /* Gravity Forms overall spacing */
  .gform-theme--foundation .gform_fields {
    grid-row-gap: 12px !important; /* you had 18px; reduce on small laptops */
  }

  .gform-theme--foundation .gform_footer {
    margin-block-start: 12px !important;
  }
	
	.gform_required_legend {
  display: none !important;
}


  /* Inputs + selects + textarea: reduce height/padding */
  .gform-theme--foundation input[type="text"],
  .gform-theme--foundation input[type="email"],
  .gform-theme--foundation input[type="tel"],
  .gform-theme--foundation input[type="url"],
  .gform-theme--foundation input[type="number"],
  .gform-theme--foundation input[type="password"],
  .gform-theme--foundation select,
  .gform-theme--foundation textarea {
    padding: 10px 12px !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }

  .gform-theme--foundation textarea {
    min-height: 140px !important;
  }

  /* Field labels + descriptions */
  .gform-theme--foundation .gfield_label,
  .gform-theme--foundation .gfield_description {
    font-size: 0.95rem !important;
  }

  /* Buttons */
  .gform-theme--foundation button,
  .gform-theme--foundation input[type="submit"],
  .gform-theme--foundation .gform_button {
    padding: 10px 16px !important;
    font-size: 0.95rem !important;
  }

  /* Elementor Form widget (if used anywhere) */
  .elementor-form input,
  .elementor-form select,
  .elementor-form textarea {
    padding: 10px 12px !important;
    font-size: 0.95rem !important;
  }

  .elementor-form .elementor-button {
    padding: 10px 16px !important;
    font-size: 0.95rem !important;
  }


  /* ---------- Cards / sections that feel "bulky" ---------- */

  /* Elementor boxed containers can feel huge: tighten only slightly more */
  .elementor-element.e-con-boxed {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  /* Post cards: reduce min-height so they don't look gigantic */
  body .elementor-posts .elementor-post__card .elementor-post__text,
  body .elementor-8008 .elementor-post__text,
  body.elementor-page-6925 .elementor-6925 .elementor-element .elementor-post__text {
    min-height: 160px !important; /* was 190px in places */
  }
}

