/* ------------------------------------------------------------------------------

  Template Name: Revo Studio
  Description: Revo Studio - Creative HTML Template
  Author: Murren
  Author URI: http://themeforest.net/user/murren20
  Version: 1.0

  1.  Global

      1.1 General
      1.2 Loader
      1.3 Typography
      1.4 Fields
      1.5 Buttons
      1.6 Icons
      1.7 Colors
      1.8 Backgrounds
      1.9 Content styles

  2.  Header

      2.1 Brand
      2.2 Navigation
      2.3 Affix

  3.  Main
  4.  About

      4.1 Services

  5.  Portfolio

      5.1 Magnific popup

  6.  Team
  7.  Features
  8.  Reviews

      8.1 Owl carousel

  9.  Prices
  10. Blog
  11. Contact
  12. Footer
  13. Modals
  14. Responsive styles

      14.1 Min width 768px
      14.2 Min width 992px
      14.3 Min width 1200px



/*-------------------------------------------------------------------------------
  1. Global
-------------------------------------------------------------------------------*/
/*---FONTS---*/
/* --- FONTS: Poppins Self-Hosted Optimized --- */
@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/poppins-v24-latin-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Asignación global */
body {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}



/* 1.1 General */

html{
  -webkit-font-smoothing: antialiased;
}

body{
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color:#353535;
  overflow-x:hidden;
  padding-right: 0!important;
}

p{
  font-weight: 400;
  font-size: 18px;
}

::-webkit-scrollbar{
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  cursor: pointer;
  background: #ff5f6c;
}

::selection{
  background-color:#ff5f6c;
  color:#fff;
}

-webkit-::selection{
    background-color:#ff5f6c;
    color:#fff;
}

::-moz-selection{
    background-color:#ff5f6c;
    color:#fff;
}



/* NEW CUSTOM */
.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top:100px;
    height: 0;
    overflow: hidden;
}
.embed-container iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

.pt-20{
  padding-top:20px;
}

/* 1.2 Loader */



.loader{
  position: fixed;
  overflow: hidden;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background:#282F42;
  color:#fff;
  text-align: center;
}

.loader-brand{
  position: absolute;
  left:0;
  width: 100%;
  top:50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.loader-brand img{
  max-width: 90%;
}



/* 1.3 Typography */



h1,
.h1{
  font-size: 50px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.3;
  font-weight: 700;
  margin:0;
}

h2,
.h2{
  position: relative;
  font-size: 35px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  /*text-transform: uppercase;*/
  font-weight: 700;
  color: #282F42;
}

h3,
.h3{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color:#282F42;
  margin-top: 20px;
  margin-bottom: 10px;
}

h4,
.h4{
  font-size: 14px;
  line-height:1.4;
  font-weight: 700;
  color:#282F42;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

h4 a,
.h4 a{
  color: inherit;
}

h4 a:hover,
.h4 a:hover{
  color:#ff5f6c;
  text-decoration:none;
}

ul,
ol {
  margin-top:0px;
  margin-bottom: 10px;
}

ul{
  list-style: none;
  padding-left: 0;
}

ol li,
ul li{
  margin-top: 10px;
}

blockquote{
  margin:40px 0;
  background-color: #f6f6f6;
  padding: 30px;
  position: relative;
  border-left-color:#ff5f6c;
  font-size: inherit;
  line-height: 1.7;
  color: #6B6B6B;
}

a {
  color:#ff5f6c;
  -webkit-transition: all .3s ease-out;
       -o-transition: all .3s ease-out;
          transition: all .3s ease-out;
}

a:hover,
a:focus {
  color:#ff5f6c;
  outline: none;
}

a:focus{
  text-decoration: none;
}



/* 1.4 Fields */



.form-control,
textarea.form-control{
  height: 54px;
  color: #9F9F9F;
  border-radius:0;
  padding-left: 22px;
  text-transform: uppercase;
  color: #282F42;
  background-color: transparent;
  border:2px solid #282F42;
  letter-spacing: 0.1em;
  -webkit-box-shadow:none;
          box-shadow:none;
  -webkit-transition: all .15s;
       -o-transition: all .15s;
          transition: all .15s;
}

.form-control-sm,
textarea.form-control-sm{
  font-size:11px;
  letter-spacing: 0.1em;
  height: 40px;
  padding: 13px 13px 13px;
  color: #fff;
  border-radius:0;
  text-transform: uppercase;
  color: #fff;
  background-color: transparent;
  border:2px solid #fff;
  letter-spacing: 0.1em;
  -webkit-box-shadow:none;
          box-shadow:none;
  -webkit-transition: all .15s;
       -o-transition: all .15s;
          transition: all .15s;
}

.form-control-white,
textarea.form-control-white{
  border-color: #fff;
  color: #fff;
}

.form-control:focus,
.form-control-sm:focus {
  border-color:#ff5f6c;
  outline: 0;
  -webkit-box-shadow:none;
          box-shadow:none;
}

textarea.form-control{
  height: 188px;
  padding-top: 14px;
  resize:none;
}

.form-control::-moz-placeholder {
  color: #282F42;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #282F42;
}

.form-control::-webkit-input-placeholder {
  color: #282F42;
}

.form-control-white::-moz-placeholder{
  opacity: 1;
  color: #fff;
}

.form-control-white::-ms-input-placeholder {
  color: #fff;
}

.form-control-white::-webkit-input-placeholder {
  color: #fff;
}

.form-control-sm::-moz-placeholder{
  color: #fff;
}

.form-control-sm::-ms-input-placeholder {
  color: #fff;
}

.form-control-sm::-webkit-input-placeholder {
  color: #fff;
}

.form-control.error,
.form-control-sm.error{
  border-color:#ff5f6c;
}

.form-group{
  margin-bottom: 40px;
}

.form-group-sm{
  margin-bottom: 15px;
}

.col-form{
  margin-top: 40px;
}

.row-form{
  margin-top: -40px;
}

.wobble-error{
  -webkit-animation: hvr-wobble-horizontal 1s ease-in-out 0s 1 normal;
           animation: hvr-wobble-horizontal 1s ease-in-out 0s 1 normal;
}

label.mc-label,
label.error{
  display: block;
  text-align: left;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin:10px 20px 0;
}

label.mc-label{
  margin:10px 13px 0;
}

label.mc-label .fa{
  color: #ff5f6c;
}


/* 1.5 Buttons */



.btn{
  position: relative;
  display: inline-block;
  border:2px solid #ff5f6c;
  padding:13px 45px 12px;
  text-decoration: none;
  font-size: 13px;
  color:#fff;
  letter-spacing: 0.1em;
  font-weight: 500;
  border-radius: 0;
  text-transform: uppercase;
  background-color: #ff5f6c;
  -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
}

.btn-round{
  border-radius: 25px;
}

.btn-sm{
  padding: 8px 30px 7px;
  font-size: 11px;
}

.btn:focus{
  outline: none!important;
  -webkit-box-shadow:none;
  box-shadow: none;
}

.btn:hover,
.btn:focus{
  border-color:#a4fff5;
  background-color: transparent;
}

.btn-light{
  background-color: #f0f5f9;
  border-color:#f0f5f9;
  color: #282F42;
}

.btn-light:hover,
.btn-light:focus{
  color:#000;
  background-color: #a4fff5;
}

.btn-light2{
  background-color: #f0f5f9;
  border-color:#f0f5f9;
  color: #282F42;
}

.btn-light2:hover,
.btn-light2:focus{
  color:#000;
  background-color: #FF5F6C;
  border-color:#FF5F6C;
}

.btn-white{
  color: #282F42;
  background-color:#fff;
  border-color: #fff;
}

.btn-white2{
  color: #282F42;
  background-color:#fff;
  border-color: #fff;
}

.btn-red{
  color: #fff;
  background-color:#FF5F6C;
}

.btn-red:hover{
  color: #fff;
  background-color:#FF5F6C;
  border-color: #FF5F6C;
}

.btn-white2:hover,
.btn-white2:focus{
  color:#fff;
  background-color: #25d366;
  border-color: #25d366;
}

.btn-white:hover,
.btn-white:focus{
  color:#fff;
  background-color: #ff5f6c;
  border-color: #ff5f6c;
}

.btn-b-white{
  border:2px solid #fff;
  background-color:transparent;
}

.btn-b-white:hover,
.btn-b-white:focus,
.btn-hvr-white:hover,
.btn-hvr-white:focus{
  color: #282F42;
  background-color: #fff;
  border-color: #fff;
}

.btn-hvr-3:hover{
  color: #282F42;
  background-color: #a4fff5;
  border-color: #a4fff5;
}

.btn-b-dark{
  color: #282F42;
  border:2px solid #282F42;
  background-color:transparent;
}

.btn-b-dark:hover,
.btn-b-dark:focus{
  color:#fff;
  background-color: #282f42;
}



/* 1.6 Icons */



.icon-circle,
.icon-circle-white{
  display: inline-block;
  text-align: center;
  width: 100px;
  height: 100px;
  line-height: 100px;
  border-radius: 50%;
  border:2px solid #ff5f6c;
}

.icon-circle .fa,
.icon-circle-white .fa{
  font-size:40px;
  color:#ff5f6c;
  vertical-align: middle;
}

.icon-circle-white{
    border-color: #fff;
}

.icon-circle-white .fa{
    color: #fff;
}

.icon-circle-2{
  display: inline-block;
  text-align: center;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 50%;
  background:#f1e600;
}

.icon-circle-2 .fa{
  font-size:20px;
  color:#fff;
  vertical-align: middle;
}

.icon-circle-3{
  display: inline-block;
  text-align: center;
  width: 80px;
  height: 80px;
  line-height: 80px;
  border-radius: 50%;
  border:2px solid #fff;
}

.icon-circle-3 .fa{
  font-size:30px;
  color:#fff;
  vertical-align: middle;
}

.icon-circle-3.dark{
  border-color: #282F42;
}

.icon-circle-3.dark .fa{
  color: #282F42;
}

.fa{
  display: inline-block;
  color: inherit;
}

a.fa:hover,
a.fa:focus{
  text-decoration: none;
}


/* 1.7 Colors */



.text-white{
  color:#fff;
}

.text-primary{
  color:#f1e600;
}



/* 1.8 Backgrouns */


.bgc-light{
  background-color:#f0f5f9;
}

.bgc-primary{
  background-color:#ff5f6c;
}



/* 1.9 Content styles */



.layout{
  overflow: hidden;
}

.section{
  padding-top: 120px;
  padding-bottom: 120px;
}

.section-title{
  margin:0 0 15px 0;
}

.section-content{
  margin-top: 100px;
}

.spacer,
.spacer-white{
  position: relative;
  width: 50px;
  height: 1px;
  background-color: #ff5f6c;
  margin:20px auto 20px;
}

.spacer .line,
.spacer-white .line{
  position: absolute;
  line-height: 1;
  left: 0;
  width: 100%;
  top:-9px;
}

.spacer .dot,
.spacer-white .dot{
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #ff5f6c;
}

.dot2 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #f1e600;
}

.dot3 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #a4fff5;
}

