@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");
:root {
  --primary: #212121;
  --secondary: #ffd100;
  --green:#00b81a;
  --gray:#4b5057; }

/*

	Media Query mixin

	See https://github.com/sass-mq/sass-mq/ for original full version.

	@example scss
	 .element {
	   @include mq($from: mobile) {
		 color: red;
	   }

	   @include mq($to: tablet) {
		 color: blue;
	   }

	   @include mq(mobile, tablet) {
		 color: green;
	   }

	   @include mq($from: tablet, $and: '(orientation: landscape)') {
		 color: teal;
	   }

	   @include mq(em(950px)) {
		 color: hotpink;
	   }

	   @include mq(em(950px), $media-feature: height) {
		 color: hotpink;
	   }

	   @include mq(tablet, $media-type: screen) {
		 color: hotpink;
	   }

	   // Advanced use:
	   $custom-breakpoints: (L: 900px, XL: 1200px);
	   @include mq(L, $bp: $custom-breakpoints) {
		 color: hotpink;
	   }
	 }

*/
/*

	Margin / Padding Quick Resets

	example: top & bottom margin set to $spacing-unit
	.element {
		@include push--ends;
	}

	example: left & right padding set to $spacing-unit--small
	.element {
		@include soft--sides($spacing-unit--small);
	}

*/
/*

	Helper mixins

*/
/*

	Form input placeholder text

	example:

	input,
	textarea {
		@include input-placeholder {
			color: $grey;
		}
	}

*/
/*

	Retina images

	example:

	.element {
		@include retina {
			background-image: url(../img/background@2x.png);
		}
	}

*/
/*

	Content margins

	fore removing first/last child margins

	example: default
	.element {
		@include content-margins;
	}

	output:
	.element > *:first-child {
		margin-top: 0;
	}
	.element > *:last-child {
		margin-bottom: 0;
	}

	example: empty selector
	.element {
		@include content-margins('false');
	}

	output:
	.element:first-child {
		margin-top: 0;
	}
	.element:last-child {
		margin-bottom: 0;
	}

*/
/*

	CSS Triangle

	used for creating CSS only triangles

	example:
	.element {

		&::before {
			@include css-triangle(blue, down);
		}
	}

*/
/*

	Hide text

	example:

	.element {
		@include hide-text;
	}

*/
/*

	Responsive ratio

	Used for creating scalable elements that maintain the same ratio

	example:
	.element {
		@include responsive-ratio(400, 300);
	}

*/
/*

	Icon

	For using fontastic icons in pseudo elements

*/
/*

	Colours

	background, colour, etc. match up with colour map in _variables.scss

	modify to suit per project

*/
/*

	Fluid Property

	http://www.adrenalinmedia.com.au/the-agency/insights/this-changes-everything-css-fluid-properties.aspx

	HTML:

	<h1 class="element">
		<span>Text to replace</span>
	</h1>

	example:
	h1 {
		@include fp(font-size, 50, 100); // 50px at 320, 100px at 1920;
	}

	output:
	h1 {
		font-size: calc(3.125vw + 40px); //This is the magic!
	}

	@media (max-width:320px){ //Clips the start to the min value
		font-size:50px;
	}

	@media (min-width:1920px){ //Clips the end to the max value
		font-size:100px;
	}


*/
/*

	Misc

*/
/*

	Font face

	example:

	@include font-face('Clarendon', 'clarendon-webfont');
	@include font-face('Clarendon', 'clarendon-webfont', $w--bold, italic);

*/
/*

	REMs

*/
/*

	EMs calculator

*/
/*

	SVG inliner

*/
/*

	Media Query mixin

	See https://github.com/sass-mq/sass-mq/ for original full version.

	@example scss
	 .element {
	   @include mq($from: mobile) {
		 color: red;
	   }

	   @include mq($to: tablet) {
		 color: blue;
	   }

	   @include mq(mobile, tablet) {
		 color: green;
	   }

	   @include mq($from: tablet, $and: '(orientation: landscape)') {
		 color: teal;
	   }

	   @include mq(em(950px)) {
		 color: hotpink;
	   }

	   @include mq(em(950px), $media-feature: height) {
		 color: hotpink;
	   }

	   @include mq(tablet, $media-type: screen) {
		 color: hotpink;
	   }

	   // Advanced use:
	   $custom-breakpoints: (L: 900px, XL: 1200px);
	   @include mq(L, $bp: $custom-breakpoints) {
		 color: hotpink;
	   }
	 }

*/
/*

	Margin / Padding Quick Resets

	example: top & bottom margin set to $spacing-unit
	.element {
		@include push--ends;
	}

	example: left & right padding set to $spacing-unit--small
	.element {
		@include soft--sides($spacing-unit--small);
	}

*/
/*

	Helper mixins

*/
/*

	Form input placeholder text

	example:

	input,
	textarea {
		@include input-placeholder {
			color: $grey;
		}
	}

*/
/*

	Retina images

	example:

	.element {
		@include retina {
			background-image: url(../img/background@2x.png);
		}
	}

*/
/*

	Content margins

	fore removing first/last child margins

	example: default
	.element {
		@include content-margins;
	}

	output:
	.element > *:first-child {
		margin-top: 0;
	}
	.element > *:last-child {
		margin-bottom: 0;
	}

	example: empty selector
	.element {
		@include content-margins('false');
	}

	output:
	.element:first-child {
		margin-top: 0;
	}
	.element:last-child {
		margin-bottom: 0;
	}

*/
/*

	CSS Triangle

	used for creating CSS only triangles

	example:
	.element {

		&::before {
			@include css-triangle(blue, down);
		}
	}

*/
/*

	Hide text

	example:

	.element {
		@include hide-text;
	}

*/
/*

	Responsive ratio

	Used for creating scalable elements that maintain the same ratio

	example:
	.element {
		@include responsive-ratio(400, 300);
	}

*/
/*

	Icon

	For using fontastic icons in pseudo elements

*/
/*

	Colours

	background, colour, etc. match up with colour map in _variables.scss

	modify to suit per project

*/
/*

	Fluid Property

	http://www.adrenalinmedia.com.au/the-agency/insights/this-changes-everything-css-fluid-properties.aspx

	HTML:

	<h1 class="element">
		<span>Text to replace</span>
	</h1>

	example:
	h1 {
		@include fp(font-size, 50, 100); // 50px at 320, 100px at 1920;
	}

	output:
	h1 {
		font-size: calc(3.125vw + 40px); //This is the magic!
	}

	@media (max-width:320px){ //Clips the start to the min value
		font-size:50px;
	}

	@media (min-width:1920px){ //Clips the end to the max value
		font-size:100px;
	}


*/
/*

	Misc

*/
/*

	Font face

	example:

	@include font-face('Clarendon', 'clarendon-webfont');
	@include font-face('Clarendon', 'clarendon-webfont', $w--bold, italic);

*/
/*

	REMs

*/
/*

	EMs calculator

*/
/*

	SVG inliner

*/
html {
  font-size: 100%;
  overflow-x: hidden; }
  @media screen and (max-width: 991px) {
    html {
      font-size: 80%; } }

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth; } }

