/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Base */
/* --------------------------------------------------------------------------------------------------------------------------- */

:root {
  --gutter-x: 1rem;
  --responsive-max-width: calc(var(--w-default) - 2rem);
}

html {font-size: 100%;} /*16px*/

main
 {
  width: 100%;
 -webkit-box-flex: 1;
 -moz-box-flex: 1;
 -webkit-flex: 1;
 -ms-flex: 1;
 flex: 1;
 max-width: 100vw;
 overflow: hidden;
}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Typography */
/* --------------------------------------------------------------------------------------------------------------------------- */

body {
  font-weight: 400;
  line-height: 1.75;
  color: var(--text-default);
}

p {margin-bottom: 1rem;}
a {word-break: break-word;}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  margin: 1.38rem 0 1.38rem;
  line-height: 1.3;
}

h1, .h1 {margin-top: 0; font-size: 4.209rem;}
h2, .h2 {font-size: 3.157rem;}
h3, .h3 {font-size: 2.369rem;}
h4, .h4 {font-size: 1.777rem;}
h5, .h5 {font-size: 1.333rem;}
h6, .h6 {font-size: 1rem; line-height: 1.2rem;}
small, .text-small {font-size: 0.75em; line-height: 1.2rem;}

@media (max-width: 767px) {
  h1, .h1 {font-size:32px; word-wrap: break-word;}
  h2, .h2 {font-size:28px; word-wrap: break-word;}
  h3, .h3 {font-size:24px; word-wrap: break-word;}
  h4, .h4 {font-size:22px; word-wrap: break-word;}
}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Colors */
/* --------------------------------------------------------------------------------------------------------------------------- */

