@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

*{
    font-family: "Poppins", sans-serif;
}

/* One global container utility */
.container-1440 {
    max-width: 1440px;
}

#hero-section::before {
    content: "";
    background: linear-gradient(90deg, rgb(255, 255, 255) 40%, rgba(255, 255, 255, 0) 66%);
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
}
@media(max-width: 600px){
    #hero-section::before {
    background: linear-gradient(90deg, rgb(255, 255, 255) 75%, rgba(255, 255, 255, 0) 100%) !important;
}
}

section#hero-section {
    background-image: url(/wp-content/themes/optiweb/assets/images/landing-page-images/new-hero-banner-img.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/* One global animation system (used by all sections) */
[data-reveal] {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

#csScroller::-webkit-scrollbar,
#gaScroller::-webkit-scrollbar {
    display: none;
}

.h1-heading {
    font-size: 35px;
    line-height: 47px;
    font-weight: 600;
}

.questrial-italic {
  font-family: "Questrial", serif;
  font-style: italic;
  font-weight: 500;
}

.highlighter {
    color: #F22718;
}

.is-revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.cst-mt-ctrl div:not(:first-child) {
    margin-top: 15px !important;
}

.hero-content-area{
    position: relative;
    z-index: 99 !important;
}

.header-border {
    border-bottom: 1px solid #D8D8D8;
}

.navigations-list ul {
    display: flex;
    gap: 40px;
}
.navigations-list ul li {
    list-style: none;
}
.navigations-list ul li a {
    color: #161616 !important;
    cursor: pointer;
}

.landing-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    left: 0;
}

.indus-card > div:hover {
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px,
        rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 48px;
    border-color: transparent;
    background: #F3F3F3;
}

.shadow-card{
    box-shadow:
  0px 0px 0px 1px #0000000F,
  0px 10px 36px 0px #00000029;
}

.shadow-card-0{
    box-shadow: 0px 25px 50px -12px #00000040;
}

.modern-card .card-hover-img {
    max-width: 90px;
}

.new-contact-form .wpcf7-not-valid-tip + .wpcf7-not-valid-tip {
    display: none !important;
}

.modern-card .card-hover-img {
    display: block;
}
.modern-card .card-default-img {
    display: none;
}

.rbg-card .card-hover-img {
    display: block;
}
.rbg-card .card-default-img {
    display: none;
}

.indus-card > div .card-default-img {
    display: none;
}
/* .card-hover-img {
    display: none;
} */
.indus-card > div .card-hover-img {
    display: block;
}

.cst-box-shadow {
    box-shadow: 9px 0px 8px 0px #00000008;
}

.footer-cta-bg {
    background-image: url(/wp-content/themes/optiweb/assets/images/landing-page-images/foot-cta-bg-2.png);
    background-repeat: no-repeat;
}

/* Optional CTA float, reusable anywhere */
@keyframes floatY {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }

    100% {
        transform: translateY(0);
    }
}

.animate-float {
    animation: floatY 4s ease-in-out infinite;
}

/* Optional tile hover accent (scoped to logo grid by id) */
#clientsRight .tile:hover {
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
    transition: all 0.25s ease;
}

/* Continuous float/tilt animations (reusable) */
@keyframes puzzleFloat {
    0% {
        translate: 0 0;
        rotate: 0deg;
    }

    50% {
        translate: 0 -10px;
        rotate: 3deg;
    }

    100% {
        translate: 0 0;
        rotate: 0deg;
    }
}

@keyframes puzzleFloatSlow {
    0% {
        translate: 0 0;
        rotate: 0deg;
    }

    50% {
        translate: 0 -6px;
        rotate: -2deg;
    }

    100% {
        translate: 0 0;
        rotate: 0deg;
    }
}

.animate-puzzle {
    animation: puzzleFloat 4s ease-in-out infinite;
}

.animate-puzzle-slow {
    animation: puzzleFloatSlow 6s ease-in-out infinite;
}