body {
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
  color: var(--primary);
  line-height: 1;
  margin: 0;
  overflow-x: hidden;
  background-color: #fff;
  width: 100%;
  position: relative; }

@media (min-width: 1200px) {
  .container {
    max-width: 1180px; } }

.button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  margin-top: 2.1875rem; }
  .button-row .list-inline-item:not(:last-child) {
    margin-right: 4.0625rem; }
  @media screen and (max-width: 575px) {
    .button-row {
      justify-content: center; }
      .button-row .btn {
        width: 80%; } }

.inline-buttons {
  display: flex; }
  .inline-buttons a:not(:last-child) {
    margin-right: 12px; }
    @media screen and (max-width: 575px) {
      .inline-buttons a:not(:last-child) {
        margin-right: 6px; } }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  user-select: none;
  border: 0;
  border-radius: 23px;
  transition: all 0.5s ease;
  position: relative;
  vertical-align: middle;
  position: relative;
  box-shadow: none !important;
  text-decoration: none !important;
  background: var(--secondary);
  color: var(--primary);
  padding: 0 3.75rem 0 2.5rem;
  display: inline-flex;
  align-items: center;
  min-width: 12.1875rem;
  height: 4.25rem;
  line-height: 4.25rem; }
  .btn span {
    width: 3.75rem;
    height: 3.75rem;
    background: var(--gray);
    border: 7px solid #fff;
    border-radius: 100%;
    position: absolute;
    top: -17px;
    right: -14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .btn span {
        border: 0; } }
    .btn span i {
      color: #fff;
      font-size: 20px; }
  .btn:hover {
    background: var(--primary);
    color: #fff; }
    .btn:hover span {
      background: var(--secondary); }
      .btn:hover span i {
        color: var(--primary); }
  .btn[disabled] {
    background: #ccc !important;
    border-color: #ccc !important;
    cursor: not-allowed !important;
    pointer-events: none; }
  .btn:hover {
    text-decoration: none; }
  .btn.full {
    width: 100%; }
  .btn:active {
    outline: none;
    box-shadow: none; }
  .btn:focus {
    box-shadow: none !important; }

/*

	Basic, low level typography

*/
a {
  transition: .5s ease all;
  color: var(--primary); }
  @media screen and (min-width: 1025px) {
    a:hover {
      color: var(--gray);
      text-decoration: none; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 600;
  margin-top: 0;
  line-height: 1.1; }

h1 {
  font-size: 3rem;
  margin-bottom: 2.1875rem; }
  @media screen and (min-width: 280px) {
    h1 {
      font-size: 2rem; } }
  @media screen and (min-width: 991px) {
    h1 {
      font-size: 2.5rem; } }
  @media screen and (min-width: 1300px) {
    h1 {
      font-size: 3rem; } }

h2 {
  font-size: 3rem; }
  @media screen and (min-width: 280px) {
    h2 {
      font-size: 2rem; } }
  @media screen and (min-width: 991px) {
    h2 {
      font-size: 2.5rem; } }
  @media screen and (min-width: 1300px) {
    h2 {
      font-size: 3rem; } }

h3 {
  font-size: 2.25rem; }
  @media screen and (min-width: 280px) {
    h3 {
      font-size: 1.375rem; } }
  @media screen and (min-width: 991px) {
    h3 {
      font-size: 1.5625rem; } }
  @media screen and (min-width: 1300px) {
    h3 {
      font-size: 2.25rem; } }

h4 {
  font-size: 1.5rem;
  margin-bottom: 1.375rem; }
  @media screen and (min-width: 280px) {
    h4 {
      font-size: 1.25rem; } }
  @media screen and (min-width: 991px) {
    h4 {
      font-size: 1.375rem; } }
  @media screen and (min-width: 1300px) {
    h4 {
      font-size: 1.5rem; } }

h5 {
  font-size: 1.25rem; }
  @media screen and (min-width: 280px) {
    h5 {
      font-size: 1.0625rem; } }
  @media screen and (min-width: 991px) {
    h5 {
      font-size: 1.1875rem; } }
  @media screen and (min-width: 1300px) {
    h5 {
      font-size: 1.25rem; } }

h6 {
  font-size: 1.125rem;
  margin-bottom: 1.875rem; }
  @media screen and (min-width: 280px) {
    h6 {
      font-size: 0.9375rem; } }
  @media screen and (min-width: 991px) {
    h6 {
      font-size: 0.9375rem; } }
  @media screen and (min-width: 1300px) {
    h6 {
      font-size: 1.125rem; } }

p {
  font-size: 1rem;
  margin: 0 0 1.25rem 0;
  line-height: 1.5;
  color: var(--gray); }

ul, ol,
.blockquote, .button-wrapper, .media, .table-wrapper {
  margin-bottom: 1rem; }
  ul:last-child, ol:last-child,
  .blockquote:last-child, .button-wrapper:last-child, .media:last-child, .table-wrapper:last-child {
    margin-bottom: 0; }

ol,
ul {
  padding: 0;
  margin: 0; }

b,
strong {
  font-weight: 700; }

@media screen and (min-width: 992px) {
  .col-gap-0 {
    margin-left: calc((0px/2) * -1) !important;
    margin-right: calc((0px/2) * -1) !important; }
  .col-gap-0 > div {
    padding-left: calc(0px/2) !important;
    padding-right: calc(0px/2) !important; }
  .col-gap-10 {
    margin-left: calc((10px/2) * -1) !important;
    margin-right: calc((10px/2) * -1) !important; }
  .col-gap-10 > div {
    padding-left: calc(10px/2) !important;
    padding-right: calc(10px/2) !important; }
  .col-gap-15 {
    margin-left: calc((15px/2) * -1) !important;
    margin-right: calc((15px/2) * -1) !important; }
  .col-gap-15 > div {
    padding-left: calc(15px/2) !important;
    padding-right: calc(15px/2) !important; }
  .col-gap-20 {
    margin-left: calc((20px/2) * -1) !important;
    margin-right: calc((20px/2) * -1) !important; }
  .col-gap-20 > div {
    padding-left: calc(20px/2) !important;
    padding-right: calc(20px/2) !important; }
  .col-gap-25 {
    margin-left: calc((25px/2) * -1) !important;
    margin-right: calc((25px/2) * -1) !important; }
  .col-gap-25 > div {
    padding-left: calc(25px/2) !important;
    padding-right: calc(25px/2) !important; }
  .col-gap-30 {
    margin-left: calc((30px/2) * -1) !important;
    margin-right: calc((30px/2) * -1) !important; }
  .col-gap-30 > div {
    padding-left: calc(30px/2) !important;
    padding-right: calc(30px/2) !important; }
  .col-gap-40 {
    margin-left: calc((40px/2) * -1) !important;
    margin-right: calc((40px/2) * -1) !important; }
  .col-gap-40 > div {
    padding-left: calc(40px/2) !important;
    padding-right: calc(40px/2) !important; }
  .col-gap-50 {
    margin-left: calc((50px/2) * -1) !important;
    margin-right: calc((50px/2) * -1) !important; }
  .col-gap-50 > div {
    padding-left: calc(50px/2) !important;
    padding-right: calc(50px/2) !important; }
  .col-gap-55 {
    margin-left: calc((55px/2) * -1) !important;
    margin-right: calc((55px/2) * -1) !important; }
  .col-gap-55 > div {
    padding-left: calc(55px/2) !important;
    padding-right: calc(55px/2) !important; }
  .col-gap-60 {
    margin-left: calc((60px/2) * -1) !important;
    margin-right: calc((60px/2) * -1) !important; }
  .col-gap-60 > div {
    padding-left: calc(60px/2) !important;
    padding-right: calc(60px/2) !important; }
  .col-gap-70 {
    margin-left: calc((70px/2) * -1) !important;
    margin-right: calc((70px/2) * -1) !important; }
  .col-gap-70 > div {
    padding-left: calc(70px/2) !important;
    padding-right: calc(70px/2) !important; }
  .col-gap-80 {
    margin-left: calc((80px/2) * -1) !important;
    margin-right: calc((80px/2) * -1) !important; }
  .col-gap-80 > div {
    padding-left: calc(80px/2) !important;
    padding-right: calc(80px/2) !important; }
  .col-gap-90 {
    margin-left: calc((90px/2) * -1) !important;
    margin-right: calc((90px/2) * -1) !important; }
  .col-gap-90 > div {
    padding-left: calc(90px/2) !important;
    padding-right: calc(90px/2) !important; }
  .col-gap-100 {
    margin-left: calc((100px/2) * -1) !important;
    margin-right: calc((100px/2) * -1) !important; }
  .col-gap-100 > div {
    padding-left: calc(100px/2) !important;
    padding-right: calc(100px/2) !important; }
  .col-gap-120 {
    margin-left: calc((120px/2) * -1) !important;
    margin-right: calc((120px/2) * -1) !important; }
  .col-gap-120 > div {
    padding-left: calc(120px/2) !important;
    padding-right: calc(120px/2) !important; }
  .col-gap-150 {
    margin-left: calc((150px/2) * -1) !important;
    margin-right: calc((150px/2) * -1) !important; }
  .col-gap-150 > div {
    padding-left: calc(150px/2) !important;
    padding-right: calc(150px/2) !important; } }

.abs-link {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 9;
  color: transparent;
  font-size: 0;
  text-indent: -2px; }

.header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 40px;
  z-index: 9999;
  transition: .4s ease all;
  padding: 0.875rem 0; }
  .header__wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
  .header__logo {
    max-width: 150px; }
    .header__logo img {
      transition: .4s ease all; }
  .header nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start; }
    .header nav ul li:not(:last-child) {
      margin-right: 2.25rem; }
      @media screen and (max-width: 1200px) {
        .header nav ul li:not(:last-child) {
          margin-right: 1.25rem; } }
    .header nav ul li a {
      position: relative; }
      .header nav ul li a:after {
        content: "";
        position: absolute;
        width: 0%;
        height: 2px;
        background-color: var(--primary);
        left: 0;
        bottom: 0;
        transition: .4s ease all; }
      @media screen and (min-width: 1025px) {
        .header nav ul li a:hover {
          opacity: .8; }
          .header nav ul li a:hover:after {
            width: 100%; } }
      .header nav ul li a.active:after {
        width: 100%; }
  .header__menu-icon {
    cursor: pointer;
    z-index: 999;
    margin-left: 1.25rem;
    position: relative;
    right: 0;
    left: auto;
    display: none; }
    .header__menu-icon span {
      width: 26px;
      height: 2px;
      background: var(--primary);
      display: block;
      margin-bottom: 4px;
      transition: all .3s; }
      .header__menu-icon span:nth-child(3) {
        width: 16px;
        position: relative; }
    .header__menu-icon:hover span:nth-child(3) {
      width: 26px; }
  .header.sticky {
    top: 0;
    background: #fff; }
    .header.sticky:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      background: var(--primary);
      left: 0;
      bottom: 0; }
  @media screen and (max-width: 991px) {
    .header {
      top: 20px; }
      .header__menu-icon {
        display: block; }
      .header nav {
        position: fixed;
        z-index: 999;
        width: 100%;
        height: 0%;
        overflow: auto;
        transition: .5s all ease;
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        left: 0;
        background: var(--primary);
        top: 0;
        visibility: hidden;
        transition: .5s all ease-in-out; }
        .header nav ul {
          padding-top: 3.4375rem;
          padding-bottom: 1.5625rem;
          flex-direction: column;
          justify-content: center;
          align-items: center; }
          .header nav ul li a {
            color: #fff !important; }
          .header nav ul li:not(:last-child) {
            margin: 0 0 1.5625rem 0; }
          .header nav ul li.active a {
            color: var(--green); } }
  @media screen and (max-width: 767px) {
    .header {
      top: 0; }
      .header__logo {
        max-width: 170px; } }

@media screen and (max-width: 991px) {
  .menu-active .header nav {
    height: 100%;
    visibility: visible; }
  .menu-active .header__menu-icon span {
    background: #fff; }
    .menu-active .header__menu-icon span:first-child {
      transform: rotate(45deg) translate(5px, 5px);
      -webkit-transform: rotate(45deg) translate(5px, 5px);
      -moz-transform: rotate(45deg) translate(5px, 5px);
      -ms-transform: rotate(45deg) translate(5px, 5px);
      -o-transform: rotate(45deg) translate(5px, 5px); }
    .menu-active .header__menu-icon span:nth-child(2) {
      opacity: 0; }
    .menu-active .header__menu-icon span:nth-child(3) {
      transform: rotate(-45deg) translate(4px, -4px);
      width: 26px;
      -webkit-transform: rotate(-45deg) translate(4px, -4px);
      -moz-transform: rotate(-45deg) translate(4px, -4px);
      -ms-transform: rotate(-45deg) translate(4px, -4px);
      -o-transform: rotate(-45deg) translate(4px, -4px); } }

.footer {
  background: #4b5057;
  padding: 4.375rem 0 3.75rem;
  color: #fff;
  text-align: center; }
  @media screen and (max-width: 991px) {
    .footer {
      padding: 2.8125rem 0; } }
  .footer h3 {
    line-height: 1.6;
    margin-bottom: 1.25rem; }
  .footer .container {
    max-width: 650px; }
  .footer p {
    color: #fff;
    text-align: center;
    margin-bottom: 2.5rem; }
  .footer .btn span {
    border-color: var(--gray);
    background-color: #fff; }
    .footer .btn span i {
      color: var(--gray); }

.mb-30 {
  margin-bottom: 30px; }

.mb-80 {
  margin-bottom: 5rem; }

.card {
  padding: 3.4375rem 1.25rem;
  border-radius: 16px;
  background: #fff;
  border: 0;
  height: 100%; }
  @media screen and (max-width: 767px) {
    .card {
      padding: 1.875rem 1.25rem; } }

.custom-arrows {
  z-index: 99;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 1.875rem;
  padding-top: 2.1875rem; }
  .custom-arrows .custom-arrow {
    cursor: pointer;
    width: 2.1875rem;
    height: 2.1875rem;
    border-radius: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--secondary); }
    .custom-arrows .custom-arrow:hover {
      background: var(--primary); }
  .custom-arrows__prev {
    margin-right: 8px; }

h2.section-title, h3.section-title {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 1.5625rem;
  text-align: center; }
  @media screen and (max-width: 991px) {
    h2.section-title, h3.section-title {
      font-size: 2.5rem; } }
  @media screen and (max-width: 767px) {
    h2.section-title, h3.section-title {
      font-size: 2.0625rem; } }
  @media screen and (max-width: 575px) {
    h2.section-title, h3.section-title {
      font-size: 1.6875rem; } }

.banner-sec {
  position: relative;
  padding-top: 14.6875rem; }
  .banner-sec label {
    width: 570px;
    background: var(--gray);
    color: #fff;
    font-size: 1.375rem;
    font-weight: 600;
    padding: 14px;
    border-radius: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start;
    margin: auto;
    margin-top: 10.625rem;
    margin-bottom: 7.5rem; }
    .banner-sec label img {
      max-width: 50px;
      margin-right: 14px; }
  .banner-sec__bg {
    position: absolute;
    width: 950px;
    height: 696px;
    right: 0;
    top: 0; }
    @media screen and (min-width: 1600px) {
      .banner-sec__bg {
        width: 1001px;
        height: 733px; } }
    .banner-sec__bg img {
      height: 100%;
      width: 100%;
      object-fit: cover; }
  .banner-sec .container {
    position: relative;
    z-index: 1; }
  .banner-sec__caption {
    max-width: 585px; }
    .banner-sec__caption h1 {
      line-height: 1.3; }
    .banner-sec__caption p {
      margin: 0 0 2.8125rem 0; }
  @media screen and (max-width: 1200px) {
    .banner-sec__bg {
      width: 667px;
      height: 487px; } }
  @media screen and (max-width: 991px) {
    .banner-sec {
      padding-top: 9.375rem; }
      .banner-sec__bg {
        width: 550px;
        height: 406px; }
      .banner-sec__caption {
        max-width: 450px; } }
  @media screen and (max-width: 767px) {
    .banner-sec {
      padding-bottom: 2.5rem;
      padding-top: 8.75rem; }
      .banner-sec h1 br {
        display: none; }
      .banner-sec__bg {
        width: 100%;
        height: 70%; }
        .banner-sec__bg:after {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          background: rgba(0, 0, 0, 0.5);
          left: 0;
          top: 0; }
      .banner-sec__caption {
        max-width: 100%;
        color: #fff;
        text-align: center; }
        .banner-sec__caption .button-row {
          justify-content: center; }
        .banner-sec__caption p {
          margin: 1rem 0;
          color: #fff; }
      .banner-sec label {
        position: relative;
        top: 0;
        width: auto;
        font-size: 1rem;
        margin-top: 85px;
        margin-bottom: 20px; }
        .banner-sec label img {
          max-width: 30px; } }
  @media screen and (max-width: 575px) {
    .banner-sec label img {
      max-width: 25px; } }

.how-its-work .steps {
  position: relative;
  padding-top: 6.25rem;
  padding-bottom: 15.625rem; }
  @media screen and (min-width: 992px) {
    .how-its-work .steps::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 270px;
      background: url(../images/icons/separator-line.png) center center no-repeat;
      background-size: 100% 100%;
      left: 0;
      top: 90px;
      z-index: -1; } }
  .how-its-work .steps__desc {
    position: relative;
    opacity: 1; }
    @media screen and (min-width: 992px) {
      .how-its-work .steps__desc {
        opacity: 0; } }
    .how-its-work .steps__desc--title {
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 1.25rem; }
    .how-its-work .steps__desc p {
      font-size: 0.875rem;
      color: #4b5057;
      margin: 0;
      text-align: center; }
  .how-its-work .steps ul {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
    list-style: none; }
    .how-its-work .steps ul li {
      width: 25%;
      text-align: center;
      position: relative; }
      .how-its-work .steps ul li span {
        width: 110px;
        min-width: 110px;
        height: 110px;
        border-radius: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        font-size: 2.1875rem;
        font-weight: 600;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1.5625rem;
        box-shadow: 0px 14px 20px -6px rgba(0, 0, 0, 0.12);
        -webkit-box-shadow: 0px 14px 20px -6px rgba(0, 0, 0, 0.12);
        -moz-box-shadow: 0px 14px 20px -6px rgba(0, 0, 0, 0.12);
        background: #fff;
        border: 10px solid #fff; }
      .how-its-work .steps ul li.active span {
        background-color: var(--secondary); }
      @media screen and (min-width: 992px) {
        .how-its-work .steps ul li.active .steps__desc {
          opacity: 1; } }
      @media screen and (min-width: 992px) {
        .how-its-work .steps ul li:nth-child(2) {
          top: 80px; }
        .how-its-work .steps ul li:nth-child(3) {
          top: 170px; }
        .how-its-work .steps ul li:nth-child(4) {
          top: -50px; } }
  @media screen and (min-width: 992px) and (min-width: 1601px) {
    .how-its-work .steps ul li:nth-child(4) {
      top: 40px; } }

@media screen and (max-width: 991px) {
  .how-its-work .steps {
    padding: 3.125rem 0; }
    .how-its-work .steps ul li {
      width: 50%;
      margin-bottom: 1.875rem; }
      .how-its-work .steps ul li span {
        width: 75px;
        min-width: 75px;
        height: 75px;
        border-width: 5px;
        font-size: 1.375rem;
        background: var(--secondary); }
    .how-its-work .steps__desc p {
      padding: 0 15px; } }

.clients-feedback {
  position: relative; }
  .clients-feedback__left {
    width: 270px;
    position: relative; }
    .clients-feedback__left--inner {
      background: var(--gray);
      color: #fff;
      padding: 3.125rem 1.5625rem;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      border-radius: 12px;
      height: 290px; }
    .clients-feedback__left h3 {
      margin: 0;
      position: relative; }
      .clients-feedback__left h3:before {
        content: "";
        position: relative;
        display: block;
        background: url(../images/icons/quotation-mark.png) left top no-repeat;
        width: 45px;
        height: 50px;
        background-size: 100%;
        margin-bottom: 1.25rem; }
  .clients-feedback__right {
    flex: 1;
    width: calc(100% - 239px); }
  .clients-feedback .card {
    position: relative;
    background: #fff;
    border-radius: 12px;
    padding: 3.125rem 1.25rem 1.875rem;
    box-shadow: 0px 2px 15px -8px rgba(0, 0, 0, 0.22);
    -webkit-box-shadow: 0px 2px 15px -8px rgba(0, 0, 0, 0.22);
    -moz-box-shadow: 0px 2px 15px -8px rgba(0, 0, 0, 0.22);
    margin: 0 20px;
    min-height: 380px;
    height: 100%; }
    .clients-feedback .card p {
      margin: 1.5625rem 0 2.1875rem; }
      @media screen and (max-width: 991px) {
        .clients-feedback .card p {
          padding: 1.25rem 0.9375rem; } }
    .clients-feedback .card ul {
      list-style: none;
      display: flex;
      align-items: center;
      padding: 0.5rem;
      border-radius: 50px;
      background: #fff;
      box-shadow: 0px 15px 15px -8px rgba(0, 0, 0, 0.09);
      -webkit-box-shadow: 0px 15px 15px -8px rgba(0, 0, 0, 0.09);
      -moz-box-shadow: 0px 15px 15px -8px rgba(0, 0, 0, 0.09); }
      .clients-feedback .card ul li {
        font-size: 1.25rem;
        font-weight: 600; }
        @media screen and (max-width: 991px) {
          .clients-feedback .card ul li {
            font-size: 1rem; } }
        .clients-feedback .card ul li img {
          width: 45px;
          height: 45px;
          border-radius: 100%;
          overflow: hidden;
          object-fit: cover;
          margin-right: 7px;
          object-position: top; }
          @media screen and (max-width: 991px) {
            .clients-feedback .card ul li img {
              width: 35px;
              height: 35px; } }
  .clients-feedback .swiper {
    padding: 0 0 30px 0; }
  @media screen and (max-width: 991px) {
    .clients-feedback .d-flex {
      flex-direction: column; }
    .clients-feedback__left {
      margin: auto; }
      .clients-feedback__left--inner {
        height: 200px; }
      .clients-feedback__left .custom-arrows {
        justify-content: center;
        padding: 30px 0; }
    .clients-feedback__right {
      width: 100%; }
    .clients-feedback .card {
      min-height: 300px; } }
  @media screen and (max-width: 575px) {
    .clients-feedback .card {
      min-height: auto; } }

.get-a-smile {
  position: relative;
  padding: 11.25rem 0 12.5rem; }
  .get-a-smile::after {
    content: '';
    position: absolute;
    width: 278px;
    height: 800px;
    background: url(../images/bg/get-smile-bg-right.png) right top no-repeat;
    background-size: 100% 100%;
    right: 0;
    top: -65px;
    z-index: -1; }
  .get-a-smile::before {
    content: '';
    position: absolute;
    width: 255px;
    height: 570px;
    background: url(../images/bg/get-smile-bg-left.png) right top no-repeat;
    background-size: 100% 100%;
    left: 0;
    top: 173px;
    z-index: -1; }
  .get-a-smile .flex-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .get-a-smile .flex-wrapper > div {
      position: relative; }
      .get-a-smile .flex-wrapper > div:first-child {
        top: 50px; }
      .get-a-smile .flex-wrapper > div:last-child {
        top: -50px; }
  .get-a-smile__detail {
    width: 615px;
    text-align: center;
    padding: 0 4.375rem; }
    .get-a-smile__detail p {
      line-height: 1.6; }
  @media screen and (max-width: 991px) {
    .get-a-smile {
      padding: 6.25rem 0 4.375rem; }
      .get-a-smile:before {
        width: 241px;
        height: 432px;
        top: 0px; }
      .get-a-smile:after {
        width: 244px;
        height: 432px;
        top: 0; }
      .get-a-smile .flex-wrapper {
        flex-wrap: wrap; }
        .get-a-smile .flex-wrapper > div {
          width: 48%; }
          .get-a-smile .flex-wrapper > div:first-child, .get-a-smile .flex-wrapper > div:last-child {
            top: 0; }
      .get-a-smile__detail {
        order: 2;
        width: 100% !important;
        margin-top: 2.5rem;
        padding: 0; } }
  @media screen and (max-width: 575px) {
    .get-a-smile:before {
      width: 150px; }
    .get-a-smile:after {
      width: 150px; } }

.faq {
  padding-bottom: 7.5rem; }
  .faq .section-title {
    margin-bottom: 4.0625rem; }
  .faq .nav-pills .nav-link {
    padding: 10px 10px 10px 20px;
    background: #fff;
    border-radius: 10px;
    font-size: 1.125rem;
    color: var(--primary);
    box-shadow: 0px 3px 14px -4px rgba(0, 0, 0, 0.14);
    -webkit-box-shadow: 0px 3px 14px -4px rgba(0, 0, 0, 0.14);
    -moz-box-shadow: 0px 3px 14px -4px rgba(0, 0, 0, 0.14);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.375rem; }
    .faq .nav-pills .nav-link span {
      min-width: 3.125rem;
      width: 3.125rem;
      height: 3.125rem;
      border-radius: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      background: #fff;
      color: var(--secondary);
      box-shadow: 0px 3px 14px -4px rgba(0, 0, 0, 0.14);
      -webkit-box-shadow: 0px 3px 14px -4px rgba(0, 0, 0, 0.14);
      -moz-box-shadow: 0px 3px 14px -4px rgba(0, 0, 0, 0.14);
      margin-left: 1rem; }
    .faq .nav-pills .nav-link.active, .faq .nav-pills .nav-link:hover {
      background-color: var(--secondary); }
  .faq .tab-content {
    background: var(--gray);
    color: #fff;
    padding: 6.25rem 1.875rem;
    border-radius: 12px; }
    .faq .tab-content h5 {
      font-size: 1.5rem;
      font-weight: 600;
      margin-bottom: 0.9375rem; }
    .faq .tab-content p {
      color: #fff;
      margin: 0; }
  @media screen and (max-width: 991px) {
    .faq {
      padding-bottom: 3.75rem; }
      .faq .section-title {
        margin-bottom: 2.1875rem; } }
  @media screen and (max-width: 767px) {
    .faq .tab-content {
      padding: 1.875rem; }
      .faq .tab-content h5 {
        font-size: 1.375rem; } }

/*# sourceMappingURL=main.css.map */