/* 3038a63 */
@media (max-width:1023px){
}

/* fc3221d — the old rule was `mini-height:50rem`, a typo that browsers ignore;
   the live heading is 159px tall, so no min-height here. */

/* ec08c4b */
.coop-content:hover .icon-bg{
    background-color: #EE6E00;
    border:1px solid #EE6E00;
}
.line-short{
    display: none;
}
.coop-content:hover .line-long{
    display: none;
}
.coop-content:hover .line-short{
    display: block;
}
.coop-content .icon-bg{
    width:fit-content;
    background-color: #F5F5F5;
    border-radius: 50%;
    aspect-ratio: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 23px;
    border:1px solid #333;
}

.coop-content .icon-bg.icon-bg {
    width: 56px !important;
    height: 56px !important;
}
/* .box > .w-img/.w-icon set align-self:flex-start (right for rows), but these
   columns centre the icon and the connector line like the live site */
.coop-content > .w-icon,
.coop-content > .w-img {
    align-self: center;
}
.coop-content .icon-bg:hover{
    width:fit-content;
    background-color: #EE6E00;
}
/* inline svg: the two artwork colours go white on hover (like the live site) */
.coop-content:hover .icon-bg svg path[fill="#0A1840"],
.coop-content:hover .icon-bg svg path[fill="#EE6E00"]{
    fill:#FFFFFF;
}
@media (max-width:767px){
	.line-short,.line-long{
		display:none;
	}
	.ttt111{
		display:block!important;
	}
}
.path_1 {
    fill: #0A1840;
}
.path_2 {
    fill: #EE6E00;
}
.coop-content:hover .path_1,.coop-content:hover .path_2{
    fill: #FFFFFF;
}

/* testimonial cards (9a637da): the copy panel fills the stretched card so the
   author name sits on one line across the three cards, like the live site */
[data-el="9a637da"] > .box > .box:last-child {
	flex: 1 1 auto;
}

/* the photo is square and covers the card's rounded top corners: clip the card
   so the radius shows on all four corners instead of only the bottom ones */
[data-el="f61e10a"],
[data-el="10e77ee"],
[data-el="f9d4a01"] {
	overflow: hidden;
}

/* quote and author name stay bottom-aligned as a block, so the name is always
   exactly 2rem under the quote (its own margin) instead of wherever
   space-between happens to drop it — set in the page data (`just` => flex-end) */

/* cooperation carousel (35d7af6): the live owl carousel shows 3 cards per view
   with 16:9 photos, then 2 / 1 on smaller screens */
[data-carousel="35d7af6"] {
	gap: 20px;
	/* the strip is drag-scrollable: say so with a hand, and keep it over the
	   cards (their own text/images would otherwise show the default arrow) */
	cursor: -webkit-grab;
	cursor: grab;
}
[data-carousel="35d7af6"] * {
	cursor: inherit;
}
[data-carousel="35d7af6"].is-dragging,
[data-carousel="35d7af6"].is-dragging * {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}
[data-carousel="35d7af6"].is-dragging {
	user-select: none;
}
[data-carousel="35d7af6"] .w-carousel__slide {
	width: calc((100% - 40px) / 3);
	/* the strip stretches every card to the tallest one: stack the card so the
	   grey copy area can grow with it and all cards end on the same line */
	display: flex;
	flex-direction: column;
}
[data-carousel="35d7af6"] .w-carousel__img {
	aspect-ratio: 16 / 9;
	border-radius: 16px 16px 0 0;
}
/* the photo carries the top corners, the copy panel the bottom ones, so the
   whole card reads as one rounded rectangle (card background stays clear) */
[data-carousel="35d7af6"] .w-carousel__slide {
	background: none;
}
[data-carousel="35d7af6"] .w-carousel__body {
	background: var(--bg-2);
	flex: 1 1 auto;
	border-radius: 0 0 16px 16px;
}
[data-carousel="35d7af6"] .w-carousel__text {
	font-size: 1rem;
	line-height: 1.4;
}
@media (max-width: 1023px) {
	[data-carousel="35d7af6"] .w-carousel__slide {
		width: calc((100% - 20px) / 2);
	}
}
@media (max-width: 767px) {
	[data-carousel="35d7af6"] .w-carousel__slide {
		width: 100%;
	}
}

