/* =================================================================== 
 *
 *  Dazzle v1.0 Main Stylesheet
 *  04-27-2017
 *  ------------------------------------------------------------------
 *
 *  TOC:
 *  01. webfonts and iconfonts
 *  02. base style overrides
 *  03. typography & general theme styles
 *  04. preloader
 *  05. forms
 *  06. buttons
 *  07. other components
 *  08. common and reusable theme styles
 *  09. header styles
 *  10. home
 *  11. about
 *  12. pricing 
 *  13. testimonials
 *  14. download
 *  15. footer styles
 *
 * =================================================================== */


/* ===================================================================
 *  01. webfonts and iconfonts - (_document-setup)
 *
 * ------------------------------------------------------------------- */

 @import url("font-awesome/css/font-awesome.min.css");
 @import url("micons/micons.css");
 @import url("fonts.css");
 
 
 /* ===================================================================
  *  02. base style overrides - (_document-setup)
  *
  * ------------------------------------------------------------------- */
 
 html {
   font-size: 10px;
 }
 
 @media only screen and (max-width: 1024px) {
   html {
     font-size: 9.375px;
   }
 }
 
 @media only screen and (max-width: 768px) {
   html {
     font-size: 10px;
   }
 }
 
 @media only screen and (max-width: 400px) {
   html {
     font-size: 9.375px;
   }
 }
 
 html,
 body {
   height: 100%;
 }
 
 body {
   background: #141515;
   font-family: "muli-regular", sans-serif;
   font-size: 1.6rem;
   line-height: 1.875;
   color: #767676;
   margin: 0;
   padding: 0;
 }
 
 
 /* ------------------------------------------------------------------- 
  * links - (_document-setup) 
  * ------------------------------------------------------------------- */
 
 a,
 a:visited {
   color: #0087cc;
   -webkit-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
 }
 
 a:hover,
 a:focus {
   color: #39b54a;
 }
 
 
 /* ===================================================================
  *  03. typography & general theme styles - (_document-setup.scss) 
  *
  * ------------------------------------------------------------------- */
 
 h1, h2, h3, h4, h5, h6, .h01, .h02, .h03, .h04, .h05, .h06 {
   font-family: "montserrat-regular", sans-serif;
   color: #151515;
   font-style: normal;
   text-rendering: optimizeLegibility;
   margin-bottom: 2.4rem;
 }
 
 h3, .h03, h4, .h04 {
   margin-bottom: 1.5rem;
 }
 h5, .h05, h6, .h06 {
   margin-bottom: 1.2rem;
 }
 h1, .h01 {
   font-size: 3.1rem;
   line-height: 1.35;
   letter-spacing: -.1rem;
   
 }
 
 @media only screen and (max-width: 600px) {
   h1,
   .h01 {
     font-size: 2.6rem;
     letter-spacing: -.07rem;
   }
 }
 
 h2, .h02 {
   font-size: 1.6rem;
   line-height: 1.25;
   font-weight:  1.875;
 }
 h3, .h03 {
   font-size: 2rem;
   line-height: 1.5;
 }
 h4, .h04 {
   font-size: 1.7rem;
   line-height: 1.76;
 }
 h5, .h05 {
   font-size: 1.4rem;
   line-height: 1.7;
   text-transform: uppercase;
   letter-spacing: .2rem;
 }
 h6, .h06 {
   font-size: 1.3rem;
   line-height: 1.85;
   text-transform: uppercase;
   letter-spacing: .2rem;
 }
 
 p img {
   margin: 0;
 }
 
 p.lead {
   font-family: "muli-light", sans-serif;
   font-size: 2.1rem;
   line-height: 1.857;
   color: #838383;
   margin-bottom: 3.6rem;
 }
 
 @media only screen and (max-width: 768px) {
   p.lead {
     font-size: 2rem;
   }
 }
 
 em, i, strong, b {
   font-size: 1.6rem;
   line-height: 1.875;
   font-style: normal;
   font-weight: normal;
 }
 em, i {
   font-family: "muli-italic", sans-serif;
 }
 strong, b {
   font-family: "muli-bold", sans-serif;
 }
 
 small {
   font-size: 1.1rem;
   line-height: inherit;
 }
 
 blockquote {
   margin: 3rem 0;
   padding-left: 5rem;
   position: relative;
 }
 
 blockquote:before {
   content: "\201C";
   font-size: 10rem;
   line-height: 0px;
   margin: 0;
   color: rgba(0, 0, 0, 0.3);
   font-family: arial, sans-serif;
   position: absolute;
   top: 3.6rem;
   left: 0;
 }
 
 blockquote p {
   font-family: "muli-light", sans-serif;
   padding: 0;
   font-size: 1.9rem;
   line-height: 1.895;
 }
 
 blockquote cite {
   display: block;
   font-size: 1.3rem;
   font-style: normal;
   line-height: 1.615;
 }
 
 blockquote cite:before {
   content: "\2014 \0020";
 }
 
 blockquote cite a,
 blockquote cite a:visited {
   color: #838383;
   border: none;
 }
 
 abbr {
   font-family: "muli-bold", sans-serif;
   font-variant: small-caps;
   text-transform: lowercase;
   letter-spacing: .05rem;
   color: #838383;
 }
 
 var, kbd, samp, code, pre {
   font-family: Consolas, "Andale Mono", Courier, "Courier New", monospace;
 }
 
 pre {
   padding: 2.4rem 3rem 3rem;
   background: #F1F1F1;
 }
 
 code {
   font-size: 1.4rem;
   margin: 0 .2rem;
   padding: .3rem .6rem;
   white-space: nowrap;
   background: #F1F1F1;
   border: 1px solid #E1E1E1;
   border-radius: 3px;
 }
 
 pre>code {
   display: block;
   white-space: pre;
   line-height: 2;
   padding: 0;
   margin: 0;
 }
 
 pre.prettyprint>code {
   border: none;
 }
 
 del {
   text-decoration: line-through;
 }
 
 abbr[title],
 dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
   text-decoration: none;
 }
 
 mark {
   background: #FFF49B;
   color: #000;
 }
 
 hr {
   border: solid rgba(0, 0, 0, 0.1);
   border-width: 1px 0 0;
   clear: both;
   margin: 2.4rem 0 1.5rem;
   height: 0;
 }
 
 
 /* ------------------------------------------------------------------- 
  * Lists - (_document-setup.scss)  
  * ------------------------------------------------------------------- */
 
 ol {
   list-style: decimal;
 }
 
 ul {
   list-style: disc;
 }
 
 li {
   display: list-item;
 }
 
 ol,
 ul {
   margin-left: 1.7rem;
 }
 
 ul li {
   padding-left: .4rem;
 }
 
 ul ul,
 ul ol,
 ol ol,
 ol ul {
   margin: .6rem 0 .6rem 1.7rem;
 }
 
 ul.disc li {
   display: list-item;
   list-style: none;
   padding: 0 0 0 .8rem;
   position: relative;
 }
 
 ul.disc li::before {
   content: "";
   display: inline-block;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #DBB345;
   position: absolute;
   left: -17px;
   top: 11px;
   vertical-align: middle;
 }
 
 dt {
   margin: 0;
   color: #DBB345;
 }
 
 dd {
   margin: 0 0 0 2rem;
 }
 
 
 /* ------------------------------------------------------------------- 
  * Spacing - (_document-setup)  
  * ------------------------------------------------------------------- */
 
 button,
 .button {
   margin-bottom: 1.2rem;
 }
 
 fieldset {
   margin-bottom: 1.5rem;
 }
 
 input,
 textarea,
 select,
 pre,
 blockquote,
 figure,
 table,
 p,
 ul,
 ol,
 dl,
 form,
 .fluid-video-wrapper,
 .ss-custom-select {
   margin-bottom: 3rem;
 }
 
 
 /* ------------------------------------------------------------------- 
  * floated image - (_document-setup)  
  * ------------------------------------------------------------------- */
 
 img.pull-right {
   margin: 1.5rem 0 0 3rem;
 }
 
 img.pull-left {
   margin: 1.5rem 3rem 0 0;
 }
 
 
 /* ------------------------------------------------------------------- 
  * block grids paddings
  * ------------------------------------------------------------------- */
 
 .bgrid {
   padding: 0 20px;
 }
 
 @media only screen and (max-width: 1024px) {
   .bgrid {
     padding: 0 18px;
   }
 }
 
 @media only screen and (max-width: 768px) {
   .bgrid {
     padding: 0 15px;
   }
 }
 
 @media only screen and (max-width: 600px) {
   .bgrid {
     padding: 0 10px;
   }
 }
 
 @media only screen and (max-width: 400px) {
   .bgrid {
     padding: 0;
   }
 }
 
 
 /* ------------------------------------------------------------------- 
  * tables - (_document-setup.scss)  
  * ------------------------------------------------------------------- */
 
 table {
   border-width: 0;
   width: 100%;
   max-width: 100%;
   font-family: "muli-regular", sans-serif;
 }
 
 th,
 td {
   padding: 1.5rem 3rem;
   text-align: left;
   border-bottom: 1px solid #E8E8E8;
 }
 
 th {
   color: #151515;
   font-family: "montserrat-bold", sans-serif;
 }
 
 td {
   line-height: 1.5;
 }
 
 th:first-child,
 td:first-child {
   padding-left: 0;
 }
 
 th:last-child,
 td:last-child {
   padding-right: 0;
 }
 
 .table-responsive {
   overflow-x: auto;
   -webkit-overflow-scrolling: touch;
 }
 
 
 /* ------------------------------------------------------------------- 
  * pace.js styles - center simple  - (_document-setup.scss)
  * ------------------------------------------------------------------- */
 
 .pace {
   -webkit-pointer-events: none;
   pointer-events: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   user-select: none;
   z-index: 2000;
   position: fixed;
   margin: auto;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   height: 5px;
   width: 150px;
   background: #dedede;
   overflow: hidden;
 }
 
 .pace .pace-progress {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
   -webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
   -ms-transform: translate3d(0, 0, 0);
   -o-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
   max-width: 150px;
   position: fixed;
   z-index: 2000;
   display: block;
   position: absolute;
   top: 0;
   right: 100%;
   height: 100%;
   width: 100%;
   background: #DBB345;
 }
 
 .pace.pace-inactive {
   display: none;
 }
 
 .oldie .pace {
   display: none;
 }
 
 
 /* ===================================================================
  *  04. preloader - (_preloader-blank.scss)
  *
  * ------------------------------------------------------------------- */
 
 #preloader {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: #ffffff;
   z-index: 800;
   height: 100%;
   width: 100%;
 }
 
 .no-js #preloader,
 .oldie #preloader {
   display: none;
 }
 
 
 /* ===================================================================
  *  05. forms - (_forms.scss)
  *
  * ------------------------------------------------------------------- */
 
 fieldset {
   border: none;
 }
 
 input[type="email"],
 input[type="number"],
 input[type="search"],
 input[type="text"],
 input[type="tel"],
 input[type="url"],
 input[type="password"],
 textarea,
 select {
   display: block;
   height: 6rem;
   padding: 1.5rem 2rem;
   border: 0;
   outline: none;
   color: #333333;
   font-family: "muli-regular", sans-serif;
   font-size: 1.5rem;
   line-height: 3rem;
   max-width: 100%;
   background: rgba(0, 0, 0, 0.1);
   -webkit-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
   border-radius: 5px;
 }
 
 .ss-custom-select {
   position: relative;
   padding: 0;
 }
 
 .ss-custom-select select {
   -webkit-appearance: none;
   -moz-appearance: none;
   -ms-appearance: none;
   -o-appearance: none;
   appearance: none;
   text-indent: 0.01px;
   text-overflow: '';
   margin: 0;
   line-height: 3rem;
   vertical-align: middle;
 }
 
 .ss-custom-select select option {
   padding-left: 2rem;
   padding-right: 2rem;
 }
 
 .ss-custom-select select::-ms-expand {
   display: none;
 }
 
 .ss-custom-select::after {
   content: '\f0d7';
   font-family: 'FontAwesome';
   position: absolute;
   top: 50%;
   right: 1.5rem;
   margin-top: -10px;
   bottom: auto;
   width: 20px;
   height: 20px;
   line-height: 20px;
   font-size: 18px;
   text-align: center;
   pointer-events: none;
   color: #252525;
 }
 
 
 /* IE9 and below */
 
 .oldie .ss-custom-select::after {
   display: none;
 }
 
 textarea {
   min-height: 15rem;
 }
 
 input[type="email"]:focus,
 input[type="number"]:focus,
 input[type="search"]:focus,
 input[type="text"]:focus,
 input[type="tel"]:focus,
 input[type="url"]:focus,
 input[type="password"]:focus,
 textarea:focus,
 select:focus {
   color: #000000;
 }
 
 label,
 legend {
   font-family: "montserrat-bold", sans-serif;
   font-size: 1.4rem;
   margin-bottom: .6rem;
   color: #151515;
   display: block;
 }
 
 input[type="checkbox"],
 input[type="radio"] {
   display: inline;
 }
 
 label>.label-text {
   display: inline-block;
   margin-left: 1rem;
   font-family: "montserrat-regular", sans-serif;
   line-height: inherit;
 }
 
 label>input[type="checkbox"],
 label>input[type="radio"] {
   margin: 0;
   position: relative;
   top: .15rem;
 }
 
 
 /* ------------------------------------------------------------------- 
  * Style Placeholder Text - (_forms.scss)
  * ------------------------------------------------------------------- */
 
 ::-webkit-input-placeholder {
   color: #838383;
 }
 
 :-moz-placeholder {
   color: #838383;
   /* Firefox 18- */
 }
 
 ::-moz-placeholder {
   color: #838383;
   /* Firefox 19+ */
 }
 
 :-ms-input-placeholder {
   color: #838383;
 }
 
 .placeholder {
   color: #838383 !important;
 }
 
 
 /* ------------------------------------------------------------------- 
  * Change Autocomplete styles in Chrome - (_forms.scss)
  * ------------------------------------------------------------------- */
 
 input:-webkit-autofill,
 input:-webkit-autofill:hover,
 input:-webkit-autofill:focus input:-webkit-autofill,
 textarea:-webkit-autofill,
 textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
 select:-webkit-autofill,
 select:-webkit-autofill:hover,
 select:-webkit-autofill:focus {
   border: none;
   -webkit-text-fill-color: #DBB345;
   transition: background-color 5000s ease-in-out 0s;
 }
 
 
 
 /* ===================================================================
  *  06. buttons - (_button-essentials.scss)
  *
  * ------------------------------------------------------------------- */
 
 .button,
 button,
 input[type="submit"],
 input[type="reset"],
 input[type="button"] {
   display: inline-block;
   font-family: "montserrat-regular", sans-serif;
   font-size: 1.5rem;
   height: 5.4rem;
   line-height: calc(5.4rem - .6rem);
   padding: 0 3rem;
   margin: 0 .3rem 1.2rem 0;
   color: #222222;
   text-decoration: none;
   cursor: pointer;
   text-align: center;
   white-space: nowrap;
   border-radius: .5rem;
   -webkit-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
   background-color: #c5c5c5;
   border: .3rem solid #c5c5c5;
 }
 
 .button:hover,
 button:hover,
 input[type="submit"]:hover,
 input[type="reset"]:hover,
 input[type="button"]:hover,
 .button:focus,
 button:focus,
 input[type="submit"]:focus,
 input[type="reset"]:focus,
 input[type="button"]:focus {
   background-color: #b8b8b8;
   border-color: #b8b8b8;
   color: #000000;
   outline: 0;
 }
 
 .button.button-primary,
 button.button-primary,
 input[type="submit"].button-primary,
 input[type="reset"].button-primary,
 input[type="button"].button-primary {
   background-color: #DBB345;
   border-color: #DBB345;
   color: #FFFFFF;
 }
 
 .button.button-primary:hover,
 button.button-primary:hover,
 input[type="submit"].button-primary:hover,
 input[type="reset"].button-primary:hover,
 input[type="button"].button-primary:hover,
 .button.button-primary:focus,
 button.button-primary:focus,
 input[type="submit"].button-primary:focus,
 input[type="reset"].button-primary:focus,
 input[type="button"].button-primary:focus {
   background: #ffffff;
   border-color: #DBB345;
   color: #DBB345
 }
 
 button.full-width,
 .button.full-width {
   width: 100%;
   margin-right: 0;
 }
 
 button.medium,
 .button.medium {
   height: 5.7rem !important;
   line-height: calc(5.7rem - .6rem) !important;
 }
 
 button.large,
 .button.large {
   height: 4rem !important;
   line-height: calc(4rem - .4rem) !important;
 }
 
 button.stroke,
 .button.stroke {
   background: transparent !important;
   color: #a5a5a5 !important;
 }
 
 button.stroke:hover,
 .button.stroke:hover {
   border: 0.3rem solid #DBB345;
   color: #DBB345;
 }
 
 button.pill,
 .button.pill {
   padding-left: 3rem !important;
   padding-right: 3rem !important;
   border-radius: 1000px;
 }

 button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}