/* Optional: center snap point slightly below top for nicer composition */
#csScroller {
    scroll-padding-top: 0;
}

/* Smooth floating for the photo/laptop group */
@keyframes floatSlow {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

    100% {
        transform: translateY(0);
    }
}

.animate-float-slow {
    animation: floatSlow 6s ease-in-out infinite;
}

/* Rotate the dashed orbit subtly */
@keyframes orbit {
    to {
        transform: rotate(360deg);
    }
}

.animate-orbit {
    animation: orbit 22s linear infinite;
    transform-origin: 50% 50%;
}

/* Social icon pill (uses existing Tailwind colors) */
.social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease, background 0.2s ease;
}

.social-btn:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.12);
}

.social-btn:focus-visible {
    outline: 2px solid rgba(242, 39, 24, 0.9);
    outline-offset: 2px;
}

/* Unique scope */
#awardsListingsExact .alx-logo-frame {
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
}

#awardsListingsExact .alx-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#awardsListingsExact .alx-card:hover {
    transform: translateY(-4px);
}

#awardsListingsExact .alx-shot {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

#awardsListingsExact .alx-shot-wrap:hover .alx-shot {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(2, 6, 23, 0.1);
}

.hero-form .wpcf7-not-valid-tip {
    margin-top: -10px;
    margin-bottom: 10px;
}

/* Micro shine on images */
#awardsListingsExact .alx-shot-wrap {
    position: relative;
}

#awardsListingsExact .alx-shot-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(242, 39, 24, 0.06) 50%,
        transparent 100%
    );
    opacity: 0;
    transition: opacity 0.3s ease;
}

#awardsListingsExact .alx-shot-wrap:hover::after {
    opacity: 1;
}

/* Responsive alignment to keep as in design */
@media (max-width: 1024px) {
    #awardsListingsExact .alx-card .alx-logo-frame {
        width: 200px;
    }
}

@media (max-width: 640px) {
    #awardsListingsExact .alx-card .alx-logo-frame {
        width: 100px;
    }
    section#seoTools {
    padding-top: 70px !important;
}
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
    #awardsListingsExact * {
        transition: none !important;
        animation: none !important;
    }
}

/* Container cap 1440 if needed */
@media (min-width: 1440px) {
    #awardsListingsExact .max-w-7xl {
        max-width: 1440px;
    }
}

/* Unique scope to avoid conflicts */
#siteFooterShowcase .footer-link {
    color: rgb(148 163 184);
    transition: color 0.25s ease, transform 0.25s ease;
}

#siteFooterShowcase .footer-link:hover {
    color: #fff;
    transform: translateX(2px);
}

#siteFooterShowcase .footer-link-strong {
    position: relative;
}

#siteFooterShowcase .footer-link-strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 2px;
    width: 0;
    background: #f22718;
    transition: width 0.25s ease;
}

#siteFooterShowcase .footer-link-strong:hover::after {
    width: 100%;
}

/* CTA subtle animated background noise */
#siteFooterShowcase .footer-cta-noise {
    background-image: radial-gradient(
            circle at 10% 20%,
            rgba(255, 255, 255, 0.07) 0 2px,
            transparent 2px
        ),
        radial-gradient(
            circle at 80% 30%,
            rgba(255, 255, 255, 0.05) 0 2px,
            transparent 2px
        ),
        radial-gradient(
            circle at 30% 80%,
            rgba(255, 255, 255, 0.06) 0 2px,
            transparent 2px
        );
    background-size: 180px 180px, 220px 220px, 200px 200px;
    animation: footerNoise 14s linear infinite;
}

@keyframes footerNoise {
    0% {
        background-position: 0 0, 0 0, 0 0;
    }

    100% {
        background-position: 360px 260px, -300px 220px, 200px -240px;
    }
}

/* Button micro-interactions */
#siteFooterShowcase .footer-cta-btn:active {
    transform: translateY(0) scale(0.99);
}

