:root {
    --aspect-r: calc(100vw / 2.75);
    --aspect-r2: calc(100vw / 1.8);
    --aspect-r3: calc(100vw / 4.5);
}
.hero-image-accent {display: block; position: absolute; bottom: 0; left: 0; right: 0; width: 100%; height: 40px;background: url('/project/graphics/photos/dealer/dealer/topoline-horizontal-medium-blue.svg');background-size: cover;background-position: center;}
#patterns-colors-hero {display: flex; position: relative; flex-direction: row; justify-content: flex-start; align-items: center; height: 400px;width: 100%;background: url('/project/graphics/photos/dealer/dealer/pleasure-boat/chicago-sub-hero-image-drone.webp');background-size: cover;background-position: center;padding-left: 16px;transition: padding .3s;margin-top: 132px;}
.patterns-colors-hero-wrapper {display: flex; flex-direction: column; justify-content: center; align-items: flex-start; position: relative;width: 90%; max-width: 380px;transition: max-width .7s;}
#patterns-colors-hero h1 {display: block; font-family: var(--font-b2); font-size: 36px; color: #fafafa;transition: font-size .7s;}
#patterns-colors-hero p {font-family: var(--font-r); font-size: 16px; color: #fafafa;margin-top: 26px;transition: font-size .7s;max-width: 65%;}
#patterns-colors-hero .cta {margin-top: 50px;}
#scroll-down {display: flex; justify-content: center; align-items: center; position: absolute; bottom: 56px; left: 0; right: 0; margin: 0 auto; width: 38px; height: 38px;}
#scroll-down img {width: 85%; height: 85%;transition: width .5s, height .5s;}
#scroll-down.pulse img {width: 100%; height: 100%;}
#patterns-colors-product {justify-content: flex-start;position: relative;background: url('/project/graphics/photos/web/topographic-background.webp');background-size: cover;background-position: center;padding: 0 16px;height: 1000px;padding-top: 90px; transition: height .7s;}
#aquatraction-overlap-panels {display: block;height: 735px; width: 735px; position: absolute; top: 370px; right: -360px;max-width: unset;transition: right .7s, top .7s;}
#patterns-colors-panel-break {display: flex; flex-direction: row; justify-content: center; align-items: center;width: 100%; min-height: 310px; background-color: #007dba;    padding: 90px 0;}
.patterns-colors-panel-break-inner {display: flex; flex-direction: row; justify-content: space-between; align-items: center;flex-wrap: wrap;width: 100%; max-width: 1100px;margin: 0 auto;padding: 0 16px;transition: padding .3s;}
.panel-item {display: flex;flex-direction: column; justify-content: center; align-items: center;width: 50%;}
.panel-item img {width: auto; height: 70px;}
.panel-item .panel-item-text {font-family: var(--font-h); font-size: 14px; color: #002a3a;height: 36px;margin-top: 16px;text-align: center;}
#patterns-colors-product .info-panel-body {transition: max-width .3s;}
#patterns-colors-video {display: flex; justify-content: center; align-items: center;position: absolute;right: 0; left: 0; bottom: 0;height: var(--aspect-r); width: 100%; background: url('/project/graphics/photos/web/patterns-colors-video-thumbnail.webp');background-size: cover;background-position: center;overflow: hidden;transition: height .7s;}
#patterns-colors-why {overflow: hidden;height: calc(var(--aspect-r) + 600px);justify-content: flex-start;padding-top: 90px}
#patterns-colors-slideshow {display: flex; position: relative; justify-content: flex-start; align-items: center; width: 100%;max-width: 1000px;height: calc(100vw / 2.37); max-height: 465px; min-height: 350px; margin: 105px auto; overflow: hidden;}
.patterns-colors-slide {display: flex; flex-direction: column;justify-content: center; align-items: flex-start;position: absolute;top: 0; left: 16px; right: 16px; bottom: 0; background: url('/project/graphics/photos/web/patterns-colors-slideshow-1.webp');background-size: cover;background-position: center;overflow: hidden;transition: height .7s;padding-left: 40px;}
#patterns-colors-why .info-panel-title h3 {font-size:  36px}
#patterns-colors-why .info-panel-body p {font-size:  14px}
#patterns-colors-why .info-panel-message.overflow {width: 100%;max-width: 700px;}
.patterns-colors-slide-title {font-family: var(--font-h);font-size: 32px;color: #fafafa;max-width: 300px;}
.patterns-colors-slide-body {font-family: var(--font-r);font-size: 14px;color: #fafafa;max-width: 300px;margin-top: 24px;}
.patterns-colors-slide-cta {margin-top: 56px;}
#patterns-section {display: flex; flex-direction: column; justify-contnet: flex-start; align-items: flex-start; padding: 0 16px; width: 100%; max-width: 1100px; margin: 80px auto 40px auto;}
#patterns-section h2 {font-family: var(--font-h); font-size: 48px; color: #002A3A;margin-bottom: 40px;}
.pattern-item-wrapper {display: flex; flex-direction: row; justify-content: space-evenly; align-items: flex-start; flex-wrap: wrap;width: 100%;}
.pattern-item {display: flex; flex-direction: column; justify-content: center; align-items: center; height: calc(var(--aspect-r) * 2); width: 50%;margin-bottom: 56px;padding: 0 8px;}
.pattern-item:first-child {padding: 0 16px 0 0;}
.pattern-item:nth-child(2) {padding: 0 0 0 16px;}
.pattern-item:nth-child(3) {padding: 0 16px 0 0;}
.pattern-item:last-child {padding: 0 0 0 16px;}
.pattern-item img {display: flex; height: auto; width: 100%;}
.pattern-item h5 {font-family: var(--font-r); font-size: 20px; color: #000000; margin-top: 24px; width: 100%; text-align: left;}

#colors-section {display: flex; flex-direction: column; justify-contnet: flex-start; align-items: flex-start; padding: 0 16px; width: 100%; max-width: 1100px; margin: 20px auto 40px auto;}
#colors-section h2 {font-family: var(--font-h); font-size: 48px; color: #002A3A;margin-bottom: 40px;}
.color-item-wrapper {display: flex; flex-direction: row; justify-content: space-evenly; align-items: flex-start; flex-wrap: wrap;width: 100%;}
.color-item {display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; height: calc(var(--aspect-r3) * 1.75); width: 50%;margin-bottom: 36px;padding: 0 8px;}
.color-item:first-child {padding: 0 16px 0 0;}
.color-item:nth-child(2) {padding: 0 0 0 16px;}
.color-item:nth-child(3) {padding: 0 16px 0 0;}
.color-item:last-child {padding: 0 0 0 16px;}
.color-item img {display: flex; height: auto; width: 100%;}
.color-item h5 {display: flex;flex-direction: column; justify-content:center;align-items: center; position: absolute; bottom: -40px;font-family: var(--font-r); font-size: 20px; color: #000000; margin-top: -10px; width: 100%; text-align: center;height: 55px;}
.color-item h5 span {font-size: 14px;margin-left: 3px;font-family: var(--font-h);color: #aaa;}


/**/
#hero-image-floating-info {display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background-color: #fff; padding: 40px 16px;width: 100%; max-width: 780px;box-shadow: unset;margin-top: 0;z-index: 7; margin-left: 0;transition: margin .3s, font-size .7s, padding .3s, margin .3s;}
.floating-hero-wrapper {display: flex; flex-direction: column; justify-content: center; align-items: flex-start;}
#hero-image-floating-info .floating-hero-wrapper h1 {display: block; font-family: var(--font-b2); font-size: 48px; color: #002A3A;transition: font-size .7s;}
#hero-image-floating-info .floating-hero-wrapper p {font-family: var(--font-r); font-size: 20px; color: #002A3A;margin-top: 16px;transition: font-size .7s;max-width: 575px;}
#hero-image-floating-info .floating-hero-wrapper .cta {margin-top: 56px;}


#why-us-product.info-panel {justify-content: flex-start;position: relative;background: url('/project/graphics/photos/web/topographic-background.webp');background-size: cover;background-position: center;padding: 0 16px; height: auto;}
.info-panel-inner-sub {display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 64px 32px 100px 32px;}
.info-title {display: flex; font-family:var(--font-h); font-size: 14px; color: #7C878E;}
.info-body {display: flex; font-family: var(--font-r);font-size: 32px; color: #000000;max-width: 690px;text-align: center;margin-top: 40px;}

/**/
.why-us-panel .info-panel-message.overflow {max-width: 90%;}
.why-us-panel {display: flex; flex-direction: column-reverse; justify-content: center; align-items: flex-start;width: 100%; height: auto;max-width: 1100px; padding: 0 16px; margin: 0 auto;}
.why-us-panel.last {margin-bottom: 80px;}
.why-us-panel.reverse {flex-direction: column-reverse}
.why-us-text {display: flex; flex-direction: column; justify-content: center; align-items: flex-start;width: 100%;height: auto; padding: 32px 0;}
.why-us-panel.reverse .why-us-text {padding-left: 0;}
.why-us-text .info-panel-intro {color: #7C878E}
.why-us-text .info-panel-title h3 {color: #002A3A}
.why-us-text .info-panel-body p {color: #242424;max-width: 80%;}
.why-us-panel .info-panel-inner {margin-left: 0;}

.why-us-collage {display: flex; position: relative;width: 100%; height: 100vw;max-height: 550px;align-self: center;margin-top: 40px;max-width: 600px;}
.why-us-collage .puck {display: block; width: auto; height: 80%; position: absolute; bottom: 0; right: -10vw;z-index: 4;transition: right .5s;}
.why-us-panel.reverse .why-us-collage .puck {right: unset; left: -10vw;}
.why-us-collage .portrait {display: block; width: 50%; height: 100%; position: absolute; padding-right: 3px;left: 0; top: 0; bottom: 0;z-index: 3;transition: padding .3s;}
.why-us-collage .portrait-inner {display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%;}
.why-us-panel.reverse .why-us-collage .portrait {left: unset; right: 0;padding-right: 0;padding-left: 3px;}
.why-us-collage .square {display: block; width: 50%; height: auto; position: absolute; padding-left: 3px; right: 0; top: 0;z-index: 3;transition: padding .3s;}
.why-us-panel.reverse .why-us-collage .square {right: unset; left: 0; padding-left: 0; padding-right: 3px;}
.why-us-panel .portrait img, .why-us-panel .square img {height: auto; width: 100%;}


@media only screen and (min-width: 500px) {
    #aquatraction-overlap-panels {top: 370px;right: -35vw;}
}
@media only screen and (min-width: 570px) {
    #patterns-colors-hero {padding-left: 32px;}
    #patterns-colors-hero h1 {font-size: 42px;}
    #patterns-colors-hero p {max-width: unset;}
    .patterns-colors-hero-wrapper {max-width: 375px;}
    .patterns-colors-panel-break-inner {padding: 0 32px;}
    .panel-item {width: 33%;}
    #patterns-colors-product {padding: 90px 32px 0 32px;/*height: 895px*/}
    #aquatraction-overlap-panels {/*top: 230px;right: -35vw;*/}
    #patterns-colors-product .info-panel-body {max-width: unset;}
    #patterns-colors-why .info-panel-title h3 {font-size:  48px}
    .patterns-colors-slide {left: 32px; right: 32px}
    .patterns-colors-slide {padding-left: 100px;}
    .color-item h5 {bottom: -20px;}
    #hero-image-floating-info .floating-hero-wrapper h1 {font-size: 56px;}
    #hero-image-floating-info {padding: 40px 32px;}
    .why-us-collage .puck { width: 400px; height: auto; right: 0;}
    .why-us-panel.reverse .why-us-collage .puck {left: 0;}
    .why-us-collage  {height: 600px;}
    .why-us-collage .portrait {padding-right: 11px;}
    .why-us-collage .square {padding-left: 11px;}
    .why-us-panel.reverse .why-us-collage .portrait {padding-left: 11px;}
    .why-us-panel.reverse .why-us-collage .square {padding-right: 11px;}
    .why-us-panel {padding: 0 32px;}
}
@media only screen and (min-width: 700px) {
    #patterns-colors-hero {padding-left: 56px;}
    #patterns-colors-hero h1 {font-size: 48px;}
    .patterns-colors-hero-wrapper {max-width: 400px;}
    .patterns-colors-panel-break-inner {padding: 0 56px;}
    #patterns-colors-product {padding: 0 56px;}
    #aquatraction-overlap-panels {right: -45vw; top: -46px;}
    #patterns-colors-product {justify-content: center;}
    #patterns-colors-product {height: 600px;}
    #patterns-colors-product .info-panel-body {max-width: 370px;}
    #patterns-colors-why .info-panel-title h3 {font-size:  56px}
    .patterns-colors-slide {left: 56px; right: 56px}
    #hero-image-floating-info {padding: 52px 64px;}
    #hero-image-floating-info .floating-hero-wrapper h1 {font-size: 68px;}
}
@media only screen and (min-width: 800px) {
    #patterns-colors-product .info-panel-body {max-width: unset;}
    .pattern-item {width: 25%; height: var(--aspect-r);max-height:425px;}
    .pattern-item:first-child {padding: 0 24px 0 0;}
    .pattern-item:nth-child(2) {padding: 0 16px 0 8px;}
    .pattern-item:nth-child(3) {padding: 0 8px 0 16px;}
    .pattern-item:last-child {padding: 0 0 0 24px;}
}
@media only screen and (min-width: 900px) {
    .patterns-colors-hero-wrapper {max-width: 450px;}
    #patterns-colors-hero h1 {font-size: 52px;}
    .panel-item {width: 12.5%;}
    #aquatraction-overlap-panels {right: -25vw;}
    .color-item {width: 25%; height: var(--aspect-r2);max-height: 240px;}
    .color-item:first-child {padding: 0 24px 0 0;}
    .color-item:nth-child(2) {padding: 0 16px 0 8px;}
    .color-item:nth-child(3) {padding: 0 8px 0 16px;}
    .color-item:last-child {padding: 0 0 0 24px;}
    .why-us-panel {flex-direction: row;height: var(--aspect-r2);max-height: 620px;}
    .why-us-panel.reverse {flex-direction: row-reverse}
    .why-us-panel.reverse .why-us-text {padding-left: 80px;}
    .why-us-text {width: 50%;align-self: center;}
    .why-us-collage {width: 50%;}
    .why-us-text {padding: 0;}
    .why-us-collage {margin-top: 125px;}
    .why-us-text .info-panel-body p {max-width: 400px;}
}
@media only screen and (min-width: 1000px) {
    .patterns-colors-hero-wrapper {max-width: 600px;}
    #patterns-colors-hero p {max-width: 550px;}
    #patterns-colors-hero h1 {font-size: 60px;}
    #aquatraction-overlap-panels {right: 0;}
    #patterns-colors-slideshow {margin: 105px auto;}
    .patterns-colors-slide {left: 0; right: 0}
    #patterns-colors-hero {margin-top: 92px;}
    /**/
    #hero-image-floating-info {padding: 56px 112px;width: 780px;box-shadow: 0px 2px 8px #00000029;margin-top: -205px;margin-left: 56px;}
    #hero-image-floating-info .floating-hero-wrapper h1 {display: block; font-family: var(--font-b2); font-size: 68px; color: #002A3A;}
    #hero-image-floating-info .floating-hero-wrapper p {font-family: var(--font-r); font-size: 20px; color: #002A3A;margin-top: 16px;}
    #hero-image-floating-info .floating-hero-wrapper .cta {margin-top: 56px;}
}
@media only screen and (min-width: 1200px) {
    .patterns-colors-hero-wrapper {max-width: 600px;}
    #patterns-colors-hero p {max-width: 575px;}
    #patterns-colors-hero h1 {font-size: 68px;}
    #patterns-colors-why {height: 600px;justify-content: center;padding-top: 0;}
    #patterns-colors-video {top: 0; right: 0; bottom: 0; left: unset;width: 600px;height: 100%;}
    #patterns-colors-why .info-panel-message.overflow {max-width: 520px;}
}