/* ===================================================================
 *  07. other components - (_others.scss)
 *
 * ------------------------------------------------------------------- */


/* ------------------------------------------------------------------- 
 * alert box - (_alert-box.scss)
 * ------------------------------------------------------------------- */

.alert-box {
  padding: 2.1rem 4rem 2.1rem 3rem;
  position: relative;
  margin-bottom: 3rem;
  border-radius: 3px;
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.5rem;
}

.alert-box .close {
  position: absolute;
  right: 1.8rem;
  top: 1.8rem;
  cursor: pointer;
}

.ss-error {
  background-color: #ffd1d2;
  color: #e65153;
}

.ss-success {
  background-color: #c8e675;
  color: #758c36;
}

.ss-info {
  background-color: #d7ecfb;
  color: #4a95cc;
}

.ss-notice {
  background-color: #fff099;
  color: #bba31b;
}


/* ------------------------------------------------------------------- 
 * additional typo styles - (_additional-typo.scss)
 * ------------------------------------------------------------------- */


/* drop cap 
 * ----------------------------------------------- */

.drop-cap:first-letter {
  float: left;
  margin: 0;
  padding: 1.5rem .6rem 0 0;
  font-size: 8.4rem;
  font-family: "montserrat-bold", sans-serif;
  line-height: 6rem;
  text-indent: 0;
  background: transparent;
  color: #151515;
}