/* 34e4215 */
@media (min-width:1024px){
	.Globally{
		min-height: 24rem;
	}
}
@media (min-width:1280px){
	.Globally{
		min-height: 21rem;
	}
}
@media (min-width:1536px){
	.Globally{
		min-height: 19rem;
	}
}
@media (min-width:1920px){
	.Globally {
		min-height: 17rem;
	}
}
@media (min-width:2560px){
	.Globally {
		min-height: 17rem;
	}
}
/* d209891 */
/* underline-only fields (reference): focus just tints the bottom border */
.contactus div.wpforms-container-full input:focus, .contactus div.wpforms-container-full select:focus, .contactus div.wpforms-container-full textarea:focus {
    border: 0!important;
    border-bottom: 1px solid #EE6E00!important;
    box-shadow: none!important;
}
.contactus div.wpforms-container-full input[type="submit"]:not(:hover):not(:active), .contactus div.wpforms-container-full button[type="submit"]:not(:hover):not(:active), .contactus div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active) {
    background-color: transparent!important;
    border: 1px solid #FFFFFF!important;
    border-radius: 3px!important;
    color: #FFFFFF!important;
    font-size: 1.2rem!important;
    font-weight: 700!important;
    min-height: 41px;
    padding: 8px 32px!important;
}
.contactus div.wpforms-container-full input[type="submit"]:hover, .contactus div.wpforms-container-full input[type="submit"]:active, .contactus div.wpforms-container-full button[type="submit"]:hover, .contactus div.wpforms-container-full button[type="submit"]:active, .contactus div.wpforms-container-full .wpforms-page-button:hover, .contactus div.wpforms-container-full .wpforms-page-button:active {
    background: #FFFFFF!important;
    color: #1C1827!important;
    outline:none!important;
}
/* 12ae078 */
.sticky-header{
    background-color: #1C1827!important;
}