.spacer-white{
  background-color: #fff;
}

.spacer-white .dot{
  background-color: #fff;
}

header .spacer{
  margin-bottom: 0;
}

header .spacer + *{
  margin-top: 20px;
}

.bg-left-fluid{
  position: absolute;
  padding: 0;
  left:0;
  top:0;
  bottom: 0;
  overflow: hidden;
}

.bg-right-fluid{
  position: absolute;
  padding: 0;
  right:0;
  top:0;
  bottom: 0;
  overflow: hidden;
}

.bg-left-fluid.bordered:after,
.bg-right-fluid.bordered:after{
  content:'';
  position: absolute;
  left: 20px;
  top:20px;
  right: 20px;
  bottom: 20px;
  border:1px solid #f1e600;
}

.row-base{
  margin-top: -30px;
}

.col-base{
  margin-top: 30px;
}

.row-columns{
  margin-top: -50px;
}

.column{
  margin-top: 50px;
}


/* 1.10 Helpers */



.masked{
  position: relative;
}

.masked:before{
  content:'';
  position: absolute;
  left: 0;
  top:0;
  width: 100%;
  height: 100%;
  background-color: rgba(40,47,66,0.65);
}

.rel-1{
  position: relative;
  z-index:1;
}

.pt-0{
  padding-top: 0;
}

.pb-0{
  padding-bottom: 0;
}

.parallax{
  background-attachment: fixed!important;
}

.mobile .parallax{
  background-attachment: scroll!important;
}



/*-------------------------------------------------------------------------------
  2. Header
-------------------------------------------------------------------------------*/



.navbar{
  position: absolute;
  z-index: 30;
  top:0;
  left:0;
  width: 100%;
  padding:35px 0 0;
  margin:0;
  border:0;
  border-radius: 0;
}

.navbar .brand{
  float: left;
}

.navbar-toggle{
  margin-top: 3px;
  padding: 0;
}

.navbar-toggle .icon-bar{
  background-color:#ff5f6c;
  height: 2px;
  width: 30px;
}

.navbar-toggle .icon-bar + .icon-bar{
  margin-top: 5px;
}

.navbar-toggle.collapsed .icon-bar{
  background-color: #fff;
}


@media (max-height: 320px ){
  .navbar .navbar-collapse{
    max-height: 240px;

  }
}



/* 2.1 Brand */



.brand{
  display: inline-block;
  margin:0 0 15px 15px;
  text-align: center;
  font-size:25px;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
}

.brand span{
  display: inline-block;
}

.brand:hover,
.brand:focus{
  text-decoration: none;
}



/* 2.2 Navigation */