/* line definition style 
 * ----------------------------------------------- */

.lining dt,
.lining dd {
  display: inline;
  margin: 0;
}

.lining dt+dt:before,
.lining dd+dt:before {
  content: "\A";
  white-space: pre;
}

.lining dd+dd:before {
  content: ", ";
}

.lining dd+dd:before {
  content: ", ";
}

.lining dd:before {
  content: ": ";
  margin-left: -0.2em;
}


/* dictionary definition style 
 * ----------------------------------------------- */

.dictionary-style dt {
  display: inline;
  counter-reset: definitions;
}

.dictionary-style dt+dt:before {
  content: ", ";
  margin-left: -0.2em;
}

.dictionary-style dd {
  display: block;
  counter-increment: definitions;
}

.dictionary-style dd:before {
  content: counter(definitions, decimal) ". ";
}


/** 
 * Pull Quotes
 * -----------
 * markup:
 *
 * <aside class="pull-quote">
 *		<blockquote>
 *			<p></p>
 *		</blockquote>
 *	</aside>
 *
 * --------------------------------------------------------------------- */

.pull-quote {
  position: relative;
  padding: 2.1rem 3rem 2.1rem 0px;
}

.pull-quote:before,
.pull-quote:after {
  height: 1em;
  position: absolute;
  font-size: 10rem;
  font-family: Arial, Sans-Serif;
  color: rgba(0, 0, 0, 0.3);
}

.pull-quote:before {
  content: "\201C";
  top: -3.6rem;
  left: 0;
}

.pull-quote:after {
  content: '\201D';
  bottom: 3.6rem;
  right: 0;
}

.pull-quote blockquote {
  margin: 0;
}

.pull-quote blockquote:before {
  content: none;
}


/** 
 * Stats Tab
 * ---------
 * markup:
 *
 * <ul class="stats-tabs">
 *		<li><a href="#">[value]<em>[name]</em></a></li>
 *	</ul>
 *
 * Extend this object into your markup.
 *
 * --------------------------------------------------------------------- */

.stats-tabs {
  padding: 0;
  margin: 3rem 0;
}

.stats-tabs li {
  display: inline-block;
  margin: 0 1.5rem 3rem 0;
  padding: 0 1.5rem 0 0;
  border-right: 1px solid #ccc;
}

.stats-tabs li:last-child {
  margin: 0;
  padding: 0;
  border: none;
}

.stats-tabs li a {
  display: inline-block;
  font-size: 2.5rem;
  font-family: "montserrat-semibold", sans-serif;
  border: none;
  color: #151515;
}

.stats-tabs li a:hover {
  color: #DBB345;
}

.stats-tabs li a em {
  display: block;
  margin: .6rem 0 0 0;
  font-size: 1.4rem;
  font-family: "montserrat-regular", sans-serif;
  color: #909090;
}



/* ===================================================================
 *  08. common and reusable theme styles 
 *
 * ------------------------------------------------------------------- */

h1.intro-header {
  font-family: "montserrat-regular", sans-serif;
  font-size: 3.4rem;
  line-height: 1.324;
  color: #151515;
  position: relative;
  padding-bottom: 3.6rem;
}

h1.intro-header::before {
  display: block;
  content: "";
  height: 2px;
  width: 70px;
  background-color: #DBB345
  left: 0;
  bottom: 0;
}

.wide {
  max-width: 1300px;
}

.narrow {
  max-width: 800px;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * common styles
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 768px) {
  h1.intro-header {
    font-size: 3.1rem;
  }
}

@media only screen and (max-width: 600px) {
  h1.intro-header {
    font-size: 2.6rem;
  }
}



/* ===================================================================
 *  09. header styles - (_site-layout.scss)
 *
 * ------------------------------------------------------------------- */

#header {
  width: 100%;
  height: 72px;
  background-color: #ffffff;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 501;
}


/* ------------------------------------------------------------------- 
 * header logo - (_site-layout.css) 
 * ------------------------------------------------------------------- */

.header-logo {
  position: absolute;
  left: 40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  z-index: 501;
}

.header-logo a {
  display: block;
  margin: 0;
  padding: 0;
  outline: 0;
  border: none;
  width: 100px;
  height: 100px;
  background: url("../images/logo.png") no-repeat center;
  background-size: 100px 100px;
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/* ------------------------------------------------------------------- 
 * menu trigger - (_site-layout.css) 
 * ------------------------------------------------------------------- */

.header-menu-toggle {
  display: none;
  position: fixed;
  right: 32px;
  top: 15px;
  height: 42px;
  width: 42px;
  line-height: 42px;
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: .2rem;
  color: rgba(255, 255, 255, 0.5);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.header-menu-toggle:hover,
.header-menu-toggle:focus {
  color: #FFFFFF;
}

.header-menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin-top: -1px;
  position: absolute;
  left: 9px;
  top: 50%;
  right: auto;
  bottom: auto;
  background-color: white;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
}

.header-menu-toggle span::before,
.header-menu-toggle span::after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: inherit;
  position: absolute;
  left: 0;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.header-menu-toggle span::before {
  top: -9px;
}

.header-menu-toggle span::after {
  bottom: -9px;
}

.header-menu-toggle.is-clicked span {
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}

.header-menu-toggle.is-clicked span::before,
.header-menu-toggle.is-clicked span::after {
  background-color: white;
}

.header-menu-toggle.is-clicked span::before {
  top: 0;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}

.header-menu-toggle.is-clicked span::after {
  bottom: 0;
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  transform: rotate(225deg);
}


/* ------------------------------------------------------------------- 
 * navigation - (_layout.scss) 
 * ------------------------------------------------------------------- */

#header-nav-wrap {
  font-family: "montserrat-medium", sans-serif;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 40px;
}

#header-nav-wrap .header-main-nav {
  display: inline-block;
  list-style: none;
  height: 72px;
  margin: 0 1rem 0 0;
}

#header-nav-wrap .header-main-nav li {
  display: inline-block;
  padding-left: 0;
  margin-right: 1.5rem;
}

#header-nav-wrap .header-main-nav li a {
  display: block;
  line-height: 72px;
}

/* Estilo para o item ativo do menu */
.header-main-nav li.active a {
  color: #dbb345; /* Altera a cor do texto para laranja */
}


#header-nav-wrap .header-main-nav li a,
#header-nav-wrap .header-main-nav li a:visited {
  color: rgba(0, 0, 0, 1);
}

#header-nav-wrap .header-main-nav li a:hover,
#header-nav-wrap .header-main-nav li a:focus {
  color: #dbb345;
}

#header-nav-wrap .header-main-nav li.current a {
  color: #000000;
}

#header-nav-wrap .cta {
  height: 3.6rem;
  line-height: calc(3.6rem - .6rem);
  padding: 0 1.5rem;
  font-family: "montserrat-medium", sans-serif;
  font-size: 14px;
  text-transform: none;
  letter-spacing: normal;
  margin: 0;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * header
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 1230px) {
  #header {
    max-width: none;
  }
}