.text-primary, .has-primary-color {color: var(--primary)!important;}
.text-secondary, .has-secondary-color {color: var(--secondary)!important;}
.text-light, .has-light-color {color: var(--light)!important;}
.text-dark, .has-dark-color {color: var(--dark)!important;}
.text-default, .has-default-color {color: var(--default)!important;}
.text-white, .has-white-color,
.text-white h3 {color:#fff!important;}
.text-black, .has-black-color {color: #000!important;}

.bg-primary, .has-primary-background-color {background-color: var(--primary)!important;}
.bg-secondary, .has-secondary-background-color {background-color: var(--secondary)!important;}
.bg-light, .has-light-background-color {background-color: var(--light)!important;}
.bg-dark, .has-dark-background-color {background-color: var(--dark)!important;}
.bg-default, .has-default-background-color {background-color: var(--default)!important;}
.bg-white, .has-white-background-color {background-color:#fff!important;}
.bg-black, .has-black-background-color {background-color: #000!important;}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Nav */
/* --------------------------------------------------------------------------------------------------------------------------- */

.nav-light {color: var(--dark); background-color: var(--light);}
.nav-light .icon-hamburger span,
.nav-light .icon-hamburger span::after,
.nav-light .icon-hamburger span::before {background-color: var(--dark);}

.nav-dark {color: var(--light); background-color: var(--dark);}
.nav-dark .icon-hamburger span,
.nav-dark .icon-hamburger span::before,
.nav-dark .icon-hamburger span::after {background-color: var(--light);}

.navbar-transparent header {background-color: transparent!important;box-shadow:none;}
.navbar-transparent .nav-light {color: var(--light);}
.navbar-transparent .nav-light .icon-hamburger span,
.navbar-transparent .nav-light .icon-hamburger span::after,
.navbar-transparent .nav-light .icon-hamburger span::before {background-color: var(--light);}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Helpers */
/* --------------------------------------------------------------------------------------------------------------------------- */

.m-1, .my-1, .mt-1 {margin-top: 1rem!important;}
.m-1, .my-1, .mb-1 {margin-bottom: 1rem!important;}
.m-1, .mx-1, .ml-1 {margin-left: 1rem!important;}
.m-1, .mx-1, .mr-1 {margin-right: 1rem!important;}
.m-2, .my-2, .mt-2 {margin-top: 2rem!important;}
.m-2, .my-2, .mb-2 {margin-bottom: 2rem!important;}
.m-2, .mx-2, .ml-2 {margin-left: 2rem!important;}
.m-2, .mx-2, .mr-2 {margin-right: 2rem!important;}
.m-4, .ml-4, .mx-4 {margin-left: 4rem!important;}
.m-4, .mr-4, .mx-4 {margin-right: 4rem!important;}
.m-4, .mt-4, .my-4 {margin-top: 4rem!important;}
.m-4, .mb-4, .my-4 {margin-bottom: 4rem!important;}
.my-100, .mt-100 {margin-top: 100px;}
.my-100, .mb-100 {margin-bottom: 100px;}
.m-0 {margin: 0!important;}

.p-1, .py-1, .pt-1 {padding-top: 1rem!important;}
.p-1, .py-1, .pb-1 {padding-bottom: 1rem!important;}
.p-1, .px-1, .pl-1 {padding-left: 1rem!important;}
.p-1, .px-1, .pr-1 {padding-right: 1rem!important;}
.p-2, .py-2, .pt-2 {padding-top: 2rem!important;}
.p-2, .py-2, .pb-2 {padding-bottom: 2rem!important;}
.p-2, .px-2, .pl-2 {padding-left: 2rem!important;}
.p-2, .px-2, .pr-2 {padding-right: 2rem!important;}
.p-4, .pl-4, .px-4 {padding-left: 4rem!important;}
.p-4, .pr-4, .px-4 {padding-right: 4rem!important;}
.p-4, .pt-4, .py-4 {padding-top: 4rem!important;}
.p-4, .pb-4, .py-4 {padding-bottom: 4rem!important;}
.p-0 {padding: 0;}
.px-auto {padding-left: 1rem;padding-right: 1rem;}

/* Image */
.img-res {width: 100%; height: auto;}
.img-cover {width: 100%; height: 100%; object-fit: cover;}
.img-scale {width: 100%; height: 100%; object-fit: scale-down;}

/* Display */
.no-scroll {overflow: hidden;}
.d-none{display: none;}
.d-flex{display: flex;}
.d-block{display: block;}
.flex-no-grow {flex-grow: 0!important;}
.flex-stretch {align-items: stretch;}
.space-between {justify-content: space-between;}
.space-evenly {justify-content: space-evenly;}
.no-wrap {flex-wrap: nowrap!important;}
.vertical-center {
  display: flex;
  align-items: center;
}
.page-min-height{min-height: calc(101vh);}
.sticky {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
}

/* Text */
.text-center,
.text-center > * {text-align: center!important;}
.text-right{text-align: right!important;}
.text-left{text-align: left!important;}
.text-muted {opacity: .5;}
.text-uppercase {text-transform: uppercase;}


@media (max-width: 767px) {
  .m-sma-1, .my-sma-1, .mt-sma-1 {margin-top: 1rem!important;}
  .m-sma-1, .my-sma-1, .mb-sma-1 {margin-bottom: 1rem!important;}
  .m-sma-1, .mx-sma-1, .ml-sma-1 {margin-left: 1rem!important;}
  .m-sma-1, .mx-sma-1, .mr-sma-1 {margin-right: 1rem!important;}
  .m-sma-2, .my-sma-2, .mt-sma-2 {margin-top: 2rem!important;}
  .m-sma-2, .my-sma-2, .mb-sma-2 {margin-bottom: 2rem!important;}
  .m-sma-2, .mx-sma-2, .ml-sma-2 {margin-left: 2rem!important;}
  .m-sma-2, .mx-sma-2, .mr-sma-2 {margin-right: 2rem!important;}
  .m-sma-4, .ml-sma-4, .mx-sma-4 {margin-left: 4rem!important;}
  .m-sma-4, .mr-sma-4, .mx-sma-4 {margin-right: 4rem!important;}
  .m-sma-4, .mt-sma-4, .my-sma-4 {margin-top: 4rem!important;}
  .m-sma-4, .mb-sma-4, .my-sma-4 {margin-bottom: 4rem!important;}
  .m-sma-0, .ml-sma-0, .mx-sma-0 {margin-left: 0!important;}
  .m-sma-0, .mr-sma-0, .mx-sma-0 {margin-right: 0!important;}
  .m-sma-0, .mt-sma-0, .my-sma-0 {margin-top: 0!important;}
  .m-sma-0, .mb-sma-0, .my-sma-0 {margin-bottom: 0!important;}

  .p-sma-1, .py-sma-1, .pt-sma-1 {padding-top: 1rem!important;}
  .p-sma-1, .py-sma-1, .pb-sma-1 {padding-bottom: 1rem!important;}
  .p-sma-1, .px-sma-1, .pl-sma-1 {padding-left: 1rem!important;}
  .p-sma-1, .px-sma-1, .pr-sma-1 {padding-right: 1rem!important;}
  .p-sma-2, .py-sma-2, .pt-sma-2 {padding-top: 2rem!important;}
  .p-sma-2, .py-sma-2, .pb-sma-2 {padding-bottom: 2rem!important;}
  .p-sma-2, .px-sma-2, .pl-sma-2 {padding-left: 2rem!important;}
  .p-sma-2, .px-sma-2, .pr-sma-2 {padding-right: 2rem!important;}
  .p-sma-4, .pl-sma-4, .px-sma-4 {padding-left: 4rem!important;}
  .p-sma-4, .pr-sma-4, .px-sma-4 {padding-right: 4rem!important;}
  .p-sma-4, .pt-sma-4, .py-sma-4 {padding-top: 4rem!important;}
  .p-sma-4, .pb-sma-4, .py-sma-4 {padding-bottom: 4rem!important;}
  .p-sma-0, .pl-sma-0, .px-sma-0 {padding-left: 0!important;}
  .p-sma-0, .pr-sma-0, .px-sma-0 {padding-right: 0!important;}
  .p-sma-0, .pt-sma-0, .py-sma-0 {padding-top: 0!important;}
  .p-sma-0, .pb-sma-0, .py-sma-0 {padding-bottom: 0!important;}
  .px-sma-auto {padding-left: 1rem!important;padding-right: 1rem!important;}

  .d-sma-none {display:none!important;}
  .d-sma-block {display: block!important;}
  .space-evenly-sma {justify-content: space-evenly;}
  .sma-order-2 {order: 2;}

  .text-sma-left {text-align: left!important;}
  .text-sma-center {text-align: center!important;}
  .text-sma-right{text-align: right!important;}

  .img-sma-res {width: 100%; height: auto;}
}


/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Wordpress */
/* --------------------------------------------------------------------------------------------------------------------------- */

/* ! - Images */
img {height: auto; max-width: 100%;}
figure.wp-block-image {line-height: 0;} */

/* ! - Cover */
.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {max-width: 70%;}

/* ! - List */
ul, ol {padding-left: 20px;}
ul ul,
ol ul {list-style-type: disc; padding-left: 20px;}
ul ul ul,
ol ul ul {list-style-type: circle; padding-left: 20px;}
li {padding-bottom: .8rem;}

/* ! - Table */
.wp-block-table.border-none td {border: none;}
.wp-block-table td {padding: .5rem 0;}

/* ! - Contact Form 7 */
.wpcf7 label{width:100%; color:#666;}
.wpcf7-form-control:not(.wpcf7-submit) {width: 100%; padding:10px;border:1px solid #ddd; border-radius:4px;}
legend {font-size: 1rem!important;width: auto;}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Grid System */
/* --------------------------------------------------------------------------------------------------------------------------- */

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.grid {margin: 0 auto; display: flex; position: relative; flex-flow: row; flex-wrap: wrap;}
.grid--center{justify-content: center;}

.grid [class*='col-'] { position: relative;}
.col {flex: 1;}
.col-10 {flex: 0 0 10%; max-width: 10%;}
.col-20 {flex: 0 0 20%; max-width: 20%;}
.col-25 {flex: 0 0 25%; max-width: 25%;}
.col-30 {flex: 0 0 30%; max-width: 30%;}
.col-33 {flex: 0 0 33.33%; max-width: 33.33%;}
.col-40 {flex: 0 0 40%; max-width: 40%;}
.col-50 {flex: 0 0 50%; max-width: 50%;}
.col-60 {flex: 0 0 60%; max-width: 60%;}
.col-70 {flex: 0 0 70%; max-width: 70%;}
.col-75 {flex: 0 0 75%; max-width: 75%;}
.col-80 {flex: 0 0 80%; max-width: 80%;}
.col-90 {flex: 0 0 90%; max-width: 90%;}
.col-100 {flex: 0 0 100%; max-width: 100%;}

@media (max-width: 991px) {
  .tab-10 {flex: 0 0 10%!important; max-width: 10%!important;}
  .tab-20 {flex: 0 0 20%!important; max-width: 20%!important;}
  .tab-25 {flex: 0 0 25%!important; max-width: 25%!important;}
  .tab-30 {flex: 0 0 30%!important; max-width: 30%!important;}
  .tab-33 {flex: 0 0 33.33%!important; max-width: 33.33%!important;}
  .tab-40 {flex: 0 0 40%!important; max-width: 40%!important;}
  .tab-50 {flex: 0 0 50%!important; max-width: 50%!important;}
  .tab-60 {flex: 0 0 60%!important; max-width: 60%!important;}
  .tab-70 {flex: 0 0 70%!important; max-width: 70%!important;}
  .tab-75 {flex: 0 0 75%!important; max-width: 75%!important;}
  .tab-80 {flex: 0 0 80%!important; max-width: 80%!important;}
  .tab-90 {flex: 0 0 90%!important; max-width: 90%!important;}
  .tab-100 {flex: 0 0 100%!important; max-width: 100%!important;}
}

@media (max-width: 767px) {
  .grid [class*='col-'],
  .col {flex: 0 0 100%; max-width: 100%;}
  .sma-10 {flex: 0 0 10%!important; max-width: 10%!important;}
  .sma-20 {flex: 0 0 20%!important; max-width: 20%!important;}
  .sma-25 {flex: 0 0 25%!important; max-width: 25%!important;}
  .sma-30 {flex: 0 0 30%!important; max-width: 30%!important;}
  .sma-33 {flex: 0 0 33.33%!important; max-width: 33.33%!important;}
  .sma-40 {flex: 0 0 40%!important; max-width: 40%!important;}
  .sma-50 {flex: 0 0 50%!important; max-width: 50%!important;}
  .sma-60 {flex: 0 0 60%!important; max-width: 60%!important;}
  .sma-70 {flex: 0 0 70%!important; max-width: 70%!important;}
  .sma-75 {flex: 0 0 75%!important; max-width: 75%!important;}
  .sma-80 {flex: 0 0 80%!important; max-width: 80%!important;}
  .sma-90 {flex: 0 0 90%!important; max-width: 90%!important;}
  .sma-100 {flex: 0 0 100%!important; max-width: 100%!important;}

  /* .alignfull {margin-left: 0!important;margin-right: 0!important;} */

  /* article > p,
  article > h1,
  article > h2,
  article > h3,
  article > h4,
  article > h5,
  article > h6,
  article > ul,
  article > ol,
  article > table {padding-left: 1rem; padding-right: 1rem;} */
  /* blockquote > p {padding: 0!important;} */

  /* .container *:not(.wp-block-media-text__content)>h1,
  .container *:not(.wp-block-media-text__content)>h2,
  .container *:not(.wp-block-media-text__content)>h3,
  .container *:not(.wp-block-media-text__content)>h4,
  .container *:not(.wp-block-media-text__content)>h5,
  .container *:not(.wp-block-media-text__content)>h6,
  .container *:not(.wp-block-media-text__content)>p,
  .container *:not(.wp-block-media-text__content)>ul,
  .container *:not(.wp-block-media-text__content)>table,
  .container *:not(.wp-block-media-text__content)>.wp-block-buttons {padding-left: 1rem; padding-right: 1rem;} */
  /* .container *:not(.wp-block-media-text__content)>ol {padding-left: 40px;} */

  .pl-wide, .px-wide {padding-left: 1rem;}
  .pr-wide, .px-wide {padding-right: 1rem;}
}

.container > article > *,
.container > *:not(article),
.alignwide {max-width: var(--responsive-max-width); margin-left: auto; margin-right: auto;}

@media (min-width: 768px) {
  .container > article > * {max-width: 540px;}
  .container > *:not(article),
  .alignwide {max-width: 720px;}

  .pl-wide, .px-wide {padding-left: calc((100vw - 720px) / 2);}
  .pr-wide, .px-wide {padding-right: calc((100vw - 720px) / 2);}
}

@media (min-width: 992px) {
  .container > article > * {max-width: 720px;}
  .container > *:not(article),
  .alignwide {max-width: 960px!important;}

  .pl-wide, .px-wide {padding-left: calc((100vw - 960px) / 2);}
  .pr-wide, .px-wide {padding-right: calc((100vw - 960px) / 2);}
}

@media (min-width: 1200px) {
  .container > article > * {max-width: 855px;}
  .container > *:not(article),
  .alignwide {max-width: 1140px!important;}

  .pl-wide, .px-wide {padding-left: calc((100vw - 1140px) / 2);}
  .pr-wide, .px-wide {padding-right: calc((100vw - 1140px) / 2);}
}

.alignfull {max-width: 100%!important;width: auto;}
.alignfull *:not(.wp-block-media-text__content) p,
.alignfull *:not(.wp-block-media-text__content) h1,
.alignfull *:not(.wp-block-media-text__content) h2,
.alignfull *:not(.wp-block-media-text__content) h3,
.alignfull *:not(.wp-block-media-text__content) h4,
.alignfull *:not(.wp-block-media-text__content) h5,
.alignfull *:not(.wp-block-media-text__content) h6,
.alignfull *:not(.wp-block-media-text__content) .wp-block-buttons {padding-left: 1rem; padding-right: 1rem;}
.alignfull *:not(.wp-block-media-text__content) ul,
.alignfull *:not(.wp-block-media-text__content) ol {padding-left: calc(1rem + 40px); padding-right: calc(1rem + 40px);}