/* 10f0c73 */
.sticky-header{
    position:relative!important;
    background-color: #333333;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* efb737f */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* 6eb57a9 */
ul.w-list {
    padding-left: 1rem;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* edd20a0 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* b385703 */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* 6ca625b */
.banner_ul ul {
    margin-top: 45px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 900px;
}
.banner_ul ul li {
    display: flex;
    align-items: center;
}
.banner_ul li {
    list-style-type: none;
}
.banner_ul ul li .banner_ul_txt {
    margin-left: 15px;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 1px;
    color: #ffffff;
}
@media screen and (max-width: 1400px) {
    .banner_ul ul {
        margin-top: 25px;
    }
}
@media screen and (max-width: 992px) {
    .banner_ul ul {
        margin-top: 25px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 600px) {
    .banner_ul ul {
        display: none;
    }
}
.banner_ul p{
    margin-bottom: 0;
}

/* 4e1e230 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* c4d19f9 */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* 6ca625b */
.banner_ul ul {
    margin-top: 45px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 900px;
}
.banner_ul ul li {
    display: flex;
    align-items: center;
}
.banner_ul li {
    list-style-type: none;
}
.banner_ul ul li .banner_ul_txt {
    margin-left: 15px;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 1px;
    color: #ffffff;
}
@media screen and (max-width: 1400px) {
    .banner_ul ul {
        margin-top: 25px;
    }
}
@media screen and (max-width: 992px) {
    .banner_ul ul {
        margin-top: 25px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 600px) {
    .banner_ul ul {
        display: none;
    }
}

/* 4e1e230 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* c4c8789 */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* a964899 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* 85df3b5 */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* 5f45102 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* 24dafba */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* a964899 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* a964899 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* bc7d4ce */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* a964899 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* bc7d4ce */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* a964899 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* 2fea2bc */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* 0a89b33 */
@media(max-width: 767px){
}

/* a964899 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 20px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: white;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}

/* 2fea2bc */
.ctoform input,.ctoform textarea{
    background-color:#FFFFFF00!important;
    border-color: white!important;
}
.ctoform input::placeholder,.ctoform textarea::placeholder {
  color: white!important;
}
.ctoform button{
    background-color:#EE6E00!important;
}
/* fc74cf9 */

/* b0efb64 */
/* be60d86 */
@media (max-width:1023px){
}

/* 7560e2e */
.uc_fbps_slide {
    height: auto!important;
    aspect-ratio: 956 / 330!important;
}

/* 83543a3 */
.content-padding {
	    min-height: 30vh;
	}
@media (min-width:767px){
	.content-padding {
	    min-height: 32vh;
	}
}
@media (min-width:1023px){
	.content-padding {
	    min-height: 25vh;
	}
}
@media (min-width:1280px){
	.content-padding {
	    min-height: 60vh;
	}
}
@media (min-width:1920px){
	.content-padding {
	    min-height: 45vh;
	}
}

.content-padding img {
  position: absolute;
  bottom: 0;
  right: 0;
}
.ue-text {
    position: relative;
    z-index: 2;
}

/* e03d61b */
.ue-item-icon {
    width: 2.5rem;
    height: 2.5rem;
}
.uc-items-wrapper {
    gap: 7rem;
}
@media(max-width: 1025px){
    .uc-items-wrapper {
        gap: 5rem;
    }
}
@media(max-width: 787px){
    .uc-items-wrapper {
        gap: 2rem;
    }
}

/* 54f2fa7 */
@media (max-width:1023px){
}

/* 24e19bc */
@media (max-width:1023px){
}
/* 368cd2c */
/* 14f87b3 */
.bw_grids {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 25px;
}
@media screen and (max-width: 600px) {
    .bw_grids {
        grid-template-columns: repeat(2, 1fr);
    }
}
.bw_grids .bw_grid {
  cursor: pointer;
  margin-top: 30px;
}

.bw_grids .bw_grid .bw_gridimg {
  position: relative;
}

.bw_grids .bw_grid .bw_gridimg .bwg_img {
  width: 100%;
}

.bw_grids .bw_grid .bwg_bgc {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba( 222 , 116 , 46 , 0.85);
	border-radius: 15px;
}
img.bwg_img {
    border-radius: 15px;
}
.bw_grids .bw_grid .bwg_bgc .bwg_dot {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 60px;
	height: 60px;
	background-color: #ffffff;
	border: solid 1px #ffffff;
  border-radius: 60px;
}

.bw_grids .bw_grid:hover .bwg_bgc{
  display: block;
}

.bw_grids .bw_grid h3 a{
  margin: 30px auto;
  color: #333;
}
.bw_grids .bw_grid h3{
  text-align: center;
  color: white;
    font-family: EncodeSansSemi, Sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6em;
    margin-top: 20px;
}
.bw_grids .bw_grid:hover h3 a{
	text-decoration: underline;
	color: #de742e;
}
/* 3e5d3d0 */


@media (max-width: 767px) {

}

@media (max-width: 450px) {

}

/* 5508598 */
@media(min-width: 1023px) {
}

/* a421759 */

/* 9fe4c15 */

/* 44295de */

/* 5d2217d */

/* cdbcf30 */

/* ac90697 */
.txt-line{
    position: relative;
    padding: 0 0 0 4rem;
    width: fit-content;
    z-index: 1;
   
}
.txt-line::before{
    content:'';
    position: absolute;
    left:0;
    top:2.6rem;
    width: 3.5rem;
    height: 1px;
    border-radius: 2.5rem;
    background: #666;
}
@media screen and (max-width: 445px) {
    .txt-line{padding:0;}
    .txt-line::before {
        display:none;
    }
}

/* d4cc799 */
.elementor-element.elementor-element-34cb3df.e-con-full.e-flex.e-con.e-child {
    display: flex;
    align-content: flex-start;
}
@media(min-width: 1023px) {
}

/* 38d7a7e */

/* 9e83591 */

/* d0b1958 */
.round-bg1{
    position: relative;
    padding: 0.5rem 1rem;
    width: fit-content;
    z-index: 1;
   
}
.round-bg1::after{
    content:'';
    position: absolute;
    bottom:1.5rem;
    right:0rem;
    z-index:-1;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 2.5rem;
    background: #EE6E00;
}

/* 34e39ac */
.w1 .ue-item{height: 110px;}
.w1 .ue-item div{display: flex;flex-direction: row;align-items: center;align-content: center;flex-wrap: nowrap;gap:50px;}
.w1 .ue-item.ue-item-active{box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.1);}
.w1 .uc-items-wrapper{gap:unset!important;}
.ue-item-title {
    width:35%;
}

.ue-item-text {
    width:65%;
}

@media (max-width: 767px) {
.ue-item-title {
    width:100%;
}

.ue-item-text {
    width:100%;
}
.w1 .ue-item div {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
}

/* 2cfed50 */
@media (max-width:787px){
}
@media screen and (max-width: 445px) {
}

/* 69a5766 */
/* 在每个子项底部添加分割线 */
.uc-items-wrapper > * {
    position: relative;
    padding-bottom: 15px; /* 间隙的一半，让线居中 */
}

.uc-items-wrapper > *::after {
    content: '';
    position: absolute;
    bottom: -15px; /* 向下偏移到间隙中间 */
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #d3d3d3;
}

/* 最后一个子项不显示分割线 */
.uc-items-wrapper > *:last-child::after {
    display: none;
}

/* 31d3a6a */
.uc-items-wrapper {
    gap: 3rem;
}
@media (min-width: 2560px){
	.uc-items-wrapper {
	    gap: 6rem;
	}
}

/* 0abf61e */


/* decorative absolute/svg ornaments must not create scrollbars */
.purple-ball {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

/* =============================================================================
   From the Elementor kit custom CSS (site-wide, not per element). The same
   classes are printed inside the ported landing data.
   ============================================================================= */

/* brand lockup above the product/section panels */
.brand-lockup {
	position: relative;
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding-right: var(--lockup-pad);
	margin: 0 0 2rem;
}

.brand-lockup::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: var(--lockup-x);
	height: 130px;
	background: url("../assets/img/x-graphic-v3.png") right bottom / contain no-repeat;
	pointer-events: none;
}

.brand-left {
	display: flex;
	flex-direction: column;
	min-height: 125px;
}

.brand-title-cell {
	flex: 1;
	display: flex;
	align-items: center;
}

.brand-title {
	margin: 0 0 8px;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0;
	color: var(--ink);
	overflow-wrap: break-word;
}

.brand-tagline {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.tagline-img {
	align-self: flex-start;
	display: block;
	width: auto;
	height: 28px !important;
	margin-bottom: -13px;
	z-index: 2;
}

.tagline-bar {
	height: 13px;
	width: 100%;
	background: #e07025;
	z-index: 1;
}

@media (max-width: 767px) {
	.brand-title-cell { align-items: flex-end !important; }
	.brand-lockup::after { height: 70px; }
}

/* skewed dark call-to-action buttons */
.mxt-button,
.w-btn.mxt-button {
	background: var(--ink);
	color: var(--white);
	border-radius: 0;
	clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
	padding: 12px 45px 12px 20px;
}

.mxt-button:hover,
.w-btn.mxt-button:hover {
	background: var(--orange);
	filter: none;
}


/* section 5: label/description rows (Elementor "remote tabs" rendered flat) */
.w-rows {
	display: flex;
	flex-direction: column;
}

.w-rows__row {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 10px;
	border-bottom: 1px solid #251c4d;
}

.w-rows__t {
	width: 33%;
	flex: none;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--ink);
}

.w-rows__x {
	flex: 1;
	margin-left: 2.75rem;
	min-width: 0;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--bg-dark);
}

.w-rows__x > :last-child {
	margin-bottom: 0;
}

/* homepage carousel: one 2x2 mosaic per view */
.w-carousel--page {
	gap: 0;
}

.w-carousel--page .w-carousel__slide {
	width: 100%;
}

.w-carousel--page .w-carousel__slide > .box > .box {
	width: 50%;
}

.w-carousel--page .w-carousel__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.w-carousel--page .w-carousel__slide .w-txt {
	color: var(--ink);
	font-size: 1rem;
	line-height: 1.4;
}

/* section 5 rows keep the same pitch as the live widget */
.w-rows__row {
	min-height: 6.1rem;
}

/* the live widget marks the first row active: a 5% black wash over the gradient */
.w-rows__row:first-child {
	background: rgba(0, 0, 0, 0.05);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* homepage carousel cards: gray copy panels, orange headings, images fill */
.w-carousel--page .w-carousel__slide > .box {
	background: var(--main-bg);
}

.w-carousel--page .w-carousel__slide > .box > .box:not(:has(img)) {
	justify-content: center;
	padding: 5%;
}

.w-carousel--page .w-carousel__slide h3 {
	margin: 0 0 1rem;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--orange);
}

/* the section 7 list is plain rows on the live site: no markers, light rules */
.w-tabs--plain .w-tabs__nav button {
	padding: 10px 10px 15px;
	border-bottom: 1px solid #d8d8d8;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--ink);
}

.w-tabs--plain .w-tabs__nav button::after {
	content: none;
}

.w-tabs--plain .w-tabs__nav button[aria-selected="true"] {
	border-color: #d8d8d8;
	color: var(--orange);
}

/* the two category banners ("AUTO TOOLS" / "WALL TOOLS"): title over the orange
   bar, with the X graphic sitting at the bar's right end. The whole lockup is as
   wide as its content (title + X) and centred, never more. */
.w-html[data-el="58c782d"],
.w-html[data-el="8a32046"] {
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	--lockup-x: 180px;      /* X graphic: exactly the size the live site draws it */
	--lockup-pad: 145px;    /* space reserved for it, 13px of which overlap the bar */
}

@media (max-width: 767px) {
	.w-html[data-el="58c782d"],
	.w-html[data-el="8a32046"] {
		--lockup-x: 119px;
		--lockup-pad: 78px;
	}
}

/* in a wrapping column flex box the line box hugs the content and align-content
   packs it to the left, so align-items alone cannot centre the lockup */
[data-el="6ef2ea8"] {
	align-content: center;
}

/* the WALL TOOLS lockup sits 2rem lower than the AUTO TOOLS one on the live site
   (its widget wrapper carries an extra 2rem bottom margin) */
.w-html[data-el="8a32046"] .brand-lockup {
	margin-bottom: 4rem;
}

/* homepage mosaic carousel: the slide photo is a backdrop behind the 2x2 cards,
   not a standalone block (otherwise it alone sets the slide height) */
.page-id-8535 .w-carousel--page .w-carousel__slide {
	position: relative;
	overflow: hidden;
}

.page-id-8535 .w-carousel--page .w-carousel__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-id-8535 .w-carousel--page .w-carousel__slide > .box {
	position: relative;
	z-index: 1;
}

/* ---------- about: photo band with the mission / values / vision card ---------- */
.w-band {
	position: relative;
	width: 100%;
}

/* the reference keeps the band at a fixed 956 x 330 ratio (its custom CSS
   overrides Elementor's 55vh), so the photo crops the same at every width */
.w-band__stage {
	position: relative;
	height: auto;
	aspect-ratio: 956 / 330;
}

.w-band__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	transition: opacity 0.6s ease;
}

.w-band__bg.is-active {
	opacity: 1;
}

/* the card runs past the photo onto the tab strip, like the reference site */
.w-band__card {
	position: absolute;
	right: 8%;
	bottom: 0;
	box-sizing: border-box;
	width: 35%;
	/* the card is taller than the photo on purpose: it hangs over the tab strip */
	min-height: 60vh;
	padding: 2rem;
	border-radius: 25px;
	background: rgba(255, 255, 255, 0.86);
	display: flex;
	flex-direction: column;
}

.w-band__slide {
	display: none;
	flex-direction: column;
	flex: 1;
}

.w-band__slide.is-active {
	display: flex;
}

.w-band__title {
	margin: 0;
	font-family: var(--font-head);
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ink);
}

.w-band__text {
	margin-top: 1rem;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--ink);
}