#siteFooterShowcase .footer-social:hover {
    transform: translateY(-2px);
}

.laptop-laddy-img {
    width: 440px;
    left: 0 !important;
    bottom: 0;
    z-index: 1;
}

@media(max-width: 1023px){
    .laptop-laddy-img {
        width: 380px !important;
    }
    .animated-ring{
        width: 440px !important;
        inset: -30px !important;
    }
}

@media(max-width: 767px){
    .animated-ring{
        width: 340px !important;
        inset: -30px !important;
    }
}

.divider.divider-vertical {
  width: 2px;
  height: 100%;
  background-color: #ddd;
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
    #siteFooterShowcase * {
        animation: none !important;
        transition: none !important;
    }
}

/* Responsive tweaks to match reference */
@media (max-width: 640px) {
    #siteFooterShowcase .footer-cta .grid {
        gap: 1.25rem;
    }
}

@media (min-width: 1440px) {
    #siteFooterShowcase .max-w-7xl {
        max-width: 1440px;
    }
}


/*hero form css*/
.hero-form {
    padding: 30px;
    background: #212121A6;
    border-radius: 20px;
    max-width: 400px;
}
.hero-form h2.form-heading {
    font-weight: 700;
    font-size: 20px;
    line-height: 29px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 20px;
}
.cst-form-field {
    width: 100%;
    border: 1px solid #303030;
    background: #0E0E0E;
    padding: 8px 12px;
    border-radius: 4px;
    color: #8F8F8F;
    margin-bottom: 12px;
}
textarea.cst-form-field {
    max-height: 50px;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background: #ec483c;
    color: #fff;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 600;
    padding: 12px 50px;
    border-radius: 4px;
}
select.cst-form-field {
    appearance: none;
    position: relative;
}
select.cst-form-field::before{
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background: url("https://www.optiwebmarketing.ca/wp-content/uploads/2025/12/down-arrow.png") no-repeat center;
    background-size: contain;
    pointer-events: none;
}


/********************/
.cst-new-landing-index .new-landing-contact-form .form-div {
    background: #F22718 !important;
    padding: 0 !important;
    overflow: hidden;
}
.cst-new-landing-index .new-landing-contact-form .contact-form-header {
    text-align: left;
    background: #161616;
    padding: 21px 24px;
}
.cst-new-landing-index .new-landing-contact-form .contact-form-header h2.form-sub-heading {
    font-weight: 700;
    font-size: 24px;
}
.cst-new-landing-index .new-landing-contact-form .contact-form-header p {
    font-weight: 700;
    font-size: 13px;
}
.cst-new-landing-index .cst-service-contact-form {
    padding: 20px 20px 20px 20px;
}
.cst-new-landing-index .cst-service-contact-form button.btn.btn-primary {
    background: #fff !important;
    color: #000 !important;
    border-radius: 4px;
}
.cst-new-landing-index .cst-service-contact-form form .form-control {
    background: #F4574C;
    color: #fff;
    border: 1px solid #FC7C72;
}

#growthAnalytics #gaScroller article,
#caseStudies #csScroller article {
    position: relative;
}

#growthAnalytics #gaScroller article::before,
#caseStudies #csScroller article::before {
    content: '';
    position: absolute;
    background: #424242;
    width: Calc(100% + 20%);
    height: 500px;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    z-index: 0;
}

button#gaPrev, button#csPrev {
    background: #FFFFFF !important;
    border-radius: 0;
    width: 40%;
    left: 0;
    top: 58%;
    z-index: 1;
    justify-content: flex-start;
    padding-left: 20px;
}

button#csPrev img,
button#csNext img{
    filter: invert(1);
}

button#gaNext, button#csNext {
    background: #FFFFFF !important;
    border-radius: 0;
    width: 40%;
    right: 0;
    top: 58%;
    z-index: 1;
    justify-content: flex-end;
    padding-right: 20px;
}