@media only screen and (max-width: 768px) {
  .header-logo a {
    width: 88px;
    height: 20px;
    background-size: 88px 20px;
  }
  #header-nav-wrap {
    display: none;
    height: auto;
    width: 100%;
    right: auto;
    left: 0;
    background-color: #111111;
    padding: 120px 40px 54px;
  }
  #header-nav-wrap .header-main-nav {
    display: block;
    height: auto;
    margin: 0 0 4.2rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
  }
  #header-nav-wrap .header-main-nav li {
    display: block;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  }
  #header-nav-wrap .header-main-nav li a {
    padding: 18px 0;
    line-height: 18px;
  }
  #header-nav-wrap .cta {
    height: 42px;
    line-height: calc(42px - .6rem);
    padding: 0 30px;
  }
  .header-menu-toggle {
    display: block;
  }
}

@media only screen and (max-width: 600px) {
  #header-nav-wrap .cta {
    display: block;
    padding: 0 20px;
  }
}

@media only screen and (max-width: 400px) {
  .header-menu-toggle {
    right: 24px;
  }
}


/* -------------------------------------------------------------------
 * make sure the menu is visible on larger screens
 * ------------------------------------------------------------------- */

@media only screen and (min-width: 769px) {
  #header-nav-wrap {
    display: block !important;
  }
}



/* ===================================================================
 *  10. home - (_site-layout.scss)
 *
 * ------------------------------------------------------------------- */

#home {
  width: 100%;
  height:90%;
  min-height: 786px;
  background-color: transparent;
  position: relative;
  display: table;
}

#home .shadow-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%;
  opacity: .2;
  background: -moz-linear-gradient(left, black 0%, black 20%, transparent 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, black 0%, black 20%, transparent 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, black 0%, black 20%, transparent 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000', GradientType=1);
  /* IE6-9 */
}

#home .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .3;
  background-color: #000000;
}

.no-js #home {
  background: #151515;
}

.home-content {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

.home-content .contents {
  position: relative;
}

.home-content-left {
  padding: 15rem 0 12rem 40px;
  position: relative;
  width: 50%;
}

.home-content-left h3 {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.6rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .2rem;
  margin-bottom: 2.4rem;
}

.home-content-left h1 {
  font-family: "montserrat-regular", sans-serif;
  font-size: 5.2rem;
  letter-spacing: -.05rem;
  line-height: 1.269;
  color: #ffffff;
  margin-bottom: 9rem;
}

.home-content-left .button.stroke {
  color: #ffffff !important;
  border-color: #ffffff;
  margin: 0 .6rem 1.2rem;
  padding: 0 2.2rem;
  min-width: 188px;
}

.home-content-left .button.stroke span[class*="icon"] {
  margin-right: 5px;
  position: relative;
  top: 2px;
}

.home-content-left .button.stroke:hover,
.home-content-left .button.stroke:focus {
  background-color: white !important;
  color: #000000 !important;
}

.home-image-right {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding-top: 21rem;
  z-index: 500;
  width: 50%;
  text-align: right;
}

.home-image-right img {
  vertical-align: bottom;
  width: 75%;
}


/* home social-list */

.home-social-list {
  position: absolute;
  right: 42px;
  top: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 2.2rem;
  line-height: 1.75;
  text-align: center;
  -webkit-transform: translateY(-55%);
  -ms-transform: translateY(-55%);
  transform: translateY(-55%);
}

.home-social-list::before {
  display: block;
  content: "";
  width: 2px;
  height: 42px;
  background-color: rgb(255, 255, 255);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
}

.home-social-list li {
  padding-left: 0;
}

.home-social-list li a,
.home-social-list li a:visited {
  color: #FFFFFF;
}

.home-social-list li a:hover,
.home-social-list li a:focus,
.home-social-list li a:active {
  color: rgb(219, 179, 69);
}


.home-social-list li a i {
  color: #FFFFFF;
}

/* scroll down */

.home-scrolldown {
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  float: right;
}

.home-scrolldown i {
  padding-left: 9px;
}

.home-scrolldown a:hover,
.home-scrolldown a:focus {
  color: #DBB345 !important;
}

html[data-useragent*='MSIE 10.0'] .home-scrolldown,
.oldie .home-scrolldown {
  display: none;
}

.scroll-icon {
  display: inline-block;
  font-family: "montserrat-medium", sans-serif;
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: .3rem;
  color: #FFFFFF !important;
  background: transparent;
  position: relative;
  top: 36px;
  right: 42px;
  -webkit-animation: animate-it 3s ease infinite;
  animation: animate-it 3s ease infinite;
}

.scroll-icon i {
  font-size: 2.4rem;
  position: relative;
  bottom: -6px;
}


/* vertical animation */

@-webkit-keyframes animate-it {
  0%,
  60%,
  80%,
  100% {
    -webkit-transform: translateX(0);
  }
  0%,
  60%,
  80%,
  100% {
    transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(-5px);
  }
  20% {
    transform: translateX(-5px);
  }
  40% {
    -webkit-transform: translateX(20px);
  }
  40% {
    transform: translateX(20px);
  }
}

@keyframes animate-it {
  0%,
  60%,
  80%,
  100% {
    -webkit-transform: translateX(0);
  }
  0%,
  60%,
  80%,
  100% {
    transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(-5px);
  }
  20% {
    transform: translateX(-5px);
  }
  40% {
    -webkit-transform: translateX(20px);
  }
  40% {
    transform: translateX(20px);
  }
}


/* ------------------------------------------------------------------- 
 * responsive:
 * home section 
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 1300px) {
  .home-image-right {
    right: 5rem;
  }
}

@media only screen and (max-width: 1200px) {
  #home {
    overflow: hidden;
  }
  .home-content {
    vertical-align: middle;
  }
  .home-content-left {
    padding: 18rem 0 12rem 40px;
  }
  .home-content-left h3 {
    font-size: 1.5rem;
  }
  .home-content-left h1 {
    font-size: 4.8rem;
  }
  .home-image-right {
    padding-top: 18rem;
  }
  .home-image-right img {
    vertical-align: top;
    width: 70%;
  }
}

@media only screen and (max-width: 1100px) {
  .home-content-left h1 {
    font-size: 4.6rem;
  }
  .home-content-left h1 br {
    display: none;
  }
}

@media only screen and (max-width: 1024px) {
  .home-content-left {
    width: 60%;
    padding: 18rem 6rem 12rem 4rem;
  }
  .home-content-left h3 {
    font-size: 1.5rem;
  }
  .home-content-left h1 {
    font-size: 4.2rem;
  }
  .home-image-right {
    width: 40%;
    padding-top: 120px;
  }
  .home-image-right img {
    vertical-align: top;
    width: 100%;
  }
}

@media only screen and (max-width: 900px) {
  #home {
    height: auto;
    min-height: 840px;
  }
  #home,
  .home-content {
    display: block;
    text-align: center;
  }
  .home-content-left {
    width: 94%;
    position: static;
    padding: 15rem 6rem 366px;
    margin: 0 auto;
  }
  .home-content-left h1 {
    margin-bottom: 3.6rem;
  }
  .home-image-right {
    width: 400px;
    right: auto;
    top: auto;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 0;
    margin-bottom: -378px;
  }
}

@media only screen and (max-width: 768px) {
  #home {
    min-height: auto;
  }
  .home-content-left h3 {
    font-size: 1.4rem;
  }
  .home-content-left h1 {
    font-size: 3.6rem;
  }
}

@media only screen and (max-width: 600px) {
  .home-content-left {
    padding: 12rem 6rem 366px;
  }
  .home-content-left h1 {
    font-size: 3.3rem;
  }
  .home-content-left .button.stroke {
    width: 100%;
    min-width: 0;
    max-width: 280px;
  }
  .home-social-list {
    font-size: 2rem;
    right: 30px;
  }
  .scroll-icon {
    top: 21px;
  }
}

@media only screen and (max-width: 500px) {
  .home-social-list,
  .home-scrolldown {
    display: none;
  }
  .home-content-left {
    padding: 12rem 2.5rem 366px;
    width: 100%;
  }
  .home-content-left h1 {
    font-size: 3rem;
  }
}

@media only screen and (max-width: 400px) {
  .home-content-left {
    padding: 12rem 0 300px;
  }
  .home-content-left .button.stroke {
    margin: 0 0 1.2rem 0;
  }
  .home-image-right {
    width: 320px;
    margin-bottom: -298px;
  }
}



/* ===================================================================
 *  11. about - (_layout.scss)
 *
 * ------------------------------------------------------------------- */

#about {
  min-height: 786px;
  background: #ffffff;
  padding-top: 10rem;
  overflow: hidden;
}