.w-band__text p {
	margin: 0;
}

.w-band__img {
	display: block;
	align-self: flex-end;
	width: 50%;
	margin-top: auto;
}

.w-band__strip {
	display: flex;
	justify-content: flex-start;
	padding: 2% 8%;
	background: #f5f5f5;
}

.w-band__tabs {
	display: flex;
	gap: 100px;
}

.w-band__tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 10px;
	border: 0;
	background: none;
	cursor: pointer;
	font-family: var(--font-head);
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ink);
}

.w-band__tab .w-band__ico {
	width: 50px;
}

.w-band__tab svg {
	fill: var(--ink);
}

.w-band__tab.is-active svg {
	fill: var(--orange);
}

@media (min-width: 1920px) {
	.w-band__card {
		min-height: 45vh;
	}
}

@media (max-width: 767px) {
	.w-band__stage {
		aspect-ratio: auto;
		height: 40vh;
	}

	.w-band__card {
		min-height: 0;
	}

	.w-band__card {
		position: static;
		width: 100%;
		max-width: 100%;
		min-height: 0;
		border-radius: 0;
	}

	.w-band__strip {
		display: none;
	}
}

/* counters carrying a caption above the number (about page) */
.w-counter--titled {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: 1rem;
	line-height: 1.4;
}