#growthAnalytics #gaScroller .inner-container,
#caseStudies #csScroller .inner-container {
    position: relative;
    z-index: 1;
}

input.wpcf7-submit {
    cursor: pointer;
}

textarea.cst-form-field::-webkit-scrollbar {
  width: 6px;
}

textarea.cst-form-field::-webkit-scrollbar-thumb {
  background: rgba(255, 59, 59, 0.7);
  border-radius: 6px;
}

textarea.cst-form-field::-webkit-scrollbar-track {
  background: transparent;
}

#csNext img,
#gaNext img {
    transform: scaleX(-1);
}


/*page responsive css*/
@media(max-width: 767px){
    .navigations-list {
        display: none;
    }
    h1.h1-heading {
        font-size: 28px;
        line-height: normal;
    }
}

@media(max-width: 400px){
    .hero-form {
        padding: 16px !important;
    }
    .cst-form-field{
        font-size: 12px;
        padding: 8px 16px;
    }
}

.new-contact-form form .form-control{
    height:40px;
    border:1px solid #A4A4A4;
    border-radius:4px;
}
.new-contact-form form textarea{
    width:100%;
    padding:12px;
    height:unset !important;
}
.new-contact-form form textarea:focus-visible{
    outline:none;
}
.new-contact-form form .form-control:focus{
    box-shadow:none;
}
.new-contact-form form label{
    margin-bottom:5px;
    font-size:14px;
    color:#fff;
}
.new-contact-form form select{
    appearance: auto;
}
.new-contact-form button {
    font-size: 14px;
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .5px;
    background: linear-gradient(180deg, #ED463A 0%, #DD8B76 100%);
    border: 0;
    text-decoration: none;
    color: #fff;
    border-radius: 40px;
    padding: 12px 25px;
    display: inline-block;
    transition: all .7s ease-in-out;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.specialist-form .modal-title{
    text-align: center;
}
.specialist-form .modal-body{
    padding:25px;
}
div#contactFormModal {
    top: 50px;
}
.specialist-form .mb-3 input, .specialist-form .mb-3 select{
    height: 38px;
    border-radius: 0;
    border-color: #9E9E9E;
}
.specialist-form .mb-3 input:focus{
    border-color: #9E9E9E;
    box-shadow:none;
}
.specialist-form .form-label {
    margin-bottom: .3rem;
    font-size:14px;
}
.new-contact-form form .form-control {
    background: #fff !important;
    color: #000 !important;
}
.contentBoxBlue .btn.themeBtn, .new-contact-form .form-div button.btn {
    color: #fff;
    background: #EE383A;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.new-contact-form button:hover {
    background: linear-gradient(180deg, #DD8B76 0%, #ED463A 100%);
    border: 0;
    color: #ffffff;
    transition: all .7s ease-in-out;
}
.new-contact-form .form-div {
    background: #369BC0;
    padding: 35px;
    border-radius: 30px;
    color : #fff;
}
.new-contact-form .form-div form .row p{
    margin-bottom: 0;
}
.get-a-quate-model .new-contact-form .form-div .form-sub-heading {
	color: #fff;
	font-size: 28px;
	font-weight: 600;
}
.get-a-quate-model .new-contact-form .new-contact-form form .form-control {
	border: 1px solid #00bbff;
}
.get-a-quate-model .modal-header .modal-title {
	text-align: center;
	width: -webkit-fill-available;
	font-size: 30px;
}

    /* Modal Styling */
.modal-content {
	border-radius: 10px;
}
.modal-header {
	border-bottom: none;
}
.modal-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
}
.modal-body {
	padding: 20px;
}
.form-heading {
	font-size: 2rem;
	font-weight: 700;
}
.form-sub-heading {
	font-size: 1.1rem;
	color: #666;
}


a{
    text-decoration: none !important;
}


.page-id-4985 header > nav {
    display: none;
}

.page-id-4985 section.testimonials.mt-5.mb-3.my-md-5 {
    display: none;
}

.page-id-4985 section.growthInsider {
    display: none;
}

.page-id-4985 footer.site-footer {
    display: none;
}

.page-id-4985 div#staticBackdrop1 {
    display: none;
}