.about-intro {
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.about-features {
  display: flex;
  justify-content: space-between; /* Distribui os itens com espaço entre eles */
  flex-wrap: wrap; /* Permite que os itens se ajustem em várias linhas, se necessário */
}

.bgrid.feature {
  flex: 1 1 25%; /* Define uma largura flexível, ajustando para que quatro itens caibam em uma linha */
  box-sizing: border-box; /* Garante que o padding seja incluído na largura total */
  margin: 0 15px 30px; /* Espaçamento entre os itens */
  text-align: center; /* Centraliza o conteúdo dos itens */
  display: flex; /* Adiciona flexbox para alinhar os conteúdos internamente */
  flex-direction: column;
  justify-content: flex-start; /* Alinha todos os itens ao topo */
  align-items: center; /* Centraliza os itens horizontalmente */
  min-height: 400px; /* Define uma altura mínima para que todos tenham o mesmo tamanho */
}

.service-content {
  padding: 20 px;
}

@media (max-width: 1024px) {
  .bgrid.feature {
      flex: 1 1 45%; /* Em telas menores, mostra dois itens por linha */
      margin: 0 10px 30px; /* Ajusta o espaçamento em telas menores */
    }
}

@media (max-width: 768px) {
  .bgrid.feature {
      flex: 1 1 100%; /* Em telas muito pequenas, cada item ocupa uma linha inteira */
      margin: 0 0 25px;
      min-height: auto; /* Remove a altura mínima para telas pequenas */ 
    }
}

.about-features .features-list {
  padding-top: 1rem;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.about-features .feature {
  display: flex;
  flex-direction: column;     /* Coloca o ícone acima do texto */
  align-items: center;        /* Centraliza o ícone e o texto horizontalmente */
  margin-bottom: 1.8rem;
  text-align: center;         /* Centraliza o texto abaixo do ícone */
}

.about-features .feature .icon {
  margin-bottom: 1.5rem;
  display: inline-block;
}

.about-features .feature .icon i {
  color: #DBB345;
  font-size: 4.8rem;
}

.about-features .feature h3 {
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.9rem;
  color: #151515;
  margin-bottom: 3rem;
}

.about-how {
  padding-top: 7.2rem;
  padding-bottom: 6rem;
}

.about-how h1.intro-header {
  text-align: center;
}

#about .about-how h1.intro-header::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.about-how-content {
  position: relative;
  width: 100%;
  max-width: 1000px;
  min-height: 300px;
  margin-top: 7.2rem;
  margin-left: auto;
  margin-right: auto;
  clear: both;
}

.about-how-content::before,
.about-how-content::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
}

.about-how-content::before {
  left: 0;
}

.about-how-content::after {
  left: 50%;
}

.about-how-content .about-how-steps {
  width: 100%;
}

.about-how-content .step {
  padding: 0 40px 1.5rem 60px;
  position: relative;
  min-height: 240px;
}

.about-how-content .step h3 {
  margin-bottom: 2.4rem;
}

.about-how-content .step::before {
  display: block;
  font-family: "muli-bold";
  font-size: 2rem;
  content: attr(data-item);
  color: #ffffff;
  height: 54px;
  width: 54px;
  line-height: 54px;
  text-align: center;
  border-radius: 50%;
  background-color: #DBB345;
  box-shadow: 0 0 0 15px #ffffff;
  z-index: 500;
  position: absolute;
  top: -12px;
  left: -27px;
}

.about-bottom-image {
  overflow: hidden; /* Garante que o conteúdo se alinhe corretamente */
}

.about-bottom-image img {
  width: 50%;    /* A imagem ocupará 50% da largura do contêiner */
  height: auto;  /* Mantém a proporção da imagem */
  float: left;   /* Alinha a imagem à esquerda */
  margin-right: 20px; /* Espaço à direita */
  margin-top: 70px;   /* Espaço acima da imagem */
}

.text-content {
  float: left;      /* Alinha o texto à esquerda da imagem */
  width: 90%;       /* Define a largura do texto */
  margin-top: 70px; /* Espaço acima do texto para alinhar com a imagem */
}





/* ------------------------------------------------------------------- 
 * responsive:
 * about 
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 1200px) {
  .about-how-content {
    max-width: 800px;
  }
}

@media only screen and (max-width: 1024px) {
  .about-intro {
    max-width: 800px;
    text-align: center;
  }
  .about-intro h1::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .about-intro [class*="col-"] {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0;
    margin-right: 0;
  }
  .about-how-content {
    max-width: 700px;
  }
}

@media only screen and (max-width: 850px) {
  .about-how-content {
    max-width: 550px;
  }
  .about-how-content::after {
    display: none;
  }
  .about-how-content .step {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0;
    margin-right: 0;
    padding-right: 18px;
    min-height: auto;
    padding: 0 40px .9rem 60px;
  }
}

@media only screen and (max-width: 768px) {
  .about-features .feature .icon i {
    font-size: 4.4rem;
  }
  .about-features .feature h3 {
    font-size: 1.8rem;
  }
  .about-how h3 {
    font-size: 1.9rem;
  }
  .about-how-content::before {
    left: 30px;
  }
  .about-how-content .step {
    padding: 0 10px 0 80px;
  }
  .about-how-content .step::before {
    font-size: 1.6rem;
    height: 45px;
    width: 45px;
    line-height: 45px;
    top: -9px;
    left: 7.5px;
  }
}

@media only screen and (max-width: 650px) {
  .about-features {
    max-width: 600px;
    text-align: center;
  }
  .about-features .feature {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 4.5rem;
  }
  .about-features .feature h3 {
    margin-bottom: 1.5rem;
  }
}

@media only screen and (max-width: 400px) {
  .about-how-content {
    text-align: center;
  }
  .about-how-content::before {
    display: none;
  }
  .about-how-content .step {
    padding: 60px 0 0 0;
  }
  .about-how-content .step::before {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}



/* ===================================================================
 *  12. pricing - (_layout.scss)
 *
 * ------------------------------------------------------------------- */

#pricing {
  background: #ebebeb;
  padding-top: 15rem;
  padding-bottom: 12rem;
}

#pricing h1 {
  margin-bottom: 3.6rem;
}

.pricing-intro {
  padding-top: .6rem;
}

.pricing-table {
  text-align: center;
}

.pricing-table .plan-block {
  background: #ffffff;
  border-radius: 5px;
  padding: 4.8rem 4rem 5.4rem;
  margin-bottom: 4.8rem;
}

.pricing-table .plan-block:after {
  content: "";
  display: table;
  clear: both;
}

.pricing-table .plan-block .plan-block-title {
  font-family: "montserrat-regular", sans-serif;
  font-size: 2.4rem;
  margin-bottom: 3.6rem;
}

.pricing-table .plan-block .plan-block-price {
  font-family: "montserrat-medium", sans-serif;
  font-size: 7.8rem;
  color: #151515;
  line-height: 1;
  margin-bottom: 0;
}

.pricing-table .plan-block .plan-block-price sup {
  font-family: "montserrat-regular", sans-serif;
  font-size: 3rem;
  top: -3.6rem;
  margin-right: 3px;
}

.pricing-table .plan-block .plan-block-per {
  margin-top: -.6rem;
  margin-bottom: 0;
  font-family: "montserrat-medium", sans-serif;
  font-size: 1.7rem;
}

.pricing-table .plan-block .plan-block-features {
  list-style: none;
  margin: 0 2rem 4.2rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.pricing-table .plan-block .plan-block-features li {
  padding: 1.2rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.pricing-table .plan-block .plan-block-features li span {
  color: #DBB345;
  font-family: "muli-bold", sans-serif;
}

.pricing-table .plan-block.primary {
  background: #DBB345;
  color: rgba(255, 255, 255, 0.8);
}

.pricing-table .plan-block.primary .plan-block-title,
.pricing-table .plan-block.primary .plan-block-price {
  color: #ffffff;
}

.pricing-table .plan-block.primary .plan-block-features {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.pricing-table .plan-block.primary .plan-block-features li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.pricing-table .plan-block.primary .plan-block-features li span {
  color: #ffffff;
}

.pricing-table .plan-block.primary .button.button-primary {
  background: #ffffff;
  color: #151515;
  border-color: #ffffff;
}

.pricing-table .plan-block.primary .button.button-primary:hover,
.pricing-table .plan-block.primary .button.button-primary:focus {
  color: #DBB345;
}

.pricing-table .plan-bottom-part {
  margin-top: 3rem;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * pricing 
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 1024px) {
  #pricing .pricing-content>[class*="col"] {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0;
    margin-right: 0;
  }
  #pricing [class*="col"].pricing-intro {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 650px;
  }
  #pricing [class*="col"].pricing-intro h1::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #pricing [class*="col"].pricing-table {
    margin-top: 5.4rem;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width: 768px) {
  .pricing-table .plan-wrap {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0;
    margin-right: 0;
  }
  .pricing-table .plan-top-part,
  .pricing-table .plan-bottom-part {
    float: left;
  }
  .pricing-table .plan-top-part {
    width: 41.66667%;
    margin-top: 1.2rem;
  }
  .pricing-table .plan-bottom-part {
    width: 58.33333%;
  }
}

@media only screen and (max-width: 600px) {
  #pricing [class*="col"].pricing-table {
    max-width: 360px;
  }
  #pricing .plan-top-part,
  #pricing .plan-bottom-part {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0;
    margin-right: 0;
  }
}