.w-counter__title {
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ink);
}

/* the "million" suffix inherits the number's 69px line box, which made the row
   ~19px taller than the reference — keep it on its own single line box */
.w-counter--titled .w-counter__suffix,
.w-counter--titled .w-counter__suffix span {
	line-height: 1;
}

.w-counter--titled .w-counter__row {
	display: inline-flex;
	align-items: baseline;
	font-weight: 600;
}

/* video poster (about page): the iframe only loads once the poster is clicked */
.w-video--poster {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}

.w-video__play {
	display: flex;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.w-video__play svg {
	width: 4rem;
	height: auto;
	transition: transform 0.2s ease;
}

.w-video__play:hover svg {
	transform: scale(1.06);
}

/* about hero on phones: the 8% gutter plus the 9rem indents overflow the viewport */
@media (max-width: 767px) {
	[data-el="fece09f"] {
		padding: 5% !important;
	}

	[data-el="2c865c3"],
	[data-el="0373c80"] {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}
}

/* about counters on phones: two 48% columns cannot hold a 69px number */
@media (max-width: 767px) {
	.w-counter--titled {
		width: 100% !important;
		font-size: 2.6rem !important;
		line-height: 1.2 !important;
	}
}

/* the orange panel headings step down with the live global style 0be3dc7,
   which Elementor switches at its 1281px breakpoint (1.6rem / 1.1em) */
@media (max-width: 1281px) {
	[data-el="3d0ed2d"],
	[data-el="38af050"],
	[data-el="b947d17"],
	[data-el="aa2e240"],
	[data-el="682c8e8"] {
		font-size: 1.6rem !important;
		line-height: 1.1 !important;
	}
}

/* about: typography taken from the live page's element styles */
.w-band__tab.is-active .w-band__label,
.w-band__tab:hover .w-band__label {
	color: var(--orange);
}

/* live stacks the number above its caption (Elementor uses column-reverse)
   and centres the number while the caption stays left-aligned */
.w-counter--titled {
	/* block-level flex: as an inline-flex box it sat on a 69px line box and the
	   widget grew ~26px taller than the reference */
	display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
	/* column-reverse: main-start is the bottom, so flex-end keeps the numbers
	   pinned to the top when a longer caption in the pair makes the row stretch */
	justify-content: flex-end;
}

.w-counter--titled .w-counter__row {
	align-self: center;
}

/* "Why Partner" cards: reference sizes (1.2rem title / 1rem body) */
.page-id-704 .w-carousel__title {
	font-size: 1.2rem;
	line-height: 1.92rem;
	font-weight: 600;
}

.page-id-704 .w-carousel__text {
	font-size: 1rem;
	line-height: 1.4;
	color: var(--ink);
}


/* arrow badge inside a .w-btn (about CTA): 1em like Elementor, 10px gap */
.w-btn__icon {
	flex: none;
	width: 1em;
	margin-left: 10px;
}

.w-btn__icon svg {
	fill: none;
}

/* outlined pill button on a dark band (overrides the filled .w-btn) */
.w-btn.btn--ghost {
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 25px;
	padding: 0.5rem 2rem;
}

.w-btn.btn--ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	filter: none;
}

