/* Dos circles menu */
.dos-circles-menu-medium {
  --dos-circles--size: 150px;
  --dos-circles--gap: 5px;
  --dos-circles--margin-top: 0px;
  --dos-circles--margin-bottom: 0px;
  --dos-circles--image-x: 0px;
  --dos-circles--image-y: 0px;
 }

.dos-circles-menu {
  box-sizing: border-box;
  width: 100%;
  margin: var(--dos-circles--margin-top) auto var(--dos-circles--margin-bottom);
  padding: 0;
  font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android,
        var(--font-montserrat, sans-serif), sans-serif;
  .dos-circles-menu__scroll {
    overflow-x: auto;
    display: block;
    -webkit-overflow-scrolling: touch;
    padding: 10px 0 20px;
    ul {
      box-sizing: border-box;
      display: flex;
      flex-direction: row;
      width: max-content;
      min-width: 100%;
      padding: 0;
      margin: 0;
      gap: var(--dos-circles--gap);
      justify-content: flex-start;
      li {
        box-sizing: content-box;
        flex: 0 0 auto;
        padding: 0;
        list-style: none;
        width: var(--dos-circles--size);
        height: var(--dos-circles--size);
        margin: 0 auto;
        border-radius: 50%;
        border: 1px solid rgb(237, 246, 255);
        &:hover,
        &:focus-visible {
          border-color: rgb(175, 185, 194);
        }
        a {
          display: block;
          color: #000;
          text-decoration: none;
          &:focus-visible {
            outline: 2px solid #000;
            outline-offset: -2px;
            border-radius: 2px;
          }
          .dos-circles-menu__item-circle {
            position: relative;
            width: var(--dos-circles--size);
            height: var(--dos-circles--size);
            overflow: hidden;
            clip-path: circle(45%);
            background: #f6f6f8;
            img {
              box-sizing: content-box;
              position: absolute;
              top: var(--dos-circles--image-y, 0px);
              left: var(--dos-circles--image-x, 0px);
              display: block;
              width: var(--dos-circles--size);
              height: var(--dos-circles--size);
              max-width: none;
              margin: 0;
              padding: 0;
              border: 0;
              object-fit: contain;
            }
          }
          p {
            width: auto;
            max-width: none;
            margin: 0 auto;
            padding: 0;
            font-size: 13px;
            font-weight: 500;
            line-height: 1.3;
            color: #000;
            text-align: center;
            text-wrap: balance;
            white-space: normal;
            overflow-wrap: normal;
            word-break: normal;
            hyphens: none;
            text-decoration: underline;
            text-underline-offset: 3px;
            &:hover,
            &:focus-visible {
              text-decoration: none;
            }
          }
        }
      }
    }
    .dos-circles-menu__list--auto-gap {
      justify-content: space-between;
    }
  }
}

@media all and (min-width: 1055px) {
    .dos-circles-menu .dos-circles-menu__list--center:not(.dos-circles-menu__list--auto-gap) {
justify-content: center;
    }
}

