/* ==========================================================================
   /features/ — page styles.
   Numbers taken from baseline/css/inline/features__elementor-frontend-inline-css.css
   (Elementor post 264) and verified against baseline/screens/features-{1440,390}.png.
   Elementor box model reproduced here:
     section padding/margins as authored, column padding 10px,
     heading widgets  -> line-height 1, 20px bottom margin (collapses with the
                         next widget's top margin, so 40/50px wins),
     text widgets     -> p { margin-bottom: 1.5em }.
   ========================================================================== */

/* shared bits ------------------------------------------------------------ */
.fx-c609 { max-width: 609px; }
.fx-c574 { max-width: 574px; }
.fx-c630 { max-width: 630px; }
.fx-c744 { max-width: 744px; }

/* Elementor heading widget: line-height 1, 20px widget gap. */
.fx-h2 { font-size: 24px; font-weight: 600; line-height: 1; margin: 0 0 20px; }
.fx-h2--light { color: #fff; }
.fx-h2--integrations { margin-bottom: 50px; }

/* Elementor text-editor widget. */
.fx-text { font-size: 20px; text-align: center; color: var(--text); }
.fx-text p { margin: 0 0 1.5em; }
.fx-text--light { color: #fff; text-shadow: 0 0 18px rgba(0, 0, 0, .2); }

/* Elementor image widget: centred, line box == image box. */
.fx-figure { text-align: center; line-height: 0; }
.fx-figure img { display: inline-block; vertical-align: middle; max-width: 100%; height: auto; }

/* Elementor shape dividers ---------------------------------------------- */
.fx-shape {
	position: absolute;
	left: 0;
	width: 100%;
	direction: ltr;
	line-height: 0;
	overflow: hidden;
	pointer-events: none;
}
.fx-shape--top { top: -1px; }
.fx-shape--bottom { bottom: -1px; transform: rotate(180deg); }
.fx-shape svg {
	display: block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% + 1.3px);
	height: auto;
}
.fx-shape__fill { fill: #fff; }
.fx-shape--pyramids svg { width: calc(201% + 1.3px); height: 61px; }

/* hero ------------------------------------------------------------------- */
.fx-hero {
	position: relative;
	background-image: url(/wp-content/uploads/2017/11/sms-gateway-api-feature-back.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.fx-hero__overlay { position: absolute; inset: 0; background-color: #0c0c0c; opacity: .35; }
.fx-hero__inner { position: relative; }
.fx-hero__col { padding: 60px 10px 100px; }
.fx-hero__title {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-shadow: 0 0 16px rgba(0, 0, 0, .05);
	margin: 0 0 40px;
}

/* easy campaign management ---------------------------------------------- */
.fx-section--campaign { margin-top: 60px; }
.fx-section--campaign .fx-text,
.fx-section--reports .fx-text { margin-top: 40px; }

/* four icon boxes on the cloud band ------------------------------------- */
.fx-icons {
	position: relative;
	margin: 50px 0 20px;
	padding: 100px 0 80px;
	background-color: rgba(64, 84, 178, .09);
}
.fx-icons .icon-box { gap: 15px; }
.fx-ib__icon { font-size: 50px; line-height: 1; color: #69727d; height: 50px; display: flex; align-items: center; justify-content: center; }
.fx-ib__icon svg { width: auto; height: 1em; }
.fx-icons .icon-box__title { font-size: 20px; font-weight: 400; line-height: 1.2em; color: #148dce; margin: 0 0 20px; }
.fx-icons .icon-box__description { font-size: 17px; line-height: 1.5; }

/* reports and logs ------------------------------------------------------- */
.fx-section--reports { margin-top: 60px; }

/* multiple sender ids ---------------------------------------------------- */
.fx-senders {
	position: relative;
	margin-top: 50px;
	padding: 120px 0;
	background-image: url(/wp-content/uploads/2017/11/sms-gateway-api-feature-multiple-senders.jpg);
	background-size: cover;
	background-repeat: no-repeat;
}
.fx-senders__overlay { position: absolute; inset: 0; background-color: rgba(0, 0, 0, .27); opacity: .5; }
.fx-senders__inner { position: relative; }
.fx-senders__col { padding: 0; }

/* integrations ----------------------------------------------------------- */
.fx-section--integrations { margin-top: 100px; }
.carousel--integrations { padding: 0; }
.carousel--integrations .carousel__arrow { font-size: 25px; color: #000; }
.carousel--integrations .carousel__arrow--prev { left: 10px; }
.carousel--integrations .carousel__arrow--next { right: 10px; }
.fx-logo { margin: 0; text-align: center; }
.fx-logo img { display: inline-block; max-width: 100%; height: auto; }

/* integrations copy ------------------------------------------------------ */
.fx-section--copy { margin: 50px 0; }

/* register CTA ----------------------------------------------------------- */
.fx-cta .heading--cta { margin-bottom: 50px; }
/* FontAwesome glyphs are not square: let the bolt keep its own aspect ratio so
   the button is as wide as the live one (site.css forces a 1em × 1em box). */
.fx-cta .btn__icon svg { width: auto; }

/* ---------------------------------------------------------- breakpoints */
@media (max-width: 767px) {
	/* At <=767 Elementor zeroes the heading widget-container margin, so only the
	   heading widget's own 20px bottom margin is left (same value site.css uses). */
	.fx-cta .heading--cta { margin-bottom: 20px; }
}