/* category mosaics: single-photo cells fill the row height without distortion
   (cover crops at most a few px, the alternative is a ragged bottom edge) */
[data-el="a421759"] > .w-img,
[data-el="cdbcf30"] > .w-img,
[data-el="38d7a7e"] > .w-img,
[data-el="9065927"] > .w-img,
[data-el="b3303e7"] > .w-img {
	display: block;
	height: 100%;
	object-fit: cover;
}

/* category grid rows: spacing lives on the grid, not as trailing margins on the
   cells (a trailing margin made the grey panel overshoot the photos) */
[data-el="d4cc799"] {
	row-gap: 1rem;
}

[data-el="d4cc799"] > .box {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* ==========================================================================
   Decorative rules in front of a paragraph (.banner-line / .banner-line1).
   The Elementor custom CSS that produced these was copied per page, so the
   same class had several definitions and the last one silently won. Keep one
   canonical pair here and scope the variants to the pages that really use them.
   ========================================================================== */

/* about + be-a-dealer: 8rem rule, 9rem indent */
.banner-line {
	position: relative;
	z-index: 1;
	width: fit-content;
	padding: 0 0 0 9rem;
}

.banner-line::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.8rem;
	width: 8rem;
	height: 1px;
	border-radius: 2.5rem;
	background: #d8d8d8;
}