.navbar-nav{
  margin-top:4px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.navbar-nav li{
  position: relative;
  margin-top: 0;
  -webkit-perspective: 2000px;
  perspective: 2000px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.navbar-nav li a{
  color: #fff;
  text-decoration: none;
  padding:12px 20px;
  -webkit-transition:background-color 0.3s;
  -o-transition:background-color 0.3s;
  transition:background-color 0.3s;
}

.navbar-nav li a:hover,
.navbar-nav li a:focus,
.navbar-nav .active > a{
  background-color: transparent;

}

.navbar-nav > li > a:hover,
.navbar-nav > .active > a{
  background-color: #ff5f6c;
}

.navbar-nav li .submenu{
  display: none;
  position: absolute;
  left:-15px;
  top:150%;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  z-index: 10;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.navbar-nav li ul{
  margin-top: 21px;
  min-width: 200px;
  background: rgba(14,14,14,0.9);

}

.navbar-nav li:hover .submenu{
  top:100%;
  visibility: visible;
  opacity: 1;
}

.navbar-nav li li{
  border-bottom: 1px solid rgba(40,47,66,0.05);
}

.navbar-nav li li:last-child{
  border-bottom: 0;
}

.navbar-nav li li a{
  display: block;
  padding: 12px 20px 10px;
}



/* 2.3 Affix */



.navbar.affix{
  position: fixed;
  top:0;
  background-color:rgba(40,47,66,0.98);
  padding-top:20px;
  box-shadow: 0 0 15px rgba(0,0,0,0.2);
}


.navbar.affix .navbar-nav > li > a:hover,
.navbar.affix .navbar-nav > .active > a{
  color: #fff;
}




/*-------------------------------------------------------------------------------
  3. Main
-------------------------------------------------------------------------------*/



.main-about{
  background: url(../img/bg/main-about.jpg) center 0 no-repeat;
  background-size:cover;
}

.main-about2{
  background: url(../img/bg/main-about2.jpg) center 0 no-repeat;
  background-size:cover;
}

.opener{
  color:#fff;
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 200px 0 150px;
}

.opener h2{
  color: #fff;
  font-size: 30px;
  letter-spacing: 0.4em;
  margin: 0;
  font-weight:600;
}

.rev_slider{
  color: #fff;
  min-height: 420px;
  background-color: #282F42;
}

.tp-caption{
  text-align: center;
  font-size:1px;
}

.main .btn{
  padding-left: 30px;
  padding-right: 30px;
}

.ares.tparrows{
  min-width: 50px;
  min-height: 50px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: rgba(255,255,255,0.9);
}

.ares.tparrows.tp-leftarrow{
  margin-left: 40px;
}

.ares.tparrows.tp-rightarrow{
  margin-right: 40px;
}

.ares.tparrows.tp-leftarrow:before,
.ares.tparrows.tp-rightarrow:before{
  font-family: 'FontAwesome';
  line-height: 50px;
  color:#ff5f6c;
}

.ares.tparrows.tp-leftarrow:before{
  content: "\f104";
}

.ares.tparrows.tp-rightarrow:before{
  content: "\f105";
}

.ares.tparrows:hover{
  background-color: rgba(14,14,14,0.9);
}

.ares.tparrows:hover .ares.tparrows.tp-leftarrow:before,
.ares.tparrows:hover .ares.tparrows.tp-rightarrow:before{
  color: #fff;
}

.scroll-bottom{
  display:inline-block;
  text-align: center;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 50%;
  background-color: #f1e600;
}

.scroll-bottom .fa{
  position: relative;
  line-height: 50px;
  font-size: 17px;
  color: #fff;
}

.scroll-bottom:hover{
  background-color: #fff;
}

.scroll-bottom:hover .fa{
  color:#f1e600;
}


/* ------------------------------------------------------------------------------- */
/*  4. About
/* ------------------------------------------------------------------------------- */



.partners{
  overflow: hidden;
}

.bg-about-1{
  background:url(../img/bg/agencia-de-experiencias-brand-experience-agencia-creativa-cdmx.webp) center no-repeat;
  background-size: cover;
}

.bg-about-2{
  background:url(../img/bg/agencia-de-influencers-marketing-de-influencer-trucutru.webp) center no-repeat;
  background-size: cover;
}

.bg-about-3{
  background:url(../img/bg/about3.jpg) center no-repeat;
  background-size: cover;
}

.bg-about-4{
  background:url(../img/bg/about4.jpg) center no-repeat;
  background-size: cover;
}

.bg-about-5{
  background:url(../img/bg/about5.jpg) center no-repeat;
  background-size: cover;
}

.row-about{
  padding-top: 120px;
  padding-bottom: 120px;
  position: relative;
}

.col-about-margin{
  margin-top: 70px;
}

.img-frame{
  display: inline-block;
  position: relative;
}

.img-frame:after{
  content:'';
  position: absolute;
  left:-15px;
  top:-15px;
  bottom: 15px;
  right: 15px;
  border:5px solid #f0f5f9;
}

.img-frame img{
  position: relative;
  z-index: 1;
}

.about-title{
  margin-top:0;
  font-size: 30px;
  /*text-transform: uppercase;*/
  letter-spacing: 0.05em;
}

.col-about-content{
  margin-top: 45px;
}

.progress-bar-title{
  margin-bottom: 3px;
}

.progress-bar-title,
.progress-bar{
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-transform: uppercase;
}

.progress{
  height: 10px;
  margin-bottom: 25px;
  box-shadow: none;
  background:none;
  border-radius: 0;
  overflow: visible;
}

.progress-bar{
  position: relative;
  border-radius: 4px;
  background-color: #f1e600;
  box-shadow: none;
  color: inherit;
  width: 20%;
}

.progress-bar span{
  position: absolute;
  top: -30px;
  right: 0px;
}

.statistic{
  text-align: center;
  padding:80px 0;
}

.counter-value{
  font-size:50px;
  line-height: 1;
  letter-spacing: 0.0em;
  font-weight: 600;
}
.counter-value2{
  font-size:35px;
  line-height: 0;
  margin-top: 25px;
  letter-spacing: 0.0em;
  font-weight: 400;
}
.counter-details{
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.panel-group{
  margin-bottom: 0;
}

.panel-group .panel+.panel{
  margin-top: 15px;
}

.panel{
  background-color: transparent;
  border:0;
}

.panel-heading{
  background-color: #ff5f6c;
  border-radius: 0;
  padding: 0;
}

.panel-title{
  text-transform: uppercase;
  color:#fff;
  font-size: 16px;
  letter-spacing: 0.05em;
}

.panel-title a{
  color:#fff;
  position: relative;
  display: block;
  padding: 14px 50px 12px 20px;
}

.panel-title a:hover{
  color:#fff;
  text-decoration: none;
}

.panel-title a:before {
  position: absolute;
  top: 13px;
  right: 20px;
  bottom: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  content: "+";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.panel-title a[aria-expanded="true"]:before {
  content: "-";
}

.panel-group .panel-heading+.panel-collapse>.panel-body,
.panel-group .panel-heading+.panel-collapse>.list-group{
  border:2px solid #ff5f6c;
}

.panel-body{
  margin-top: 15px;
  padding: 20px;
  border:2px solid #ff5f6c;
}

.panel-body-title{
  font-size: 14px;
  color:#ff5f6c;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 500;
  margin-top:12px;
}

.partner{
  margin:0 15px;
  padding: 20px 25px;
  border:2px solid #f7f7f7;
}

.partner img{
  max-width: 100%;
}

.image-section h2{
  font-size: 38px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-bottom: 25px;
}

.image-section .btn{
  margin-top: 15px;
}

.banner-section{
  padding: 50px 0;
}

.banner-section h2{
  font-size:22px;
  letter-spacing: 0.05em;
  margin:10px 0 0;
}

.banner-section .btn{
  margin-top: 30px;
}



/* 4.1 Services */



.main-services{
  background: url(../img/bg/main-services.jpg) center 0 no-repeat;
  background-size:cover;
}

.service-column p {
  margin-bottom: 0;
}

.entry{
  font-size:22px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.border-column{
  padding: 40px;
  background: #ff5f6c;
  border-radius: 20px;
  color: #fff;
}

.border-column .entry{
  color: #fff;
}



/* ------------------------------------------------------------------------------- */
/*  5. Portfolio
/* ------------------------------------------------------------------------------- */



.main-portfolio{
  background: url(../img/bg/main-portfolio.jpg) center 0 no-repeat;
  background-size:cover;
}

.main-portfolio2{
  background: url(../img/bg/main-portfolio2.jpg) center 0 no-repeat;
  background-size:cover;
}

.main-portfolio3{
  background: url(../img/bg/main-portfolio3.jpg) center 0 no-repeat;
  background-size:cover;
}

.filter{
  margin:50px 0 0 0;
  text-transform: uppercase;
  font-size:12px;
  letter-spacing: 0.1em;
}

.filter li{
  display: inline-block;
  margin: 20px 10px 0;
}

.filter li a{
  display: block;
  color: inherit;
  padding:8px 18px;
  border:2px solid #f0f5f9;
}

.filter li a:hover,
.filter .active a{
  border-color: #ff5f6c;
  background-color: #ff5f6c;
  text-decoration:none;
  color: #fff;
}

.filter-top{
  margin-top: -20px;
}

.isotope-padding{
  margin:0 15px;
}

.isotope-padding .isotope-item{
  padding: 15px;
}

.isotope .isotope-item{
  width: 100%;
}

.isotope .isotope-item.w2{
  width: 100%;
}

.isotope.col-2 .isotope-item{
  width: 100%;
}

.isotope.col-3 .isotope-item{
  width: 100%;
}

.showcase-item{
  color: #fff;
}

.showcase-item-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
}



.showcase-item-hover{
  position: absolute;
  overflow: hidden;
  z-index: 1;
  top: 12px;
  right: 12px;
  bottom: 12px;
  left: 12px;
  opacity: 0;
  color: #fff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor:url(../img/zoom-in.cur), zoom-in;
}

.isotope-padding .showcase-item-hover{
  top:15px;
  right: 15px;
  bottom: 15px;
  left: 15px;
}

.showcase-item-hover:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(164,255,245,0.8);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}


.showcase-item-hover2{
  position: absolute;
  overflow: hidden;
  z-index: 1;
  top: 12px;
  right: 12px;
  bottom: 12px;
  left: 12px;
  opacity: 0;
  color: #fff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;

}

.isotope-padding .showcase-item-hover2{
  top:15px;
  right: 15px;
  bottom: 15px;
  left: 15px;
}

.showcase-item-hover2:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255,95,108,0.8);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.showcase-item-info{
  position: absolute;
  top:50%;
  left: 0;
  width: 100%;
  padding: 0 20px;
  -webkit-transform:translateY(-50%) scale(0);
  -ms-transform:translateY(-50%) scale(0);
  transform:translateY(-50%) scale(0);
  -webkit-transition: transform  0.3s;
  -ms-transition: transform  0.3s;
  transition: transform  0.3s;
}

.showcase-item-category{
  font-size:17px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.showcase-item-title{
  font-size:25px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.showcase-item:hover .showcase-item-hover {
  opacity: 1;
}

.showcase-item:hover .showcase-item-hover:after{
  opacity: 1;
  -webkit-transform: scale(1.5);
  -ms-transform: scale(1.5);
  transform: scale(1.5);
}

.showcase-item:hover .showcase-item-hover2 {
  opacity: 1;
}

.showcase-item:hover .showcase-item-hover2:after{
  opacity: 1;
  -webkit-transform: scale(1.5);
  -ms-transform: scale(1.5);
  transform: scale(1.5);
}

.showcase-item:hover .showcase-item-info{
  -webkit-transform:translateY(-50%) scale(1);
  -ms-transform:translateY(-50%) scale(1);
  transform:translateY(-50%) scale(1);
}



/* 5.1 Magnific popup */



.mfp-figure{
  box-shadow: none;
}

.mfp-iframe-scaler{
  overflow: visible;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close{
  padding: 0;
  margin-top: -10px;
  font-family: inherit;
  font-size: 40px;
  font-weight: 300;
  line-height: 0;
}

img.mfp-img{
  min-height: 250px;
}

.mfp-bottom-bar{
  margin-top: -30px;
}

.mfp-title{
  padding-right: 40px;
  font-size: 18px;
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.mfp-counter{
  top:5px;
}

.mfp-bg{
  background-color: #282F42;
}

.mfp-arrow-left:before, .mfp-arrow-left .mfp-b{
  display: none;
}

.mfp-arrow-right:before, .mfp-arrow-right .mfp-b{
  display: none;
}

.mfp-wrap .mfp-content {
  -webkit-perspective: 1300px;
          perspective: 1300px

}

.mfp-wrap .mfp-figure,
.mfp-wrap .mfp-iframe-scaler {
  opacity: 0;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform:scale(0) rotateY(60deg);
  -o-transform:scale(0) rotateY(60deg);
  transform:scale(0) rotateY(60deg);
}

.mfp-bg {
  opacity: 0;
  -webkit-transition: .5s;
       -o-transition: .5s;
          transition: .5s;
}

.mfp-wrap .mfp-figure,
.mfp-wrap .mfp-iframe-scaler {
  opacity: 0;
  -webkit-transition: .3s ease-in-out;
       -o-transition: .3s ease-in-out;
          transition: .3s ease-in-out;
  -webkit-transform: rotateY(-60deg);
      -ms-transform: rotateY(-60deg);
       -o-transform: rotateY(-60deg);
          transform: rotateY(-60deg);
}

.mfp-bg {
  opacity: 0;
  -webkit-transition: .5s;
       -o-transition: .5s;
          transition: .5s;
}

.mfp-wrap.mfp-ready .mfp-figure,
.mfp-wrap.mfp-ready .mfp-iframe-scaler {
  opacity: 1;
  -webkit-transform:rotateX(0);
      -ms-transform:rotateX(0);
       -o-transform:rotateX(0);
          transform:rotateX(0);
}

.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-wrap.mfp-removing .mfp-figure ,
.mfp-wrap.mfp-removing .mfp-iframe-scaler {
  opacity: 0;
  -webkit-transform: rotateX(-60deg);
      -ms-transform: rotateX(-60deg);
       -o-transform: rotateX(-60deg);
          transform: rotateX(-60deg);

}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur
.mfp-image-holder .mfp-close{
  cursor:url(../img/zoom-out.cur), zoom-out;
}

.mfp-removing.mfp-bg {
  opacity: 0;
}



/* ------------------------------------------------------------------------------- */
/*  6. Team
/* ------------------------------------------------------------------------------- */



.team-profile{
  position: relative;
  overflow: hidden;
}

.team-profile-img img{
  width: 100%;
}

.team-profile-hover{
  position: absolute;
  overflow: hidden;
  z-index: 1;
  top:12px;
  bottom: 12px;
  left: 12px;
  right: 12px;
  opacity: 0;
  color: #fff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.team-profile-hover:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(103,213,181,0.8);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.team-profile-info{
  position: absolute;
  top:50%;
  left: 0;
  width: 100%;
  padding: 0 20px;
  -webkit-transform:translateY(-50%) scale(0);
  -ms-transform:translateY(-50%) scale(0);
  transform:translateY(-50%) scale(0);
  -webkit-transition: transform  0.3s;
  -ms-transition: transform  0.3s;
  transition: transform  0.3s;
}

.team-profile-social{
  position:relative;
  top:-30px;
  opacity: 0;
  -webkit-transition:all 1s;
  -o-transition:all 1s;
  transition:all 1s;
  margin-bottom: 50px;
}

.team-profile-social a{
  display: inline-block;
  vertical-align: middle;
  margin:0 10px;
  font-size: 25px;
}

.team-profile-social a:hover{
  color: #282F42;
}

.team-profile-name{
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.team-profile-spec{
  font-size:13px;
  line-height: 1.6;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #282F42;
}

.team-profile-descr{
  position:relative;
  top:90px;
  opacity: 0;
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}

.team-profile:hover .team-profile-hover {
  opacity: 1;
}

.team-profile:hover .team-profile-hover:after{
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.team-profile:hover .team-profile-info{
  -webkit-transform:translateY(-50%) scale(1);
  -ms-transform:translateY(-50%) scale(1);
  transform:translateY(-50%) scale(1);
}

.team-profile:hover .team-profile-social{
  opacity: 1;
  top:0;
}

.team-profile:hover .team-profile-descr{
  opacity: 1;
  top:0;
}



/* ------------------------------------------------------------------------------- */
/*  7. Features
/* ------------------------------------------------------------------------------- */



.main-features{
  background: url(../img/bg/main-features.jpg) center 0 no-repeat;
  background-size:cover;
}

.icon-title{
  font-size:16px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin:0 0 15px;
}

.feature-column .icon-title{
  margin-top: 25px;
}

.icon-feature{
  font-size: 35px;
}

.col-feature p{
  margin-bottom: 0;
}

.feature-box{
  margin-top:30px;
  padding: 30px 20px 25px;
  border:2px solid #f0f5f9;
}

.feature-descr{
  font-size:16px;
  margin-bottom: 0;
}



/* ------------------------------------------------------------------------------- */
/*  8. Reviews
/* ------------------------------------------------------------------------------- */



.reviews{
  background:url(../img/bg/reviews.webp) center 0 no-repeat;
  background-size: cover;
}

.review-name{
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 35px;
}

.review-spec{
  font-size:14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color:#ff5f6c;
  font-weight: 400;
  margin:0;
}

.review-description{
  margin-top: 30px;
}

.review-carousel-2 .review{
  position: relative;
  margin:0 15px;
  padding:0 50px 40px;
}

.review-carousel-2 .review:before{
  content:'';
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top:50px;
  bottom:0;
  border:2px solid #f0f5f9;
}

.review-carousel-2 .owl-controls .owl-pagination{
  margin-top: 80px;
}

.review-carousel-3 .col-review-text{
  margin-top: 50px;
  padding: 50px;
  border:2px solid #eff4f8;
}

.review-carousel-3 .review-name{
  margin-top: 0;
}



/* 8.1 Owl carousel */



.owl-controls .owl-pagination{
  text-align: center;
  margin-top: 35px;
}

.owl-controls .owl-page{
  display: inline-block;
  margin:0 4px;
}

.owl-controls .owl-page span{
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border:2px solid #ff5f6c;
  -webkit-transition: .2s linear;
       -o-transition: .2s linear;
          transition: .2s linear;
}

.owl-controls .owl-page.active span,
.owl-controls .owl-page:hover span{
  background-color:#ff5f6c;
}

.dots-white .owl-controls .owl-page span{
  border-color: #fff;
}

.dots-white .owl-controls .owl-page.active span,
.dots-white  .owl-controls .owl-page:hover span{
  background-color:#fff;

}



/* ------------------------------------------------------------------------------- */
/*  9. Prices
/* ------------------------------------------------------------------------------- */



.col-price{
  max-width: 100%;
  width: 350px;
  display:inline-block;
  position: relative;
  padding: 7px;
  text-align: center;
}

.price-box{
  position: relative;
  border:2px solid #f0f5f9;
}

.price-header{
  padding: 35px 20px;
  line-height: 1;
  color: #000;
  background-color:#f0f5f9;
}

.price-title{
  font-size:14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

.price-amount{
  font-size: 40px;
  font-weight: 600;
}

.price-currency{
  display: inline-block;
  vertical-align: top;
  margin:2px 0 0 -10px;
  font-size: 18px;
  font-weight: 500;
}

.price-period{
  margin-top: 2px;
  font-size:14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.price-features{
  font-size:12px;
  letter-spacing: 0.1em;
  padding:40px 20px;
}

.price-features ul{
  margin: 0;
}

.price-features ul li{
  position: relative;
  margin:0 0 25px 0;
}

.price-features ul li .fa{
  position: absolute;
  top:3px;
  left: 25px;
  font-size: 14px;
}

.price-features .btn{
  margin-top: 8px;
}

.leading.col-price .price-box{
  border-color:#a4fff5;
}

.leading.col-price .price-header{
  background-color: #a4fff5;
  color: #000;
}

.leading.col-price .price-title{
  color: #000;
}



/* ------------------------------------------------------------------------------- */
/*  10. Blog
/* ------------------------------------------------------------------------------- */



.main-blog{
  background: url(../img/bg/main-blog.jpg) center 0 no-repeat;
  background-size:cover;
}

.main-blog-details{
  background: url(../img/bg/main-blog-details.jpg) center 0 no-repeat;
  background-size:cover;
}

.blog-article-thumbnail{
  position: relative;
}

.blog-article-thumbnail img{
  width: 100%;
}

.blog-article-thumbnail .date{
  position: absolute;
  z-index: 1;
  right: 0;
  top:0;
  padding:8px 14px;
  background-color: #ff5f6c;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.3;
}

.blog-article-title{
  font-size:15px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.blog-article-category{
  font-size:14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #8a8888;
}

.read-more{
  display: inline-block;
  font-size:12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.read-more .fa{
  margin-left: 4px;
}

.blog-article-details .read-more{
  margin-top: 10px;
}


.video-mask{
  position: absolute;
  overflow: hidden;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.video-mask:after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(14,14,14,0.6);
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.video-mask .fa{
  position: absolute;
  z-index: 2;
  top:50%;
  left: 50%;
  font-size:50px;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.gallery-carousel .owl-prev,
.gallery-carousel .owl-next{
  position: absolute;
  top: 50%;
  width: 34px;
  height: 34px;
  line-height: 34px;
  background:#fff;
  border-radius: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.gallery-carousel .owl-prev{
  left: 20px;
}

.gallery-carousel .owl-next {
  right: 20px;
}

.gallery-carousel .owl-prev .fa,
.gallery-carousel .owl-next .fa{
  color: #ff5f6c;
}

.gallery-carousel .owl-prev:hover,
.gallery-carousel .owl-next:hover{
  background-color:#ff5f6c;
}

.gallery-carousel .owl-prev:hover .fa,
.gallery-carousel .owl-next:hover .fa{
  color: #fff;
}




/* ------------------------------------------------------------------------------- */
/*  11. Contact
/* ------------------------------------------------------------------------------- */



.main-contact{
  background:url(../img/bg/main-contact.webp) center 0 no-repeat;
  background-size: cover;
}

.main-contact2{
  background:url(../img/bg/main-contact2.jpg) center 0 no-repeat;
  background-size: cover;
}

.contact{
  background:url(../img/bg/contact.webp) center 0 no-repeat;
  background-size: cover;
}

.contact-2 .social{
  margin-top: 40px;
}

.contact-row{
  margin-bottom: 42px;
}

.contact-row .icon-title{
  font-size:14px;
  letter-spacing: 0;
  margin-bottom: 12px;
}

.contact-2 .social{
  text-align: center;
}

.map{
  margin-top: 80px;
  width: 100%;
  height: 450px;
  border: 0;
  text-align: center;
}

.map-info{
  text-align: left;
}

.map-title{
  margin-bottom: 20px;
}

.map-info .fa{
  margin-right: 5px;
}

.contact-address{
  margin-top: 50px;
  text-align: center;
}

.contact-address-item .icon-title{
  font-size: 14px;
  letter-spacing: 0;
  margin-top: 35px;
}


/* ------------------------------------------------------------------------------- */
/*  12. Footer
/* ------------------------------------------------------------------------------- */



.footer{
  font-size:13px;
}

.footer-top{
  padding:55px 0;
  background-color: #1a1a1a;
}

.footer .widget-title .brand{
  margin-top: 8px;
}

.footer .widget-title{
  position: relative;
  font-size:13px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 32px;
}

.footer .widget-title:before{
  content:'';
  position: absolute;
  top:100%;
  margin-top: 8px;
  left: 0;
  width: 20px;
  border-top: 1px solid #ff5f6c;
}

.footer .widget-links{
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.footer .widget-links li{
  margin-bottom: 14px;
}

.footer .widget-links a{
  color: inherit;
}

.footer .widget-links a:hover{
  color:#ff5f6c;
  text-decoration: none;
}

.footer-bottom{
  padding: 28px 0;
  background-color: #282F42;
}

.copy{
  margin-bottom: 15px;
}

.social{
  margin-top: -7px;
  margin-left: -30px;
}

.social a{
  font-size: 15px;
  display: inline-block;
  padding: 1px;
  margin-left:30px;
  margin-top: 7px;
  color: #C2C2C2;
}

.social a:hover{
  color: #ff5f6c;
}

.social-round a{
  margin-left:10px;
  text-align: center;
  width: 42px;
  height: 42px;
  line-height: 40px;
  border:2px solid #ff5f6c;
  border-radius: 50%;
}

.social-round a .fa{
  color:#282F42;
}

.social-round a:hover{
  background-color:  #ff5f6c;
}

.social-round a:hover .fa{
  color:  #fff;
}



/* ------------------------------------------------------------------------------- */
/*  13. Modals
/* ------------------------------------------------------------------------------- */



.modal-open{
  overflow: visible;
  padding-right: 0!important;
}

.modal{
  color: #fff;
  text-align: center;
}

.modal .form-control{
  height: 50px;
  font-size:12px;
  border-width: 1px;
}

.modal textarea.form-control{
  height: 120px;
}

.modal label.error{
  color: #fff;
}

.modal-dialog{
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  width: 90%;
  margin:25px auto;
}

.modal-content{
  border:0;
  opacity: 0;
  background-color:rgba(20,20,20,0.95);
  padding: 20px 30px 40px;
  border-radius:0;
  -webkit-box-shadow:none;
  box-shadow: none;
}

.modal.fade .modal-dialog{
  -webkit-perspective: 1300px;
     -moz-perspective: 1300px;
          perspective: 1300px;
}

.modal.fade .modal-content{
  -webkit-transform-style: preserve-3d;
     -moz-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transform: translateZ(-3000px) rotateY(90deg);
     -moz-transform: translateZ(-3000px) rotateY(90deg);
      -ms-transform: translateZ(-3000px) rotateY(90deg);
          transform: translateZ(-3000px) rotateY(90deg);
  opacity: 0;
}

.modal.fade.in .modal-content{
    -webkit-animation: slit .7s forwards ease-out;
    -moz-animation: slit .7s forwards ease-out;
    animation: slit .7s forwards ease-out;
}

@-webkit-keyframes slit {
  50% { -webkit-transform: translateZ(-250px) rotateY(60deg); opacity: .5; -webkit-animation-timing-function: ease-out;}
  100% { -webkit-transform: translateZ(0) rotateY(0deg); opacity: 1; }
}

@-moz-keyframes slit {
  50% { -moz-transform: translateZ(-250px) rotateY(60deg); opacity: .5; -moz-animation-timing-function: ease-out;}
  100% { -moz-transform: translateZ(0) rotateY(0deg); opacity: 1; }
}

@keyframes slit {
  50% { transform: translateZ(-250px) rotateY(60deg); opacity: 1; animation-timing-function: ease-in;}
  100% { transform: translateZ(0) rotateY(0deg); opacity: 1; }
}

.modal-header{
  border:0;
  min-height: 0;
  text-align: center;
}

.close{
  display: block;
  font-size: 12px;
  font-weight: 100;
  line-height: 1;
  color: #fff;
  text-align: center;
  text-shadow: none;
  cursor: pointer;
  border-radius: 50%;
  opacity: 1;
  filter: alpha(opacity=1);
  -webkit-transition: all 0.2s linear;
       -o-transition: all 0.2s linear;
          transition: all 0.2s linear;
}

.close span{
  display: block;
}

.close:hover,
.close:focus {
  color: #ff5f6c;
  opacity:1;
  filter: alpha(opacity=1);
}

.modal-header .close{
  position: absolute;
  z-index: 1;
  top: 10px;
  right: 20px;
  font-size: 40px;
}

.modal-title{
  font-size: 25px;
  color: #fff;
  margin-bottom: 10px;
}

.modal-subtitle{
  font-size: 12px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.modal-body{
  padding:20px 0 0;
}

.modal-body .form-group{
  margin-bottom: 30px;
}

.modal-message .modal-content{
  padding-top: 55px;
  padding-bottom: 55px;
}



/* ------------------------------------------------------------------------------- */
/*  14. Responsive styles
/* ------------------------------------------------------------------------------- */
@media (min-width: 320px) and (max-width: 991px) {
    .about-agencia-publicidad-responsive {
        display: block; /* Mostrar solo en este rango de tamaño */
        width: 100%; /* Ajustar al contenedor si es necesario */
        margin: auto;
        padding:0%;
    }
}

@media (min-width: 992px) {
    .about-agencia-publicidad-responsive {
        display: none !important; /* Asegurar que se oculta en tamaños mayores */
    }
}

@media (min-width: 320px){
}
/* 14.1 Min width 768px */
.isotope .isotope-item{
  width: 50%;
}

.isotope .isotope-item.w2{
  width: 100%;
}

.isotope.col-3 .isotope-item{
  width: 50%;
}


@media (min-width: 768px){

  .embed-container {
      position: relative;
      padding-bottom: 56.25%;
      padding-top:0%;
      height: 0;
      overflow: hidden;
  }
  .embed-container iframe {
      position: absolute;
      top:0;
      left: 0;
      width: 100%;
    }


  /* Header */
.col-about-right{
  padding:50px;
  padding-top:50px;
}
  .navbar {
    padding-top: 50px;
  }

  .brand{
    margin:0;
  }


  /* Navigation */

  .navbar-nav{
    font-size:14px;
  }

  .navbar-nav > li{
    border-bottom: 0;
    margin-left: 25px;
  }

  .navbar-nav li a{
    position: relative;
    padding:0;
    color:#fff;
  }

  .navbar-nav li a:hover,
  .navbar-nav li a:focus,
  .navbar-nav .active > a,
  .navbar-nav .active > a:hover{
    background-color: transparent;

  }

  .navbar-nav li a:hover,
  .navbar-nav .active > a,
  .navbar.affix .navbar-nav li > a:hover,
  .navbar.affix .navbar-nav .active > a{
    color: #ff5f6c;
  }

  .navbar-nav li .submenu{
    display: block;
  }



  /* Navbar Affix */



  .navbar.affix{
    padding-bottom: 20px;
  }



  /* Main */

  .opener{
    padding: 300px 0;
  }

  /* Content styles */

  .col-about-right{
    padding:2px;
    padding-top:2px;
  }

  .md-pull-right{
    float: right;
  }

  .text-right-md{
    text-align: right;
  }



  /* Backgrouns */

  .bgc-light-md{
    background-color: #f0f5f9;
  }

  /* About */



  .col-about-right{
    padding-left:0px;
  }

  .col-about-left{
    padding-right: 0px;
  }

  .banner-section .btn{
    margin-top:0;
  }

  /* Portfolio */



  .isotope .isotope-item{
    width: 50%;
  }

  .isotope .isotope-item.w2{
    width: 100%;
  }

  .isotope.col-3 .isotope-item{
    width: 50%;
  }



  /* Footer */



  .copy{
    float: left;
    margin-bottom: 0;
  }


  .footer-bottom .social{
    float: right;
    margin-left: 0;
  }



  /* Modals */



  .modal:before {
    display: inline-block;
    vertical-align: middle;
    content: " ";
    height: 100%;
  }

  .modal-dialog {
    width: 50px;
  }
}



/* 14.2 Min width 992px */



@media (min-width: 992px){



  /* Content styles */

  .col-about-right{
    padding:2px;
    padding-top:2px;
  }

  .md-pull-right{
    float: right;
  }

  .text-right-md{
    text-align: right;
  }



  /* Backgrouns */

  .bgc-light-md{
    background-color: #f0f5f9;
  }

  /* About */



  .col-about-right{
    padding-left:30px;
  }

  .col-about-left{
    padding-right: 30px;
  }

  .banner-section .btn{
    margin-top:0;
  }



  /* Navigation */



  .navbar-nav > li{
    border-bottom: 0;
    margin-left: 36px;
  }

  .navbar.affix .navbar-nav > li > a{
    margin-bottom: 0;
  }



  /* Portfolio */



  .isotope .isotope-item{
    width: 33.333333%;
  }

  .isotope .isotope-item.w2{
    width: 66.666666%;
  }

  .isotope.col-2 .isotope-item{
    width: 50%;
  }


  /* Contact */



  .col-contact{
    border-left:1px solid #E1E1E1;
  }
}

/* 14.3 Min width 1200px */

/* HERO STYLES MOVED FROM @media (min-width: 1200px) */
/* Portfolio */
  .isotope .isotope-item{
    width: 25%;
  }

  .isotope .isotope-item.w2{
    width: 50%;
  }

  .isotope.col-3 .isotope-item{
    width: 33.333333%;
  }


  /* About */
  .col-about-right{
    padding-left: 60px;
  }

  .col-about-left{
    padding-right: 60px;
  }

  .feature-box-wrap{
    margin-top: 50px;
  }


  /*
  ÚLTIMOS CSS Nuevos

    Contacto: icono + texto centrados en línea */
    .contact-row {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      margin-top: 2rem;
    }
    .contact-row .icon-circle-3 {
      flex-shrink: 0;
    }


    /* HERO STATIC BACKGROUND */
    .hero-static .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      overflow: hidden;
    }

    .hero-static .hero-bg img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      transform: scale(1.15);
      animation: kenburnsZoom 10s ease-out forwards;
    }


  @keyframes kenburnsZoom {
    to {
      transform: scale(1);
    }
  }

  .hero-content {
    position: relative;
    z-index: 2;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 20px;
    color: #fff;
    gap: 0px;
  }

  .hero-slogan1 {
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero-title-description {
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero-slogan1 {
    font-size: 25px;
    text-transform: uppercase;
    letter-spacing: 0.4em;
    font-weight: 700;
  }

  .hero-slogan2 {
    color: #fff !important;
    font-size: 60px !important;
    margin: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
  }

  .hero-title-description {
    font-size: 26px !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: none;
    opacity: 0;
    position: relative;
    top: 0px;
    letter-spacing: 0.05em;
  }

  .hero-button {
    margin-top: 25px;
    padding: 15px 30px;
    background-color: #25d366;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    font-weight: 600;
    display: inline-block;
    animation: fadeIn 1s ease-out 1.8s forwards;
    opacity: 0;
  }


  @media (max-width: 767px) {
    .hero-slogan1 {
      font-size: 15px !important;
    }

    .hero-slogan1 .letter {
      letter-spacing: 4.5px !important;
    }

    .hero-slogan2 {
      font-size: 617px !important;
    }

    .hero-title-description {
      font-size: 20px !important;
    }
  }


  .animated-text span {
    display: inline-block;
    opacity: 0;
    transform: translateX(200px) rotateZ(10deg);
    animation: fancyFadeIn 2.9s forwards;
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }

  .animated-text .letter {
    letter-spacing: 0.4em;
  }

  .animated-text .letter-space {
    display: inline-block;
    width: 0.4em; /* más espacio que una letra */
  }


  @keyframes fancyFadeIn {
    to {
      opacity: 1;
      transform: translateX(0) rotateZ(0);
    }
  }

  /* ================================
     Animaciones Hero Personalizadas
     ================================ */

  /* Texto animado con blur (HISTORIA) */
  .ml2 {
    opacity: 0;
  }
  .ml2 .letter {
    display: inline-block;
    line-height: 1em;
    opacity: 0;
    filter: blur(6px);
  }

  /* Texto animado desde abajo (Agencia Creativa...) */
  .ml3 {
    font-weight: 900;
    font-size: 28px;
    color: #DDD;
    display: inline-block;
    line-height: 1em;
    vertical-align: middle;
    will-change: transform;
  }
  .ml3 .letter {
    display: inline-block;
    transform: translateY(12px);
    opacity: 0;
    will-change: transform, opacity;
  }
  .ml3 .word {
    display: inline-block;
    white-space: nowrap;
  }

  /* Evitar que letras salten a la siguiente línea */
  .ml2 .letter,
  .ml3 .letter,
  .hero-title-description .letter {
    white-space: nowrap;
  }

  /* Animación de entrada para botón de WhatsApp */
  @keyframes fadeUpBtn {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Estado base del botón */
  .hero-btn-whatsapp {
    margin-top: 40px;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  }

  /* Activación de animación al cargar */
  .hero-btn-whatsapp.animate-once {
    opacity: 1;
    transform: translateY(0);
  }


/*TAMAÑO IMAGENES <SERVICES>*/
  @media (max-width: 967px) {
    .isotope-servicios .isotope-item {
      width: 50% !important;
    }
  }

  @media (max-width: 597px) {
  .showcase-item-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
    word-break: break-word;
  }

  .showcase-item-category {
    font-size: 13px !important;
    line-height: 1.2 !important;
    word-break: break-word;
  }
}

@media (min-width: 598px) and (max-width: 967px) {

    .showcase-item-title {
      font-size: 20px !important;
      line-height: 1.2 !important;
      word-break: break-word;
    }

    .showcase-item-category {
      font-size: 16px !important;
      line-height: 1.3 !important;
      word-break: break-word;
    }
  }

@media (min-width: 968px) and (max-width: 1250px) {
  .showcase-item-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
    word-break: break-word;
  }

  .showcase-item-category {
    font-size: 13px !important;
    line-height: 1.2 !important;
    word-break: break-word;
  }
}

/*TAMAÑO IMAGENES <PORTFOLIO>*/
/* Desde 968px en adelante — grid original */
@media (min-width: 968px) {
  .section-content .isotope .isotope-item {
    width: 25% !important;
  }

  .section-content .isotope .isotope-item.w2 {
    width: 50% !important; /* Umbra se comporta como imagen horizontal */
  }
}

/* En móvil/tablet medio (de 576px a 967px) — grid responsive */
@media (max-width: 967px) {
  .section-content .isotope .isotope-item {
    width: 50% !important;
  }

  .section-content .isotope .isotope-item.w2 {
    width: 100% !important; /* Umbra ocupa toda la línea */
  }
}

/* En móviles pequeños, grid 2 columnas */
@media (max-width: 575px) {
  .section-content .isotope .isotope-item {
    width: 50% !important;
  }
}

/* Oculto por defecto */
.hero-slogan2-mobile {
  display: none;
  font-size: 50px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #fff;
  opacity: 0;
  filter: blur(6px);
  transform: translateY(0px) scale(1.5);
  animation: fadeBlurScaleMobile 2s ease-out 0.2s forwards;
}

/* Solo visible en móviles */
@media (max-width: 767px) {
  .hero-slogan2-mobile {
    display: block;
  }

  .ml2 {
    display: none !important; /* Oculta la versión desktop de HISTORIA */
  }
}

/* Animación suave con blur + escala */
@keyframes fadeBlurScaleMobile {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
  }
}


/* Mostrar y ocultar el texto correcto según el dispositivo */
.hero-desktop {
  display: block;
}
.hero-mobile {
  display: none;
}

@media (max-width: 767px) {
  .hero-desktop {
    display: none !important;
  }
  .hero-mobile {
    display: block !important;
  }
}

/* ========================================================= */
/* ANIMACIÓN: "TODO COMIENZA CON UNA!!!" (solo en MÓVIL)    */
/* ========================================================= */

.slogan-movil span {
  display: inline-block;
  opacity: 0;
  transform: translateX(200px) rotateZ(10deg);
  animation: fancyFadeIn 2.2s forwards;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.slogan-movil .letter {
  letter-spacing: 0.4em;
}

.slogan-movil .letter-space {
  display: inline-block;
  width: 0.4em;
}

@keyframes fancyFadeIn {
  to {
    opacity: 1;
    transform: translateX(0) rotateZ(0);
  }
}


/* ========================================================= */
/* ANIMACIÓN: "AGENCIA CREATIVA…" (.ml3)                    */
/* ========================================================= */

.ml3 .letter {
  display: inline-block;
  /* no declares animation aquí */
}

@keyframes slideUpStagger {
  to {
    opacity: 1;
    transform: translateY(0) rotateZ(0);
  }
}

.ml3 {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-out;
}

.ml3.visible {
  opacity: 1;
  visibility: visible;
}

/* Estilos para la sección de "Logra que tus ideas..." */
.statistic-sub {
  font-size: 30px;
  font-weight: 400;
  margin: 0;
  padding: 0;
  line-height: 1.3;
}

.statistic-main {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 10px;
  padding: 0;
}

@media (max-width: 767px) {
  .statistic-sub {
    font-size: 18px;
    line-height: 1.2;
  }

  .statistic-main {
    font-size: 28px;
    line-height: 1.2;
  }
}

/* Animación */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-up-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-up-on-scroll.visible {
  animation: fadeUp 0.8s ease-out forwards;
}

.fade-up-on-scroll.delay-1 {
  animation-delay: 0.2s;
}
.fade-up-on-scroll.delay-2 {
  animation-delay: 0.7s;
}

.logo-navbar {
padding-bottom: 10px;
margin-left: 10%;
}

.cotiza-inline {
  border: 1px solid #ffffff;
  border-radius: 25px;
  padding: 6px 14px;
  margin-left: 10px;
  margin-top: -6px;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.cotiza-hover:hover {
  background-color: #ffffff !important;
  color: #151515 !important;
  border-color: #ffffff !important;
}

.cotiza-hover:hover i,
.cotiza-hover:hover span {
  color: #151515 !important;
}

.section-header {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.section-header .section-title {
  margin-bottom: 16px;
}

.section-header .spacer {
  margin: 22px auto;
}

.section-header p {
  max-width: 1100px;
  margin: 0 auto 20px;
}

.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 720px; /* 👈 Ajusta aquí el ancho máximo */
  margin: 0 auto;   /* centra horizontalmente */
  aspect-ratio: 16 / 9; /* mantiene proporción */
  overflow: hidden;
  border-radius: 12px; /* opcional */
  top: 100px;
}

.video-wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 991px) {
  .video-wrapper {
    top: -60px;
  }
}


/* Altura del hero (fondo + overlay + contenido) */
:root { --hero-h: 75vh; }

/* Ajusta según tu markup: usa el que tengas (.hero, .page-header, etc.) */
.hero, .hero::before,
.page-header, .page-header::before,
.header-hero, .header-hero::before,
.hero .overlay, .hero .bg,
.header-hero .overlay, .header-hero .bg {
  height: var(--hero-h) !important;
  min-height: var(--hero-h) !important;
}

/* El contenedor de texto centrado */
.hero-content{
  height: var(--hero-h) !important;
}

/* Asegura que la imagen cubra sin estirar raro */
.hero, .page-header, .header-hero {
  background-size: cover;
  background-position: center;
}





/* ===== Título estilo About-04 (sin subrayado) ===== */
.t-split{
  margin: 0;
  font-weight: 800;
  line-height: 1.1;
  display: inline-block;
}
.t-split .pre{
  color: #ee3364;
  display: inline-block;
  margin-right: .25ch;
  font-size: 50px;

}
.t-split .accent{
  color: #00bec5;
  display: inline-block;
  margin-right: .25ch;
}
.t-split .extra{
  color: #232323;
  display: inline-block;
}
.t-split .decor{
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  position: relative;
  top: -6px;
  border-right: 2px solid #9aa0a6;
  border-bottom: 2px solid #9aa0a6;
  transform: rotate(-45deg);
}
@media (max-width: 640px){
  .t-split{ display: block; }
  .t-split .pre,
  .t-split .accent,
  .t-split .extra{ display: inline; }
}

@media (max-width: 768px) {
  .pre {
    font-size: 40px !important;

  }
}


.bullets-dos-col {
  list-style: none;
  padding: 0;
  margin: 8px 0;
  columns: 2;              /* 👉 divide en 2 columnas */
  -webkit-columns: 2;      /* soporte Safari */
  -moz-columns: 2;         /* soporte Firefox */
}

.bullets-dos-col li {
  margin: 2px 0;
  font-size: 15px;
  break-inside: avoid;
   line-height: 1.3;     /* evita cortes raros */
}

.bullets-dos-col li::before {
  content: "• ";
  color: #333;          /* tu color de marca */
  font-weight: bold;
}

@media (max-width: 1200px) {
  .bullets-dos-col {
    columns: 1 !important;              /* 👉 divide en 2 columnas */
    -webkit-columns: 1 !important;      /* soporte Safari */
    -moz-columns: 1 !important;         /* soporte Firefox */
  }
  }

/* ===== Banda full-screen pegada ===== */
.band-videos-full{
  margin: 0;
  width: 100vw;
  position: relative;
  left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== Grid 3 columnas sin espacios ===== */
.band-videos-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-height: 360px;
  gap: 0 !important;
  align-items: start;            /* 👈 alinea las celdas por arriba */
}

/* ===== Panel / tarjeta ===== */
.panel{
  position: relative;
  color: #0f172a;
  padding: clamp(28px, 3.4vw, 56px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;   /* 👈 en vez de center */
  gap: 12px;
  border-radius: 0 !important;
  box-shadow: none;
  margin: 0;
  outline: 1px solid transparent; /* fix líneas subpíxel */
  transform: translateZ(0);
  cursor: default;
  min-height: 100%;              /* ocupa toda la celda */
}

/* Colores por panel */
.p1{ background: #F1E600; color:#2d2d2d; }
.p2{ background: #FF5F6C; color:#fff; }
.p3{ background: #A4FFF5; color:#2d2d2d; }

.panel h3{
  position: relative;
  color: inherit;
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 1.1;
  font-weight: 800;
  margin: 0 0 10px;              /* 👈 margen consistente */
}

/* Subrayado “desfasado” */
.panel h3::after{
  content:"";
  position:absolute;
  left: .15em;
  bottom: -.07em;
  width: 84%;
  height: .38em;
  border-radius: 0px;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  background: currentColor;
  mix-blend-mode: multiply;
}
.p2 h3::after{ background: rgba(0,0,0,.08); mix-blend-mode: normal; }
.p1 h3::after,
.p3 h3::after{ background: rgba(0,0,0,.1); mix-blend-mode: normal; }

.panel p{
  margin: 0;
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.6;
  opacity: .92;
  max-width: 62ch;
}

/* ===== Listas (bullets) ===== */
.panel ul{
  list-style: none;
  padding: 0;
  margin: 12px 0 0;             /* 👈 mismo arranque en todos */
}
.panel ul li{
  margin: 6px 0;
  break-inside: avoid;
}
.panel ul li::before{
  content: "• ";
  color: currentColor;          /* usa el color del texto del panel */
  font-weight: 700;
}

/* Bullets blancos (úsalo solo donde quieras) */
.bullets-white li,
.bullets-white li::before{
  color: #fff;
}

/* Lista en dos columnas (si la aplicas) */
.bullets-dos-col{
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

/* ===== CTA flechita ===== */
.panel .cta{
  position: absolute; right: 0; bottom: 0;
  width: 64px; height: 64px;
  background: rgba(0,0,0,.05);
  color: currentColor;
  display: grid; place-items: center;
  text-decoration: none;
  border-top-left-radius: 0 !important;
  opacity: .95;
  transition: background .2s ease, transform .2s ease, opacity .2s ease, color .2s ease;
  z-index: 2;
  cursor: pointer;
}
.p2 .cta, .p3 .cta{ background: rgba(0,0,0,.08); }

.panel .cta svg{
  width: 18px; height: 18px;
  stroke: currentColor;
  transition: transform .2s ease;
}
.band-videos-full .panel .cta:hover,
.band-videos-full .panel .cta:focus-visible{
  background: #25365b !important;
  color: #fff !important;
  transform: translateX(3px);
  opacity: 1;
}
.band-videos-full .panel .cta:hover svg,
.band-videos-full .panel .cta:focus-visible svg{
  transform: translateX(3px);
}

/* ===== Responsive ===== */
@media (max-width: 750px){
  .band-videos-grid{ grid-template-columns: 1fr; }
  .panel{ min-height: 240px; }
  .panel .cta{ width:56px; height:56px; }
}

.about04-clone{
  --pink:#ee3364;--teal:#00bec5;--ink:#232323;--muted:#6b6b6b;
  background:#fff;position:relative;overflow:hidden;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif
}
.about04-clone .container{width:min(1200px,92vw);margin:0 auto;padding:clamp(56px,8vw,104px) 0}

/* ===== Marquee de fondo ===== */
.about04-clone .bg-marquee{
  position:absolute;left:0;right:0;top:55%; /* bajado un poco respecto al 60% */
  opacity:.055;pointer-events:none;user-select:none;overflow:visible;
}
.about04-clone .bg-marquee .track{
  display:flex;gap:18vw;width:max-content;will-change:transform;animation:marq 40s linear infinite
}
.about04-clone .bg-marquee span{
  font:800 clamp(90px,18vw,240px)/0.82 Montserrat,sans-serif;white-space:nowrap
}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.about04-clone .bg-marquee .track{animation:none}}

/* ===== Top (izq: título / der: collage) ===== */
.about04-clone .top{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,4vw,56px)}
.about04-clone .title{
  color:var(--ink);font-weight:800;margin:0;display:inline-block;
  font-size:44px;line-height:1.1;
}
.about04-clone .title .pre{color:var(--pink);font-weight:800}
.about04-clone .title .accent{color:var(--teal);font-weight:800;font-size:80px;line-height:0.8em;display:block}
.about04-clone .title .extra{font-size:35px;line-height:1.2em;display:block;margin-top:4px}
.about04-clone .title .decor{
  display:inline-block;width:18px;height:18px;margin-left:10px;opacity:.7;position:relative;top:-6px;
  border-right:2px solid #9aa0a6;border-bottom:2px solid #9aa0a6;transform:rotate(-45deg)
}
.about04-clone .lead{color:var(--muted);font-size:clamp(16px,1.2vw,18px);line-height:1.65;margin-top:18px;margin-right:10px;max-width:60ch}

/* ===== Collage ===== */
.about04-clone .collage{position:relative;min-height:420px}
.about04-clone .ph{position:absolute;overflow:hidden;background:#eee;box-shadow:0 16px 28px rgba(0,0,0,.10)}
.about04-clone .ph img{width:100%;height:100%;object-fit:cover;display:block}
.about04-clone .ph.a{left:-10%;top:40%;width:75%;aspect-ratio:4/3}
.about04-clone .ph.b{right:0;top:-6%;width:75%;aspect-ratio:4/3;border:0px solid #fff;box-shadow:0 10px 20px rgba(0,0,0,.08)}
.about04-clone .frame{position:absolute;right:-4%;top:-10%;width:60%;height:58%;border:10px solid var(--teal);pointer-events:none}
.about04-clone .dots{position:absolute;right:6%;top:60%;width:250px;height:180px;background-image:radial-gradient(#0003 2px,transparent 3px);background-size:14px 14px}
.about04-clone .ring{position:absolute;left:-30%;bottom:-30%;width:240px;height:240px;border-radius:50%;background:rgba(255,230,120,.5);mix-blend-mode:multiply}

/* ===== 3 servicios ===== */
.about04-clone .services{margin-top:clamp(110px,12vw,220px)}
.about04-clone .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,36px)}
.about04-clone .card{text-align:center;padding:clamp(18px,2.2vw,28px)}
.about04-clone .ico{width:80px;height:80px;margin:0 auto 14px;color:#00bec5}
.about04-clone .card h3{margin:0 0 6px;font-weight:800;font-size:clamp(18px,1.4vw,22px);}
.about04-clone .card p{color:var(--muted);font-size:clamp(14px,1.05vw,16px);max-width:46ch;margin:0 auto}

@media (max-width:1024px){
  .about04-clone .top{grid-template-columns:1fr}
  .about04-clone .collage{min-height:440px}
  .about04-clone .bg-marquee{top:64%}
}
@media (max-width:720px){
  .about04-clone .grid{grid-template-columns:1fr}
  .about04-clone .ph.a{left:0;width:70%}
  .about04-clone .ph.b{right:0;width:64%;top:-6%}
}
