/*
Theme Name: Scenic Fidelity
Template: scenic-elementor
Author: Scenic WordPress Migration
Description: Fidelity conversion of Tooplate Scenic to editable Elementor widgets. Inherits the original configurable Scenic theme options.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: scenic-fidelity
*/
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,700');
:root {--sf-green:#4dc47d;--sf-dark:#252525;--sf-muted:#757575}
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:80px}
html,body {width:100%;min-height:100%;margin:0}
body {background:#fff;color:var(--sf-dark);font-family:'Source Sans Pro',sans-serif;font-size:16px;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a {color:var(--sf-green);text-decoration:none;transition:color .3s}
a:hover,a:focus {color:#000}
button,input,textarea {font-family:inherit}
img {max-width:100%;height:auto}
h1,h2,h3,h4 {font-family:inherit;font-weight:300}
h1 {font-size:40px;line-height:50px;font-weight:200}
h2 {font-size:30px;line-height:40px}
h3 {font-size:20px;line-height:32px;font-weight:700}
p {color:var(--sf-muted);font-size:16px;font-weight:300;line-height:29px;letter-spacing:.5px}
/* Header, same four links as the original Scenic template */
.sf-header {position:fixed;left:0;right:0;top:0;z-index:9997;background:transparent;transition:background-color .35s,padding .35s;padding:20px 0}
.admin-bar .sf-header {top:32px}
.sf-header.is-scrolled{background:var(--sf-green);padding:15px 0}
.sf-header-inner {max-width:1170px;padding:0 15px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:52px}
.sf-brand {color:#f9f9f9!important;font-size:25px;font-weight:400;line-height:1.2}
.sf-nav{display:flex;align-items:center;gap:0}
.sf-nav>a{font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:#f9f9f9!important;padding:0;margin:15px 20px;line-height:20px;position:relative}
.sf-nav>a::after{content:"";position:absolute;display:block;width:0;height:2px;left:0;bottom:-7px;background:#fff;transition:width .3s}
.sf-nav>a:hover::after,.sf-nav>a.is-active::after{width:100%}
.sf-menu-toggle{display:none;color:white;background:transparent;border:0;font-size:27px;cursor:pointer}
.sf-page-main{display:block;min-height:0}
/* Undo both the original parent theme layout and Elementor defaults without global grid hacks */
body.home .elementor-12{display:block!important;width:100%!important;max-width:none!important;margin:0!important}
body.home .elementor-12>.elementor-section{display:block!important;width:100%!important;max-width:none!important;margin:0!important;grid-column:auto!important}
body.home .elementor-12 .elementor-widget-heading .elementor-heading-title{font-family:'Source Sans Pro',sans-serif}
body.home .elementor-12 .elementor-container{max-width:1170px;margin:0 auto}
body.home .elementor-12 .elementor-widget-wrap{position:relative}
/* 1. Video hero */
.elementor-12 .elementor-element-a1000001{height:100vh!important;min-height:650px!important;display:flex!important;align-items:center;position:relative;padding-top:10em!important;overflow:hidden;background:#111}
.elementor-12 .elementor-element-a1000001>.elementor-container{position:relative;z-index:3;width:100%;display:flex;align-items:center}
.elementor-12 .elementor-element-a1000001>.elementor-container>.elementor-column{flex:0 0 66.66667%;max-width:66.66667%}
.elementor-12 .elementor-element-a1000001::before{content:"";position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.75);pointer-events:none}
.elementor-12 .elementor-element-a1000001>.elementor-background-video-container{z-index:1;opacity:1!important}
.elementor-12 .elementor-element-a1000001 .elementor-widget-wrap{padding:0!important}
.elementor-12 .elementor-element-a1000001 .elementor-widget-heading .elementor-heading-title{font-size:96px!important;font-weight:200!important;line-height:1.2!important;color:#fff!important;margin:0}
.elementor-12 .elementor-element-a1000001 .elementor-widget-text-editor{margin-top:15px;margin-bottom:0}
.elementor-12 .elementor-element-a1000001 .elementor-widget-text-editor p{color:rgba(250,250,250,.7)!important;margin:0}
.elementor-12 .elementor-element-a1000001 .elementor-widget-button{margin-top:32px}
.elementor-12 .elementor-element-a1000001 .elementor-button{font-family:inherit;background:var(--sf-green)!important;border:0!important;border-radius:1px!important;padding:14px 25px!important;color:#fff!important;font-weight:400;font-size:18px!important;letter-spacing:.5px;line-height:1!important;transition:background .3s,transform .3s}
.elementor-12 .elementor-element-a1000001 .elementor-button:hover{background:#000!important;transform:translateY(-2px)}
/* 2. Introducing Scenic */
.elementor-12 .elementor-element-a1000002{background:#fff;padding:200px 0 150px!important;text-align:center}
.elementor-12 .elementor-element-a1000002>.elementor-container{max-width:975px!important}
.elementor-12 .elementor-element-a1000002 .elementor-widget-wrap{padding:0 15px!important}
.elementor-12 .elementor-element-a1000002 .elementor-widget-heading:first-of-type{margin:0}
.elementor-12 .elementor-element-a1000002 .elementor-widget-heading .elementor-heading-title:is(h3){font-size:14px!important;letter-spacing:12px!important;text-transform:uppercase;line-height:32px!important;font-weight:700!important;color:#252525!important;margin:0 0 20px}
.elementor-12 .elementor-element-a1000002 .elementor-widget-heading .elementor-heading-title:is(h1){font-size:40px!important;line-height:50px!important;font-weight:200!important;color:#252525!important;margin:0}
/* 3. Projects: original 2 x 2 columns, with a caption overlay and image lightbox */
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004){padding:0!important;background:#fff}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004)>.elementor-container{max-width:1200px!important;display:flex!important;flex-flow:row wrap!important;align-items:stretch}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004)>.elementor-container>.elementor-column{flex:0 0 50%!important;max-width:50%!important;width:50%!important;padding:0 15px 25px!important;position:relative}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-wrap{padding:0!important;overflow:hidden;display:block;position:relative;height:100%;margin:0}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-image{width:100%;margin:0!important;overflow:hidden}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-image .elementor-widget-container{width:100%;overflow:hidden}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-image a{display:block;width:100%}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .4s}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-wrap::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.5);opacity:0;z-index:1;pointer-events:none;transition:opacity .4s}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-column:hover .elementor-widget-wrap::after{opacity:1}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-column:hover img{transform:scale(1.1)}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-heading{pointer-events:none;position:absolute;left:0;right:0;z-index:2;opacity:0;transition:opacity .4s;margin:0!important;text-align:center}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-column:hover .elementor-widget-heading{opacity:1}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-heading:has(h2){top:43%}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-heading:has(h3){top:58%}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-heading h2{font-size:40px!important;line-height:50px!important;font-weight:200!important;color:white!important;margin:0!important}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004) .elementor-widget-heading h3{font-size:14px!important;line-height:22px!important;letter-spacing:.2px;color:#d9d9d9!important;margin:0!important;font-weight:700!important}
/* 4. Meet Our People carousel */
.elementor-12 .elementor-element-a1000005{padding:100px 0 0!important;text-align:center;background:#fff}
.elementor-12 .elementor-element-a1000005 .elementor-widget-heading .elementor-heading-title{font-size:40px!important;line-height:50px!important;font-weight:200!important;margin:0!important}
.elementor-12 .elementor-element-a1000005 .elementor-widget-wrap{padding:0!important}
.elementor-12 .elementor-element-a1000006{max-width:1170px!important;margin:0 auto!important;padding:0 0 100px!important;overflow:hidden;position:relative;background:#fff}
.elementor-12 .elementor-element-a1000006>.elementor-container{display:flex!important;flex-flow:row nowrap!important;align-items:stretch;width:125%;max-width:none!important;gap:0!important;transition:transform .5s ease;will-change:transform}
.elementor-12 .elementor-element-a1000006>.elementor-container>.elementor-column{flex:0 0 20%!important;width:20%!important;max-width:20%!important;padding:0 15px!important;box-sizing:border-box;position:relative}
.elementor-12 .elementor-element-a1000006 .elementor-widget-wrap{padding:0!important;display:block;position:relative}
.elementor-12 .elementor-element-a1000006 .elementor-widget-image{margin:34px 0 16px!important;position:relative;overflow:hidden}
.elementor-12 .elementor-element-a1000006 .elementor-widget-image img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .4s}
.elementor-12 .elementor-element-a1000006 .elementor-widget-image::after{content:"";inset:0;position:absolute;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .4s}
.elementor-12 .elementor-element-a1000006 .elementor-column:hover .elementor-widget-image::after{opacity:1}
.elementor-12 .elementor-element-a1000006 .elementor-column:hover img{transform:scale(1.1)}
.elementor-12 .elementor-element-a1000006 .elementor-widget-text-editor{margin:0!important;text-align:center}
.elementor-12 .elementor-element-a1000006 .elementor-widget-text-editor p{margin:0;font-size:16px!important;line-height:29px!important;color:#757575!important;font-weight:300!important}
.elementor-12 .elementor-element-a1000006 .elementor-widget-heading{margin:0!important;text-align:center}
.elementor-12 .elementor-element-a1000006 .elementor-widget-heading h3{font-size:20px!important;line-height:32px!important;font-weight:700!important;margin:0!important;color:#252525!important}
.elementor-12 .elementor-element-a1000006 .elementor-widget-social-icons{position:absolute!important;top:45%;left:0;right:0;margin:0!important;z-index:4;opacity:0;transform:translateY(-50%);transition:opacity .4s;pointer-events:none}
.elementor-12 .elementor-element-a1000006 .elementor-column:hover .elementor-widget-social-icons{opacity:1;pointer-events:auto}
.elementor-12 .elementor-element-a1000006 .elementor-social-icon{width:35px!important;height:35px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:0!important;background:#fff!important;color:#191919!important;font-size:18px!important;margin:0 3px!important}
.sf-carousel-btn{position:absolute;z-index:5;top:44%;border:0;border-radius:50%;background:rgba(0,0,0,.25);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:23px;width:40px;height:40px;opacity:0;transition:opacity .2s,background .2s}
.elementor-element-a1000006:hover .sf-carousel-btn,.sf-carousel-btn:focus{opacity:1}
.sf-carousel-btn:hover{background:var(--sf-green)}
.sf-carousel-prev{left:4px}.sf-carousel-next{right:4px}
/* 5. Contact with Contact Form 7, native editable shortcode widget */
.elementor-12 .elementor-element-a1000007{background-color:#e0e0e0!important;background-image:url('https://mcp.maroc212.com/wp-content/themes/scenic-elementor/assets/contact-bg.jpg')!important;background-size:cover!important;background-position:center center!important;background-attachment:fixed!important;padding:100px 0!important;text-align:center}
.elementor-12 .elementor-element-a1000007>.elementor-container{max-width:975px!important}
.elementor-12 .elementor-element-a1000007 .elementor-widget-wrap{padding:0 15px!important}
.elementor-12 .elementor-element-a1000007 .elementor-widget-heading h1{font-size:40px!important;line-height:50px!important;font-weight:200!important;color:#252525!important;margin:0 0 22px}
.elementor-12 .elementor-element-a1000007 .elementor-widget-shortcode{margin:0!important}
.elementor-12 .elementor-element-a1000007 .wpcf7{max-width:780px;margin:0 auto;padding:22px 0 0}
.elementor-12 .elementor-element-a1000007 .wpcf7 form{display:flex!important;flex-wrap:wrap!important;align-items:start;gap:0 30px;justify-content:center}
.elementor-12 .elementor-element-a1000007 .wpcf7 form>p{margin:0;flex:0 0 100%;max-width:100%;font-size:0!important;line-height:0!important}
.elementor-12 .elementor-element-a1000007 .wpcf7 form>p:nth-of-type(1),.elementor-12 .elementor-element-a1000007 .wpcf7 form>p:nth-of-type(2){flex:0 0 calc(50% - 15px);max-width:calc(50% - 15px)}
.elementor-12 .elementor-element-a1000007 .wpcf7 label{display:block;font-size:0!important;line-height:0!important;color:transparent!important;text-align:left}
.elementor-12 .elementor-element-a1000007 .wpcf7-form-control-wrap{display:block;line-height:1.5!important;font-size:16px}
.elementor-12 .elementor-element-a1000007 .wpcf7 input:not([type=submit]),.elementor-12 .elementor-element-a1000007 .wpcf7 textarea{font-family:inherit!important;font-size:18px!important;line-height:1.5!important;color:#252525!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:block;width:100%!important;max-width:none!important;margin:0 0 22px!important;padding:14px 18px!important;font-weight:400!important}
.elementor-12 .elementor-element-a1000007 .wpcf7 input:not([type=submit]){height:55px!important}
.elementor-12 .elementor-element-a1000007 .wpcf7 textarea{height:150px!important;resize:vertical}
.elementor-12 .elementor-element-a1000007 .wpcf7 input[type=submit]{background:var(--sf-green)!important;color:#fff!important;display:inline-block;border:none!important;border-radius:1px!important;font-size:18px!important;font-weight:400!important;padding:14px 25px!important;line-height:1.1!important;cursor:pointer;margin:5px auto 0!important}
.elementor-12 .elementor-element-a1000007 .wpcf7 input[type=submit]:hover{background:#000!important}
.elementor-12 .elementor-element-a1000007 .wpcf7 form>p:nth-of-type(5){flex:0 0 100%;max-width:100%;text-align:center}
.elementor-12 .elementor-element-a1000007 .wpcf7-spinner{position:absolute}
.elementor-12 .elementor-element-a1000007 .wpcf7-not-valid-tip{font-size:14px;line-height:1.4;text-align:left;color:#b72b2b}
/* Footer: original three sections, all contents from Theme Options */
.sf-footer{background:#fff;padding:120px 0!important;color:#757575}
.sf-footer-inner{max-width:1170px;padding:0 15px;margin:0 auto;display:grid;grid-template-columns:5fr 4fr 3fr;gap:30px}
.sf-footer h2{font-size:30px;line-height:40px;font-weight:300;margin:0 0 8px;color:#252525}
.sf-footer p{font-size:16px;line-height:29px;margin:0 0 8px;letter-spacing:.5px}
.sf-footer a{color:#757575}.sf-footer a:hover{color:var(--sf-green)}
.sf-footer-social{display:flex;list-style:none;margin:0;padding:0;gap:15px;align-items:center}
.sf-footer-social a{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:25px;height:25px;font-size:16px;font-weight:700;color:#292929;text-decoration:none;transition:transform .3s}
.sf-footer-social a:hover{transform:scale(1.2)}
.sf-copyright{max-width:1170px;padding:42px 15px 0;margin:0 auto}.sf-copyright p{margin:0;font-size:16px}
.elementor-menu-anchor{scroll-margin-top:70px}
@media(max-width:1199px){.sf-header-inner,.elementor-12 .elementor-container,.sf-footer-inner,.sf-copyright{max-width:970px!important}}
@media(max-width:991px){.sf-header-inner,.elementor-12 .elementor-container,.sf-footer-inner,.sf-copyright{max-width:750px!important}.elementor-12 .elementor-element-a1000001 .elementor-widget-heading h1{font-size:64px!important}.elementor-12 .elementor-element-a1000002{padding:120px 0 100px!important}.sf-footer{text-align:center}.sf-footer-inner{grid-template-columns:1fr 1fr;row-gap:30px}.sf-footer-inner>div:last-child{grid-column:1/-1}.sf-footer-social{justify-content:center}.elementor-12 .elementor-element-a1000006>.elementor-container{width:166.66667%}}
@media(max-width:767px){
.admin-bar .sf-header{top:46px}
.sf-header{background:var(--sf-green);padding:10px 0}
.sf-header-inner{max-width:none!important;flex-wrap:wrap;min-height:40px}
.sf-menu-toggle{display:block}
.sf-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:10px 0 0}
.sf-nav.is-open{display:flex}
.sf-nav>a{margin:9px 0!important;padding:4px 0}
.elementor-12 .elementor-element-a1000001{height:100vh!important;min-height:540px!important;padding:0 15px!important}
.elementor-12 .elementor-element-a1000001>.elementor-container>.elementor-column{flex:0 0 100%!important;max-width:100%!important}
.elementor-12 .elementor-element-a1000001 .elementor-widget-heading h1{font-size:56px!important;line-height:1.2!important}
.elementor-12 .elementor-element-a1000002 .elementor-widget-heading h3{font-size:12px!important;letter-spacing:6px!important}
.elementor-12 .elementor-element-a1000002 .elementor-widget-heading h1{font-size:30px!important;line-height:1.3!important}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004)>.elementor-container>.elementor-column{flex:0 0 100%!important;width:100%!important;max-width:100%!important}
.elementor-12 .elementor-element-a1000006>.elementor-container{width:250%}
.elementor-12 .elementor-element-a1000007{background-attachment:scroll!important;padding:100px 15px!important}
.elementor-12 .elementor-element-a1000007 .wpcf7 form>p:nth-of-type(1),.elementor-12 .elementor-element-a1000007 .wpcf7 form>p:nth-of-type(2){flex:0 0 100%;max-width:100%}
.sf-footer-inner{grid-template-columns:1fr}.sf-footer-inner>div:last-child{grid-column:1}.sf-footer-social{justify-content:center}
}
@media(max-width:479px){.elementor-12 .elementor-element-a1000001 .elementor-widget-heading h1{font-size:48px!important}.elementor-12 .elementor-element-a1000006>.elementor-container{width:500%}.elementor-12 .elementor-element-a1000002 .elementor-widget-heading h1{font-size:26px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Keep hero as a genuine full-width flex section, unlike the broken grid. */
body.home .elementor-12>.elementor-element-a1000001{display:flex!important}
/* Precision overrides checked against the original 1440px Scenic layout. */
.elementor-12 .elementor-element-a1000001 .elementor-widget-heading h1{font-size:84px!important}
body.home .elementor-12>.elementor-element-a1000006{max-width:1170px!important;margin:0 auto!important}
.elementor-12 .elementor-element-a1000005>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important}
.elementor-12 .elementor-element-a1000005 .elementor-widget-heading{text-align:center!important}
.elementor-12 :is(.elementor-element-a1000003,.elementor-element-a1000004)>.elementor-container{max-width:1170px!important}
@media(max-width:991px){body.home .elementor-12>.elementor-element-a1000006{max-width:750px!important}.elementor-12 .elementor-element-a1000001 .elementor-widget-heading h1{font-size:56px!important}}
@media(max-width:767px){body.home .elementor-12>.elementor-element-a1000006{max-width:100%!important}.elementor-12 .elementor-element-a1000001 .elementor-widget-heading h1{font-size:50px!important}}