/* about greys the rule slightly darker than the rest of the site */
.page-id-704 .banner-line::before {
	background: #ababae;
}

.banner-line1 {
	position: relative;
	z-index: 1;
	width: fit-content;
	padding: 0 0 0 7.5rem;
}

.banner-line1::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 7rem;
	height: 1px;
	border-radius: 2.5rem;
	background: #d8d8d8;
}

@media (max-width: 1023px) {
	.banner-line {
		padding: 0 0 0 3rem;
	}

	.banner-line::before {
		width: 2.5rem;
	}

	.banner-line1 {
		padding: 0 0 0 4.5rem;
	}

	.banner-line1::before {
		width: 4rem;
	}
}

/* product landing pages: a tighter 6rem rule that sits lower on the line */
.page-id-3807 .banner-line,
.page-id-3943 .banner-line,
.page-id-4641 .banner-line,
.page-id-4748 .banner-line,
.page-id-4886 .banner-line,
.page-id-4911 .banner-line,
.page-id-4960 .banner-line,
.page-id-4980 .banner-line,
.page-id-5003 .banner-line,
.page-id-5020 .banner-line,
.page-id-5036 .banner-line {
	padding: 0 0 0 7rem;
}

.page-id-3807 .banner-line::before,
.page-id-3943 .banner-line::before,
.page-id-4641 .banner-line::before,
.page-id-4748 .banner-line::before,
.page-id-4886 .banner-line::before,
.page-id-4911 .banner-line::before,
.page-id-4960 .banner-line::before,
.page-id-4980 .banner-line::before,
.page-id-5003 .banner-line::before,
.page-id-5020 .banner-line::before,
.page-id-5036 .banner-line::before {
	top: 1.2rem;
	width: 6rem;
}

@media (max-width: 767px) {
	.page-id-3807 .banner-line,
	.page-id-3943 .banner-line,
	.page-id-4641 .banner-line,
	.page-id-4748 .banner-line,
	.page-id-4886 .banner-line,
	.page-id-4911 .banner-line,
	.page-id-4960 .banner-line,
	.page-id-4980 .banner-line,
	.page-id-5003 .banner-line,
	.page-id-5020 .banner-line,
	.page-id-5036 .banner-line {
		padding: 0 0 0 5rem;
	}

	.page-id-3807 .banner-line::before,
	.page-id-3943 .banner-line::before,
	.page-id-4641 .banner-line::before,
	.page-id-4748 .banner-line::before,
	.page-id-4886 .banner-line::before,
	.page-id-4911 .banner-line::before,
	.page-id-4960 .banner-line::before,
	.page-id-4980 .banner-line::before,
	.page-id-5003 .banner-line::before,
	.page-id-5020 .banner-line::before,
	.page-id-5036 .banner-line::before {
		width: 4rem;
	}
}

/* about "Why Partner" strip: 4 cards of 3:2 photos, 20px gutters (live) */
.page-id-704 .w-carousel--partner {
	gap: 20px;
}

.page-id-704 .w-carousel--partner .w-carousel__slide {
	width: calc((100% - 60px) / 4);
	min-width: 0;
	background: none;
}

.page-id-704 .w-carousel--partner .w-carousel__img {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
	/* same card shape as the homepage strip: the photo carries the top corners */
	border-radius: 16px 16px 0 0;
}

/* the photo is the only thing above the panel, so the four cards share one height */
.page-id-704 .w-carousel--partner .w-carousel__slide {
	display: flex;
	flex-direction: column;
	/* all four corners, otherwise the white paper shows square wedges above the
	   rounded photo */
	border-radius: 16px;
}

.page-id-704 .w-carousel--partner .w-carousel__body {
	flex: 1;
	padding: 1rem;
	border-radius: 0 0 16px 16px;
}

/* four cards only fit on a desktop width; the strip slides, so drop to two
   and then one card per view instead of squeezing them */
@media (max-width: 1023px) {
	.page-id-704 .w-carousel--partner .w-carousel__slide {
		width: calc((100% - 20px) / 2);
	}
}

@media (max-width: 767px) {
	.page-id-704 .w-carousel--partner .w-carousel__slide {
		width: 100%;
	}
}