/* ===================================================================
 *  13. testimonials - (_layout.scss)
 *
 * ------------------------------------------------------------------- */

#testimonials {
  background: #FFFFFF;
  padding: 15rem 0 9rem;
  text-align: center;
  min-height: 600px;
}

#testimonials h1::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

#testimonials .owl-wrap {
  width: 80%;
  max-width: 900px;
  margin: 4.2rem auto 0;
}

#testimonial-slider {
  margin: 0 0 3rem 0;
  position: relative;
}

#testimonial-slider .slides {
  padding-bottom: 3rem;
}

#testimonial-slider p {
  font-family: "muli-regular", sans-serif;
  font-size: 2.5rem;
  line-height: 1.5;
  color: #303030;
}

#testimonial-slider p::before,
#testimonial-slider p::after {
  display: inline-block;
  font-family: "muli-regular", serif;
  font-size: 3.6rem;
  line-height: 1;
  position: relative;
  top: .3rem;
}

#testimonial-slider p::before {
  content: '\201C';
}

#testimonial-slider p::after {
  content: '\201D';
}

#testimonial-slider .testimonial-author {
  margin-top: 4.2rem;
}

#testimonial-slider .testimonial-author img {
  width: 7.4rem;
  height: 7.4rem;
  margin: 0 auto 1.2rem auto;
  display: block;
  border-radius: 50%;
}

#testimonial-slider .testimonial-author .author-info {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-family: "montserrat-semibold", sans-serif;
  font-size: 1.9rem;
  margin-top: .9rem;
  margin-bottom: 3rem;
  color: #151515;
}

#testimonial-slider .testimonial-author .author-info span {
  display: block;
  font-family: "muli-bold", sans-serif;
  font-size: 1.6rem;
  line-height: 1.313;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(0, 0, 0, 0.5);
  margin-top: .3rem;
}


/* owl dots */

#testimonial-slider .owl-nav {
  margin-top: 1.8rem;
  margin-bottom: 1.5rem;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

#testimonial-slider .owl-nav [class*='owl-'] {
  color: #FFFFFF;
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.4rem;
  height: 3rem;
  line-height: 3rem;
  margin: .6rem;
  padding: 0 10px;
  background: rgba(0, 0, 0, 0.5);
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

#testimonial-slider .owl-nav [class*='owl-']:hover {
  background: rgba(0, 0, 0, 0.7);
  color: #FFFFFF;
  text-decoration: none;
}

#testimonial-slider .owl-nav .disabled {
  background: rgba(0, 0, 0, 0.2);
  cursor: default;
}

#testimonial-slider .owl-nav.disabled+.owl-dots {
  margin-top: 1.8rem;
}

#testimonial-slider .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

#testimonial-slider .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
  *display: inline;
}

#testimonial-slider .owl-dots .owl-dot span {
  width: 9px;
  height: 9px;
  background-color: #000000;
  margin: 9px 9px;
  display: block;
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  transition: opacity 200ms ease;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

#testimonial-slider .owl-dots .owl-dot.active span,
#testimonial-slider .owl-dots .owl-dot:hover span {
  background-color: #ffffff;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * testimonials
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 1024px) {
  #testimonial-slider p {
    font-size: 3rem;
  }
}

@media only screen and (max-width: 768px) {
  #testimonial-slider p {
    font-size: 2.6rem;
  }
  #testimonial-slider .testimonial-author img {
    width: 6.6rem;
    height: 6.6rem;
  }
  #testimonial-slider .testimonial-author .author-info {
    font-size: 1.8rem;
  }
  #testimonial-slider .testimonial-author .author-info span {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 600px) {
  #testimonials .owl-wrap {
    width: 90%;
  }
  #testimonial-slider p {
    font-size: 2.4rem;
  }
}

@media only screen and (max-width: 400px) {
  #testimonials .owl-wrap {
    width: 100%;
  }
  #testimonial-slider p {
    font-size: 2rem;
  }
}


/* ===================================================================
 *  14. download - (_layout.scss)
 *
 * ------------------------------------------------------------------- */

 #download {
  background: #DBB345; /* Cor de fundo */
  color: #b2fabc; /* Cor do texto */
  padding-top: 12rem; /* Espaçamento superior */
  padding-bottom: 12rem; /* Espaçamento inferior */
  text-align: center; /* Centraliza o texto */
  width: 100vw; /* Ocupa 100% da largura da viewport */
  margin-left: calc(-50vw + 50%); /* Alinha a seção corretamente ao centro */
  position: relative; /* Para permitir que o posicionamento absoluto funcione, se necessário */
}


/* ------------------------------------------------------------------- 
 * responsive:
 * download
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 768px) {
  #download .download-badges li a {
    width: 194px;
    height: 60px;
    background-size: 194px 60px;
  }
}



/* ===================================================================
 *  15. footer styles - (_site-layout.scss)
 *
 * ------------------------------------------------------------------- */

footer {
  font-size: 1.5rem;
  line-height: 2.7rem;
  color: rgba(0, 0, 0, 0.5);
}

footer a,
footer a:visited {
  color: #DBB345;
}

footer a:hover,
footer a:focus {
  color: white;
}

footer h4 {
  color: white;
  font-size: 1.5rem;
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
  position: relative;
}

footer h4::before {
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.05);
  position: absolute;
  left: 0;
  bottom: 0;
}

footer ul {
  list-style: none;
  margin: 0;
}

footer ul li {
  padding-left: 0;
}

footer ul a,
footer ul a:visited {
  color: rgba(255, 255, 255, 0.25);
}

.footer-logo {
  display: block;
  margin: 0 0 5.4rem 0;
  padding: 0;
  outline: 0;
  border: none;
  width: 93px;
  height: 21px;
  background: url("../images/logo.png") no-repeat center;
  background-size: 93px 21px;
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.footer-social-list {
  font-size: 1.8rem;
  margin-top: -1.5rem;
  margin-bottom: 3rem;
}

.footer-social-list li {
  display: inline-block;
  margin-right: 8px;
}

.footer-social-list li:last-child {
  margin-right: 0;
}

.footer-site-links .list-links {
  margin-bottom: 3rem;
}

.footer-subscribe .subscribe-form {
  margin: 0;
  padding: 0;
  position: relative;
}

.footer-subscribe #mc-form {
  width: 100%;
}

.footer-subscribe #mc-form input[type="email"] {
  width: 100%;
  height: 5.4rem;
  padding: 1.2rem 100px 1.2rem 60px;
  background: url(../images/email-icon.png) 20px center no-repeat, rgba(0, 0, 0, 0.1);
  background-size: 24px 16px, auto;
  margin-bottom: 1.8rem;
  color: rgba(255, 255, 255, 0.5);
}

.footer-subscribe #mc-form input[type="email"]:focus {
  color: #ffffff;
}

.footer-subscribe #mc-form input[type=submit] {
  position: absolute;
  top: 0;
  right: 0;
  color: #ffffff;
  background: #dbb345;
  border-color: #DBB345;
  border-radius: 0 .5rem .5rem 0;
  padding: 0 15px;
}

.footer-subscribe #mc-form label {
  color: #ffffff;
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.3rem;
  padding: 0 2rem;
}

.footer-subscribe #mc-form label i {
  padding-right: 6px;
}

.footer-subscribe #mc-form ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.2);
}

.footer-subscribe #mc-form :-moz-placeholder {
  color: rgba(255, 255, 255, 0.2);
  /* Firefox 18- */
}

.footer-subscribe #mc-form ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.2);
  /* Firefox 19+ */
}

.footer-subscribe #mc-form :-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.2);
}

.footer-subscribe #mc-form .placeholder {
  color: rgba(255, 255, 255, 0.2) !important;
}

.footer-bottom {
  margin-top: 6.6rem;
  text-align: center;
}

.footer-bottom .copyright span {
  display: inline-block;
}