/* dos-banner__code-pace */
.dos-banner__code-pace{
  width:100%;
  max-width:1500px;
  margin:0 auto 10px;
  color:#000;
  background:#fff;
  font-family:Montserrat,Montserrat-fallback,Montserrat-fallback-android,var(--font-montserrat),sans-serif;
  text-align:center

}
.dos-banner__code-pace *{
  box-sizing:border-box
}
.dos-banner__code-pace .dos-banner__logos{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(6px,1.2vw,18px);
  padding:12px 8px;
  background:#000
}
.dos-banner__code-pace .dos-banner__logo-copy{
  margin:0;
  color:#fff;
  text-transform:uppercase;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:clamp(.6px, .15vw, 2px)
}
.dos-banner__code-pace .dos-banner__360-logo{
  display:block;
  width:82px;
  height:auto;
  flex:0 0 auto
}
.dos-banner__code-pace .dos-banner__products{
  display:grid;
  grid-template-columns:minmax(0,1fr)
}
.dos-banner__code-pace .dos-banner__product{
  min-width:0;
  grid-area:1/1
}
.dos-banner__code-pace .dos-banner__product--pace{
  background:#d7ff3b
}
.dos-banner__code-pace .dos-banner__product--code{
  background:#17cbff
}
.dos-banner__code-pace .dos-banner__product-heading{
  margin:0;
  padding:10px 8px;
  font-size:16px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:clamp(3px, .5vw, 6px);
  text-transform:uppercase
}
.dos-banner__code-pace picture{
  display:block
}
.dos-banner__code-pace .dos-banner__product-img{
  display:block;
  width:100%;
  height:auto
}
.dos-banner__code-pace .dos-banner__product-logo{
  display:block;
  width:clamp(130px,18vw,230px);
  height:88px;
  object-fit:contain;
  padding:14px 0;
  margin:0 auto
}
.dos-banner__code-pace .dos-banner__text-items{
  padding:14px 20px 24px
}
.dos-banner__code-pace .dos-banner__heading{
  margin:0 auto;
  font-family:Oswald,Oswald-fallback,Oswald-fallback-android,var(--font-oswald),sans-serif;
  font-size:35px;
  line-height:.95;
  letter-spacing:-.5px;
  font-weight:700;
  text-transform:uppercase;
  text-wrap:balance
}
.dos-banner__code-pace .dos-banner__sub-heading{
  margin:20px auto 0;
  max-width:600px;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  text-wrap:balance
}
.dos-banner__code-pace .dos-banner__links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  list-style:none;
  padding:0;
  margin:16px auto 0;
  max-width:1200px
}
.dos-banner__code-pace .dos-banner__link-item{
  width:100%;
  max-width:280px;
  margin:0
}
.dos-banner__code-pace .dos-banner__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:40px;
  padding:10px 16px;
  border:1px solid #000;
  background:#000;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  transition:background-color .2s,color .2s
}
.dos-banner__code-pace .dos-banner__link--pace{
  background:#d7ff3b;
  border-color:#d7ff3b;
  color:#000
}
.dos-banner__code-pace .dos-banner__link--code{
  background:#17cbff;
  border-color:#17cbff;
  color:#000
}
.dos-banner__code-pace .dos-banner__link:focus-visible,.dos-banner__code-pace .dos-banner__link:hover{
  background:#fff;
  color:#000;
  border-color:#000
}
.dos-banner__code-pace .dos-banner__link:focus-visible{
  outline:2px solid #000;
  outline-offset:3px
}
@media (max-width:749px){
  .dos-banner__code-pace .dos-banner__product--pace{
    animation:pace-code-na-first 4s infinite
  }
  .dos-banner__code-pace .dos-banner__product--code{
    animation:pace-code-na-second 4s infinite
  }
}
@media (min-width:750px){
  .dos-banner__code-pace .dos-banner__heading{
    font-size:50px
  }
  .dos-banner__code-pace .dos-banner__sub-heading{
    font-size:16px
  }
  .dos-banner__code-pace .dos-banner__logos{
    padding:16px 20px
  }
  .dos-banner__code-pace .dos-banner__products{
    grid-template-columns:repeat(var(--hero-banne--columns),minmax(0,1fr))
  }
  .dos-banner__code-pace .dos-banner__product{
    grid-area:auto
  }
  .dos-banner__code-pace .dos-banner__product-logo{
    height:clamp(90px,12vw,150px);
  padding:18px 0
  }
  .dos-banner__code-pace .dos-banner__links{
    flex-direction:row;
    justify-content:center;
    gap:24px;
    margin-top:24px
  }
  .dos-banner__code-pace .dos-banner__link-item{
    max-width:340px;
    flex:1
  }
  .dos-banner__code-pace .dos-banner__logo-copy{
    font-size:18px
  }
  .dos-banner__code-pace .dos-banner__360-logo{
    width:190px
  }
  .dos-banner__code-pace .dos-banner__product-heading{
    font-size:clamp(21px, calc(1vw + .85rem), 28px)
  }
}
@keyframes pace-code-na-first{
  0%,45%{
    opacity:1;
    visibility:visible
  }
  100%,50%{
    opacity:0;
    visibility:hidden
  }
}
@keyframes pace-code-na-second{
  0%,45%{
    opacity:0;
    visibility:hidden
  }
  100%,50%{
    opacity:1;
    visibility:visible
  }
}
@media (prefers-reduced-motion:reduce){
  .dos-banner__code-pace .dos-banner__link{
  transition:none
  }
}