.page-id-4985 .specialist-form {
    display: none;
}

.page-id-4985 div#staticBackdrop {
    display: none;
}

.cst-new-landing-index .cst-service-contact-form button.btn.btn-primary {
    margin-left: 10px;
}

.hero-content-area p {
    margin-bottom: 0;
}


/************************************************
  CONTACT FORM 7 – BASE INPUT STYLES
************************************************/

.hero-content-area .wpcf7-form input,
.hero-content-area .wpcf7-form textarea,
.hero-content-area .wpcf7-form select {
  background-color: transparent;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3);
}

/* Placeholder */
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.hero-content-area .wpcf7-form input:-webkit-autofill,
.hero-content-area .wpcf7-form input:-webkit-autofill:hover,
.hero-content-area .wpcf7-form input:-webkit-autofill:focus,
.hero-content-area .wpcf7-form textarea:-webkit-autofill,
.hero-content-area .wpcf7-form textarea:-webkit-autofill:hover,
.hero-content-area .wpcf7-form textarea:-webkit-autofill:focus,
.hero-content-area .wpcf7-form select:-webkit-autofill,
.hero-content-area .wpcf7-form select:-webkit-autofill:hover,
.hero-content-area .wpcf7-form select:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}

/************************************************
  AUTOFILL – REMOVE YELLOW / BLUE BG
************************************************/

.wpcf7-form input:-webkit-autofill,
.wpcf7-form input:-webkit-autofill:hover,
.wpcf7-form input:-webkit-autofill:focus,
.wpcf7-form textarea:-webkit-autofill,
.wpcf7-form textarea:-webkit-autofill:hover,
.wpcf7-form textarea:-webkit-autofill:focus,
.wpcf7-form select:-webkit-autofill,
.wpcf7-form select:-webkit-autofill:hover,
.wpcf7-form select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: #000 !important;
  color: #000 !important;
  background-color: transparent !important;
  transition: background-color 9999s ease-in-out 0s;
}

/************************************************
  FOCUS STATE
************************************************/

.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  outline: none;
  color: #ffffff;
}

/************************************************
  SELECT DROPDOWN (IMPORTANT FIX)
************************************************/

/* Closed select (dark) */
.wpcf7-form select {
  background-color: transparent;
  color: #ffffff;
}

/* Open dropdown options */
.wpcf7-form select option {
  background-color: #ffffff;
  color: #000000;
}

/* Selected option */
.wpcf7-form select option:checked {
  background-color: #1e66d0;
  color: #ffffff;
}

/************************************************
  CONTACT FORM 7 MESSAGES / ALERTS
************************************************/

/* Main response box */
.wpcf7-response-output {
  color: #ffffff !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

/* Error text under fields */
.hero-form .wpcf7-not-valid-tip {
  color: #ffffff !important;
}

/* Validation / acceptance errors */
.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
  color: #ffffff !important;
  background: transparent !important;
}

/* Mail sent success */
.wpcf7-mail-sent-ok {
  color: #ffffff !important;
  background: transparent !important;
}


#Services {
    background-image: url(https://www.optiwebmarketing.ca/wp-content/uploads/2025/12/landing-services-banner.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

@media(max-width: 767px){
    .get-a-quate-model .new-contact-form .form-div .form-sub-heading {
        font-size: 18px !important;
    }
}

@media(max-width: 575px){
    #seo-rules ul.list-disc li {
        display: flex;
        gap: 10px;
    }
    #seo-rules ul.list-disc li::before {
        content: '•';
        display: block;
        font-size: 20px;
    }
    #seo-rules ul.list-disc {
        padding-left: 10px;
    }
}