.footer-bottom .copyright span::after {
  content: "|";
  display: inline-block;
  padding: 0 1rem 0 1.2rem;
  color: rgba(255, 255, 255, 0.1);
}

.footer-bottom .copyright span:last-child::after {
  display: none;
}


/* ------------------------------------------------------------------- 
 * go to top
 * ------------------------------------------------------------------- */

#go-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 600;
  display: none;
}

#go-top a,
#go-top a:visited {
  text-decoration: none;
  border: 0 none;
  display: block;
  height: 60px;
  width: 60px;
  line-height: 60px;
  text-align: center;
  background: black;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  text-transform: uppercase;
  border-radius: 5px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

#go-top a i,
#go-top a:visited i {
  font-size: 18px;
  line-height: inherit;
}

#go-top a:hover,
#go-top a:focus {
  color: #FFFFFF;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * footer 
 * ------------------------------------------------------------------- */

@media only screen and (max-width: 1024px) {
  .footer-main>.row {
    max-width: 800px;
  }
  .footer-info,
  .footer-contact,
  .footer-site-links {
    margin-bottom: 1.2rem;
  }
  .footer-subscribe {
    clear: both;
  }
}

@media only screen and (max-width: 768px) {
  .footer-main>.row {
    max-width: 600px;
  }
  .footer-logo {
    margin-left: auto;
    margin-right: auto;
  }
  .footer-info {
    text-align: center;
  }
  #go-top {
    bottom: 0;
    right: 0;
  }
  #go-top a,
  #go-top a:visited {
    border-radius: 5px 0 0 0;
  }
}

@media only screen and (max-width: 600px) {
  .footer-main .row {
    max-width: 480px;
  }
  .footer-main h4 {
    padding-bottom: 0;
    margin-bottom: 2.4rem;
  }
  .footer-main h4::before {
    display: none;
  }
  .footer-main ul.list-links {
    width: 80%;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-main ul.list-links li a {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    padding: .6rem 0;
  }
  .footer-main ul.list-links li:first-child a {
    border-top: 1px solid rgba(255, 255, 255, 0.03);
  }
  .footer-contact,
  .footer-site-links,
  .footer-subscribe {
    text-align: center;
  }
  .footer-bottom {
    padding-bottom: .6rem;
  }
  .footer-bottom .copyright span {
    display: block;
  }
  .footer-bottom .copyright span::after {
    display: none;
  }
}

#blog-section {
  padding-top: 50px; /* Espaço superior e inferior */
  background-color: #ffffff; /* Cor de fundo da seção */
}

#blog-section h1 {
  font-family: "montserrat-regular", sans-serif;
  font-size: 5rem;
  line-height: 1.324;
  color: #151515;
  text-align: center; /* Centraliza o texto */
  padding-bottom: 3rem; /* Espaço abaixo do título */
  padding-top: 3rem;
}


.custom-link:link,
.custom-link:visited {
  color: #DBB345; /* Mantém a cor desejada */
  text-decoration: underline; /* Sublinha o link */
  padding-top: 0px;
  padding-bottom: 5px;
}

.custom-link:hover {
  color: #000000; /* Cor preta ao passar o mouse */
}

.grid-item h2 {
  text-align: right; /* Alinha o texto do h2 à direita */
  margin: 0; /* Remove a margem padrão */
}


.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Cria três colunas de igual largura */
  gap: 30px; /* Espaço entre os itens do grid */
  max-width: 1200px; /* Largura máxima do grid */
  margin: 0 auto; /* Centraliza o grid */
}

.grid-item img {
  max-width: 100%; /* Garante que a imagem seja responsiva */
  height: auto; /* Mantém a proporção da imagem */
  border-radius: 8px; /* Cantos arredondados para a imagem */
}
body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f9f9f9;
}

#contact-section {  
  width: 100%; /* Faz com que o container ocupe toda a largura */
  min-height: 100vh; /* Faz com que o container ocupe toda a altura da viewport */
  padding-top: 30px;
  border-radius: 0px;
  position: relative; /* Mantenha a posição relativa para os elementos internos */
}



.contact-container {
  width: 100%; /* Faz com que o container ocupe toda a largura */
  max-width: 1000px; /* Adiciona uma largura máxima para o conteúdo */
  margin: 0 auto; /* Centraliza horizontalmente */
  display: flex; /* Faz com que os elementos filhos fiquem em uma linha */
  justify-content: space-between; /* Garante que haja espaço entre os dois blocos */
  background: rgba(255, 255, 255, 1);
  padding: 30px;
  margin-bottom: 10rem;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 2;
}

.contact-social-list {
  position: absolute;
  left: 42px;
  top: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 2.2rem;
  line-height: 1.75;
  text-align: center;
  -webkit-transform: translateY(-55%);
  -ms-transform: translateY(-55%);
  transform: translateY(-55%);
}

.contact-social-list::before {
  display: block;
  content: "";
  width: 2px;
  height: 42px;
  background-color: rgba(255, 255, 255, 0.15);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
}

.contact-social-list li {
  padding-left: 0;
}

.contact-social-list li a,
.home-social-list li a:visited {
  color: #0e0b0b;
}

.contact-social-list li a:hover,
.contact-social-list li a:focus,
.contact-social-list li a:active {
  color: rgb(219, 179, 69);
}



.contact-info {
  flex: 1; /* Faz com que a seção de informações ocupe 50% do espaço disponível */
  margin-right: 0%; /* Espaçamento entre os elementos */
}

.contact-form {
  flex: 1; /* Faz com que o formulário ocupe o espaço restante */
  margin-left: 20px;
}

.contact-info ul {
  list-style: none;
  padding: 0;
}

.contact-info li {
  margin-left: 0px 0;
}

.form-group {
  margin-bottom: 15px;
}

label {
  display: block;
  margin-bottom: 5px;
}

input, textarea {
  width: 100%; /* O campo de input agora ocupa 100% da largura dentro do bloco do formulário */
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
button {
  padding: 10px 15px;
  background-color: #DBB345; /* Cor de fundo laranja */
  color: white; /* Cor do texto */
  border: 2px solid #DBB345; /* Borda laranja */
  border-radius: 4px; /* Bordas arredondadas */
  cursor: pointer; /* Muda o cursor para indicar que é clicável */
  transition: background-color 0.3s, color 0.3s, border-color 0.3s; /* Transição suave para as mudanças */
  display: flex; /* Usa flexbox para centralização */
  justify-content: center; /* Centraliza horizontalmente */
  align-items: center; /* Centraliza verticalmente */
  height: 40px; /* Define uma altura fixa para o botão */
}

button:hover {
  background-color: #ffffff; /* Cor de fundo ao passar o mouse */
  color: #DBB345; /* Cor do texto ao passar o mouse */
  border: 2px solid #DBB345; /* Borda laranja ao passar o mouse */
}

#response-message {
  margin-top: 15px;
  text-align: center;
  color: #DBB345;
}


Dito pelo ChatGPT:
Parece que o código foi cortado no final. Você quer que eu revise algo específico ou precisa de ajuda para completar alguma parte? 🚀







Dito por si:
CSS PARTE 5

 body {
  height: 100%; /* Garante que o body e html ocupem 100% da altura da viewport */
  margin: 0; /* Remove margens padrão */
  height: 100vh; /* Faz o body ocupar toda a altura da viewport */
  background-size: cover; /* Cobre toda a área do body */
}

#contact-section h1{
font-family: "montserrat-regular", sans-serif;
color: #151515;
font-style:normal;
text-rendering: optimizeLegibility;
margin-bottom: 3rem;
margin-top: 3rem;
padding: 30px;
font-weight:bold;
font-size: 5rem;
line-height: 1.35;
letter-spacing: 0.2rem;
text-align: center;
}



#custom-section {
  width: 100%; /* Faz a seção ocupar 100% da largura do contêiner pai */
  max-width: 1200px; /* Ou o valor desejado para limitar a largura máxima */
  margin: 0 auto; /* Centraliza a seção na página */
  padding-top: 30px; /* Adiciona um espaçamento interno, ajuste conforme necessário */
  padding-bottom: 30px;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Cria três colunas de igual largura */
  gap: 30px; /* Espaço entre os itens do grid */
  max-width: 1200px; /* Largura máxima do grid */
  margin: 0 auto; /* Centraliza o grid */
}


#custom-section h1 {
  font-family: "montserrat-regular", sans-serif;
  color: #151515;
  font-style:normal;
  text-rendering: optimizeLegibility;
  margin-bottom: 3rem;
  margin-top: 3rem;
  padding: 30px;
  font-weight:bold;
  font-size: 5rem;
  line-height: 1.35;
  letter-spacing: 0.2rem;
  text-align: center;
  }