/* Dos Block 1 */


		.dos-banner-block {
			margin: 0 auto;
			width: 100%;
			padding: 0;
			position: relative;
			box-sizing: border-box;
			max-width:1500px;
		}
		.dos-banner-block {
			margin-top: 16px;
			margin-bottom: 32px;
		}
		.dos-banner-block .dos-banner__content {
			display:grid;
			grid-template-columns: 1fr;
			align-items: center;
		}
		.dos-banner-block .dos-banner__images {
			position:relative;
		}
		.dos-banner-block .dos-banner__img {
			margin: 0 auto;
			object-fit: contain;
			height: auto;
			display:block;
			width:100%;
		}
		.dos-banner-block .dos-banner__text-items {
			margin: 0;
			align-self:center;
			padding:0;
			z-index:1;
		}
		.dos-banner-block .dos-banner__heading {
			margin: 0 auto;
			padding: 25px 20px 0;
			line-height: 0.95;
			letter-spacing: -.5px;
			font-family: Oswald, Oswald-fallback, Oswald-fallback-android, var(--font-oswald), sans-serif;
			text-transform: uppercase;
			font-weight: 700;
			text-align: center;
			text-wrap: balance;
			font-size:35px;
			max-width:500px;
			color:#000;
		}
		.dos-banner-block .dos-banner__sub-heading {
			font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android, var(--font-montserrat), sans-serif;
			text-align: center;
			padding: 0 20px;
			margin: 20px auto;
			font-weight: 600;
			font-size:16px;
			text-wrap:balance;
			line-height:1.2;
			color:#000;
			max-width:570px;
		}
		.dos-banner-block .dos-banner__text-items .dos-banner__text {
			font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android, var(--font-montserrat), sans-serif;
			font-size: 16px;
			font-weight: 400;
			font-stretch: normal;
			line-height: 1.4;
			text-align: center;
			max-width: 930px;
			margin: 20px auto;
			padding: 0;
			color: #000;
		}
		.dos-banner-block .dos-banner__links {
			padding: 0;
			display: flex;
			flex-direction: row;
			justify-content: center;
			align-items: center;
			flex-wrap: wrap;
			max-width:800px;
			margin: 20px auto 10px;
		}
		.dos-banner-block .dos-banner__link-item {
			margin: 0 20px;
			width: 100%;
			list-style: none;
		}
		.dos-banner-block .dos-banner__link {
			display: inline-block;
			box-sizing: border-box;
			font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android, var(--font-montserrat), sans-serif;
			text-align: center;
			text-decoration: none;
			font-size: 14px;
			-webkit-transition: .3s;
			transition: .3s;
			width: 100%;
			padding: 10px 2em;
			margin: 0 auto 15px;
			font-weight:600;
			text-wrap:balance;
			background-color: #000;
			color: #fff;
			border: 1px solid #000;
		}
		.dos-banner-block .dos-banner__link:hover,
		.dos-banner-block .dos-banner__link:focus {
			background-color: #000;
			color: #fff;
			border: 1px solid #000;
		}
		.dos-banner-block .dos-banner__extra-images.extra-images--three-extra-images,
		.dos-banner-block .dos-banner__extra-images.extra-images--two-extra-images {
			display:grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 7px;
			list-style: none;
			padding:0;
			text-align:center;
			margin: 0 auto;
			z-index:1;
		}
		.dos-banner-block .dos-banner__extra-images.extra-images--three-extra-images .dos-banner__extra-image:nth-child(1) {
			grid-column: 1 / span 2;
		}
		.dos-banner-block .dos-banner__extra-image-copy {
			font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android, var(--font-montserrat), sans-serif;
			font-size:14px;
			text-decoration:underline;
			text-wrap:balance;
			padding:0 5px;
		}
		.dos-banner-block .dos-banner__extra-image-copy {
			color:#000;
		}
		.dos-banner-block .dos-banner__extra-image-area {
			text-decoration:none;
		}
		.dos-banner-block a.dos-banner__extra-image-area:hover,
		.dos-banner-block a.dos-banner__extra-image-area:hover .dos-banner__extra-image-copy {
			text-decoration:none;
		}

		@media all and (min-width: 1500px) {
			.dos-banner-block .dos-banner__extra-images.extra-images--two-extra-images .dos-banner__extra-image {
				max-width:250px;
			}
			.dos-banner-block .dos-banner__text-items {
				align-self:end;
			}
		}
		@media all and (min-width: 720px) {
			.dos-banner-block .dos-banner__heading {
				padding:25px 0 0;
			}
			.dos-banner-block .dos-banner__heading {
				color: #000;
			}
			.dos-banner-block .dos-banner__sub-heading {
				padding:0;
			}
			.dos-banner-block .dos-banner__sub-heading {
				color: #000;
			}
			.dos-banner-block .dos-banner__links {
				margin: 60px auto 50px;
			}
			.dos-banner-block .dos-banner__sub-heading + .dos-banner__links {
				margin: 35px auto 50px;
			}
			.dos-banner-block .dos-banner__link-item {
				margin: 0 10px;
			}
			.dos-banner-block .dos-banner__content {
				display:grid;
				grid-template-columns: auto 38%;
				align-items: center;
			}
			.dos-banner-block .dos-content--three-extra-images {
				grid-template-rows: 58% 42%;
			}
			.dos-banner-block .dos-content--two-extra-images {
				grid-template-rows: 57% 43%;
			}
			.dos-banner-block .dos-banner__images {
				grid-column: 1 / span 2;
				grid-row: 1 / span 2;
			}
			.dos-banner-block .dos-banner__text-items {
				grid-column: 1;
				grid-row: 1;
			}
			.dos-banner-block .dos-banner__extra-images.extra-images--three-extra-images,
			.dos-banner-block .dos-banner__extra-images.extra-images--two-extra-images {
				grid-column: 1;
				grid-row: 2;
				align-self:end;
				margin-bottom:30px;
				padding: 0 30px;
			}
		}
		.dos-banner-block .dos-banner-roundal {
			position: absolute;
			font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android, var(--font-montserrat), sans-serif;
			font-weight: bold;
			width: 22vw;
			height: 22vw;
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			flex-direction: column;
			text-align: center;
		}
		.dos-banner-block .dos-banner-roundal {
			background:#2FDEAF;
			color:#000;
		}
		.dos-banner-block .dos-banner-roundal--small-copy {
			font-size: 4vw;
			font-family: Montserrat, Montserrat-fallback, Montserrat-fallback-android, var(--font-montserrat), sans-serif;
			line-height:1;
			font-weight:400;
		}
		.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy {
			font-family: Oswald, Oswald-fallback, Oswald-fallback-android, var(--font-oswald), sans-serif;
			line-height: 0.9;
			padding: 0 0 1.6%;
			font-weight:600;
		}
		.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy.dos-banner-roundal-copy--three-characters {
			font-size: 9vw;
		}
		.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy.dos-banner-roundal-copy--six-characters {
			font-size: 6.5vw;
		}
		.dos-banner-block .dos-banner-roundal--top-right {
			top: 2%;
			right: 2%;
		}
		.dos-banner-block .dos-banner-roundal--bottom-right {
			bottom: 2%;
			right: 2%;
		}
		@media screen and (min-width: 1200px) {
			.dos-banner-block .dos-banner__heading {
				font-size:50px;
			}
		}
		@media screen and (min-width: 1100px) {
			.dos-banner-block .dos-banner-roundal--top-right {
				top: 4%;
				right: 3%;
			}
			.dos-banner-block .dos-banner-roundal--bottom-right {
				bottom: 4%;
				right: 3%;
			}
			.dos-banner-block .dos-banner__content {
				grid-template-columns: auto 46%;
			}
		}
		@media all and (min-width: 891px) {
			.dos-banner-block .dos-banner__extra-image-copy {
				color:#000;
			}
			.dos-banner-block .dos-banner__extra-image {
				background:#fff;
				border:3px solid #fff;
				color:#000;
			}
		}
		@media screen and (min-width: 720px) {
			.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy.dos-banner-roundal-copy--three-characters {
				font-size: 68px;
			}
			.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy.dos-banner-roundal-copy--six-characters {
				font-size: 42px;
			}
			.dos-banner-block .dos-banner-roundal--small-copy {
				font-size: 19px;
			}
			.dos-banner-block .dos-banner-roundal {
				width: 150px;
				height: 150px;
			}
		}
		@media all and (min-width: 510px) {
			.dos-banner-block .dos-banner__extra-images.extra-images--three-extra-images {
				grid-template-columns: repeat(3, 1fr);
			}
			.dos-banner-block .dos-banner__extra-images.extra-images--three-extra-images .dos-banner__extra-image:nth-child(1) {
				grid-column: 1;
			}
			.dos-banner-block .dos-banner__extra-images.extra-images--two-extra-images {
				grid-template-columns: repeat(2, 1fr);
			}
		}
		@media all and (min-width: 440px) {
			.dos-banner-block .dos-banner__link-item {
				max-width:360px;
			}
		}
		@media all and (max-width: 360px) {
			.dos-banner-block .dos-banner__heading {
				font-size:10vw;
			}
		}
		@media all and (max-width: 1500px) and (min-width: 891px) {
			.dos-banner-block .dos-banner__extra-images.extra-images--two-extra-images .dos-banner__extra-image {
				max-width:18vw;
			}
		}
		@media all and (max-width: 1150px) and (min-width: 1100px) {
			.dos-banner-block .dos-banner__heading {
				padding: 10px 0 0;
			}
		}
		@media all and (max-width: 890px) and (min-width: 720px) {
			.dos-banner-block .dos-banner__content {
				grid-template-rows: auto auto;
			}
			.dos-banner-block .dos-banner__images {
				grid-row: 1;
			}
			.dos-banner-block .dos-banner__text-items {
				grid-column: 1;
				grid-row: 1;
			}
			.dos-banner-block .dos-banner__extra-images.extra-images--two-extra-images,
			.dos-banner-block .dos-banner__extra-images.extra-images--three-extra-images {
				grid-column: 1 / span 2;
				grid-row: 2;
				align-self: center;
				margin-bottom:0;
				padding: 10px 10px 0;
			}
		}
		@media all and (max-width: 1100px) and (min-width: 890px) {
			.dos-banner-block .dos-content--three-extra-images {
				grid-template-rows: 65% 35%;
			}
		}
		@media all and (max-width: 1100px) and (min-width: 400px) {
			.dos-banner-block .dos-banner-roundal--small-copy {
				font-size: 14px;
			}
			.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy.dos-banner-roundal-copy--three-characters {
				font-size: 34px;
			}
			.dos-banner-block .dos-banner-roundal .dos-banner-roundal--large-copy.dos-banner-roundal-copy--six-characters {
				font-size: 24px;
			}
			.dos-banner-block .dos-banner-roundal {
				width:85px;
				height:85px;
			}
		}