#custom-section h2 {
  font-size: 1.6rem;
  line-height: 1.25;
  font-weight:  1;
  font-family: "montserrat-regular", sans-serif;
  color: #151515;
  font-style:normal;
  text-rendering: optimizeLegibility;
  margin-bottom: 5rem;
  margin-top: 5rem;
}

@media (max-width: 768px) {
  #custom-section h1 {
      font-size: 2.5rem; /* Reduz o tamanho do título */
  }

  #custom-section h2, .section-list li {
      font-size: 1.5rem; /* Ajusta o texto das listas e subtítulos */
  }
}

@media (max-width: 480px) {
  #custom-section h1 {
      font-size: 2rem; /* Mais ajustes para telas muito pequenas */
  }

  #custom-section h2, .section-list li {
      font-size: 1.3rem; /* Texto menor em smartphones */
  }
}

.section-container {
  display: flex; /* Ativa o layout flexível */
  align-items: flex-start; /* Alinha os itens ao topo */
  justify-content: center; /* Centraliza o container, se necessário */
  padding-top: 5rem 0; /* Ajusta o padding superior e inferior */
  width: 100%; /* Garante que ocupa 100% da largura */
  height: 100%; /* Garante que ocupa 100% da altura */
}

/* Para telas menores que 768px (tablets e smartphones) */
@media (max-width: 768px) {
  .section-container {
      flex-direction: column; /* Coloca os elementos um embaixo do outro */
      align-items: center; /* Centraliza os elementos no centro */
  }

  .section-list {
      margin-left: 0; /* Remove a margem para melhor alinhamento */
      padding: 20px;
  }

  .section-image {
      padding: 0;
      margin-top: 20px;
  }
  
  .section-image img {
      max-width: 90%; /* Reduz a largura da imagem em telas menores */
      height: auto;
  }
}

/* Para telas menores que 480px (smartphones) */
@media (max-width: 480px) {
  .section-buttons a {
      width: 100%; /* Botões ocupam 100% da largura */
      margin-bottom: 10px;
  }
}


.section-list {
  flex: 1.5; /* Texto ocupa 2 partes */
  margin-left: 50px; /* Margem à direita para espaço entre o texto e a imagem */
}
.section-list ul {
    list-style: none;
    padding: 0;
  }
  

.section-list li {
  display: flex;
  align-items:baseline;
  font-size: 1.7rem; /* Tamanho de 16px */
  margin-bottom: 10px;
  color: #151515;
  font-style: normal;
  text-rendering: optimizeLegibility;
}

.section-list li i {
  margin-right: 10px;
  color: #DBB345; /* Cor do ícone */
  font-size: 1.7rem;
}

.section-image {
  flex: 1.5; /* Imagem ocupa 1 parte */
  flex-shrink: 0; /* Impede que a imagem encolha */
  padding-right: 50px; /* Adiciona espaço à esquerda da imagem */
  box-shadow: rgba(0, 0, 0, 0.2,)
}


.section-image img {
  height: auto;
  border-radius: 8px;
}


.section-buttons {
  display: flex; /* Faz com que os elementos filhos (links) fiquem em uma linha */
  justify-content: center; /* Centraliza os botões horizontalmente, se necessário */
  gap: 10px; /* Espaço entre os botões */
}

@media (max-width: 768px) {
  .section-buttons a {
      padding: 12px 20px; /* Botões um pouco maiores */
  }
}

.section-buttons a {
  padding: 10px 15px;
  background-color: #DBB345; /* Cor de fundo laranja */
  color: white; /* Cor do texto */
  border: 2px solid #DBB345; /* Borda laranja */
  border-radius: 4px; /* Bordas arredondadas */
  cursor: pointer; /* Muda o cursor para indicar que é clicável */
  text-decoration: none; /* Remove o sublinhado do link */
  display: flex; /* Usa flexbox para centralização */
  justify-content: center; /* Centraliza horizontalmente */
  align-items: center; /* Centraliza verticalmente */
  height: 40px; /* Define uma altura fixa para o botão */
  margin: 0 10px; /* Espaçamento entre os botões */
}

.section-buttons a:hover {
  background-color: #ffffff; /* Cor de fundo ao passar o mouse */
  color: #DBB345; /* Cor do texto ao passar o mouse */
  border: 2px solid #DBB345; /* Borda laranja ao passar o mouse */
}


.section h3 {
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.9rem;
  color: #151515;
}

#carousel-section {
  display: flex; /* Usar flexbox para alinhar os itens em linha */
  justify-content: space-between; /* Espaçamento igual entre os itens */
  align-items: center; /* Alinhar verticalmente ao centro */
  padding: 20px; /* Adicione um pouco de padding */
}

.carousel-container {
  position: relative;
  width: 100%; /* O carrossel ocupa 100% do contêiner pai */
  max-width: 600px; /* Defina a largura máxima conforme necessário */
  height: 800px; /* Define a altura do carrossel */
  margin: 0 auto;
  overflow: hidden; /* Impede que imagens além do limite sejam visíveis */
  border-radius: 8px;
}

.carousel-slide {
  display: flex;
  transition: transform 0.5s ease; /* Suaviza a transição entre slides */
  width: 100%; /* Certifique-se de que o contêiner de slides ocupe 100% do carrossel */
}

.carousel-slide img {
  flex: 0 0 100%; /* Cada imagem ocupa 100% da largura do contêiner */
  height: 100%; /* As imagens ocupam toda a altura do carrossel */
  object-fit: cover; /* Cobre o espaço sem distorcer a imagem */
  border-radius: 8px;
}


.text-content {
  flex: 1;
  max-width: 500px;
  margin-left: 20px; /* Ajuste a margem se necessário */
  align-self: flex-start; /* Alinha o texto ao topo do contêiner */
  margin-top: 0; /* Remove qualquer margem superior */
}

body {
  margin: 0; /* Remove a margem padrão do body */
}

#gallery {
  width: 100%;
  min-height: 100vh;
  padding-top: 30px; 
}

.gallery-container {
  display: grid; /* Usar Grid Layout para as imagens */
  grid-template-columns: repeat(3, 1fr); /* Cria três colunas de igual largura */
  gap: 10px; /* Espaço entre os itens do grid */
  max-width: 1200px; /* Largura máxima do grid */
  margin: 0 auto; /* Centraliza o grid */
  margin-bottom: 10rem;
}

.gallery-item {
  position: relative; /* Necessário para a imagem vertical */
}

.gallery-item img {
  width: 100%; /* As imagens ocuparão 100% da largura da coluna */
  height: auto; /* Mantém a proporção da imagem */
  border-radius: 8px; /* Bordas arredondadas para as imagens */
}

.vertical {
  grid-row: span 2; /* A imagem vertical ocupa duas linhas */
}

.horizontal {
  grid-column: span 2;
  height: 100%; /* Ocupará a altura máxima da célula */
}

.horizontal img {
  width: 100%; /* Ajusta a largura automaticamente */
  height: 86.6%; /* Força a altura a ser igual à das verticais */
}

#gallery h1 {
  font-family: "montserrat-regular", sans-serif;
  color: #151515;
  font-style:normal;
  text-rendering: optimizeLegibility;
  margin-bottom: 3rem;
  margin-top: 3rem;
  padding:30px;
  font-weight:bold;
  font-size: 5rem;
  line-height: 1.35;
  letter-spacing: 0.2rem;
  text-align: center;
  }

  @media (max-width: 480px) {
    #custom-section h1 {
        font-size: 2rem; /* Mais ajustes para telas muito pequenas */
    }

/* Ajustes do lightbox */
.lightbox {
  display: none; /* Oculto por padrão */
  position: absolute; /* Sobrepõe diretamente o gallery-container */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8); /* Fundo escurecido */
  z-index: 10; /* Para aparecer acima das imagens da galeria */
  justify-content: center;
  align-items: center;
  padding: 10px;
  overflow: hidden; /* Impede que a imagem ultrapasse os limites */
  pointer-events: none; /* Impede interação quando está oculto */
}

.gallery-container {
  position: relative; /* Permite que o lightbox seja posicionado dentro do container */
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Garantir que o footer fique na parte inferior da página */
footer {
  position: relative;
  bottom: 0;
  width: 100%;
  padding: 20px 0;
  background-color: #333;
  color: #fff;
  text-align: center;
}

/* Garantir que o conteúdo acima do footer não o empurre para baixo */
body {
  margin-bottom: 60px; /* Ajuste conforme necessário */
}

