@charset "UTF-8";

body {
margin: 0 auto;
} h4 {
color: #222222 !important;
margin: 15px 0;
font-size: 0.75em !important;
font-weight: 800 !important;
text-transform: uppercase !important;
}
.calculator {
position: relative;
display: block;
max-width: 1100px;
margin: 0 auto;
transition: ease 0.2s;
}
.step {
position: inherit;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 1000px) {
.step {
height: 100%;
margin: 20px auto;
}
}
#backArrow {
display: none;
cursor: pointer;
transition: ease 0.2s;
}
#backArrow:hover {
color: #00b5cc;
}
.step-header {
display: grid;
grid-template-columns: 2fr 1fr;
align-items: center;
max-width: 960px;
margin: 0 auto;
padding: 0 20px;
}
.step-header i {
font-size: 25px;
}
@media (max-width: 1000px) {
.step-header {
grid-template-columns: 1fr;
}
}
.step-title {
display: grid;
grid-template-columns: 1fr 6fr;
align-items: center;
}
@media (max-width: 1000px) {
.step-title {
grid-template-columns: 1fr;
}
}
.ctx-logo {
text-align: right;
margin: 15px 0 0 0;
}
.ctx-logo img {
max-width: 150px;
}
@media (max-width: 1000px) {
.ctx-logo {
display: none;
text-align: center;
grid-row: 1;
margin: 0 0 20px 0;
}
}
.title {
text-align: left;
}
@media screen and (max-width: 1000px) {
.title {
margin: 0 20px;
text-align: center;
}
}
h2 {
color: #333333 !important;
margin: 0 !important;
font-size: 27px !important;
}
@media screen and (max-width: 1000px) {
h2 {
font-size: 25px !important;
}
}
.options {
position: inherit;
display: flex;
flex-direction: row;
margin: 30px auto;
color: #222222;
min-width: 775px;
}
@media screen and (max-width: 1000px) {
.options {
display: grid;
grid-template-columns: 1fr;
grid-gap: 10px;
width: 100%;
margin: 0 auto;
min-width: auto;
}
}
@media screen and (max-width: 1000px) {
.measurement-options {
display: grid;
grid-template-columns: 1fr 1fr !important;
grid-gap: 0;
width: 100%;
margin: 0 auto;
min-width: auto;
}
}
.option {
position: inherit;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: end;
width: 250px;
height: 350px;
margin: 10px;
border-radius: 2px;
cursor: pointer;
border-radius: 10px;
transition: ease-out 0.2s;
}
.option p {
color: #ffffff;
font-size: 15px;
font-weight: 500;
z-index: 999;
background: #00b5cc;
padding: 10px 20px;
margin: 10px;
border-radius: 10px;
transition: ease 0.2s;
}
.option::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
cursor: pointer;
}
.option:hover,
.option:focus {
transform: scale(1.05);
opacity: 1;
}
@media (max-width: 1000px) {
.option:hover,
.option:focus {
transform: scale(1);
opacity: 1;
}
}
.option:hover p {
transform: translateY(-20px);
}
@media screen and (max-width: 1000px) {
.option {
width: 90%;
margin: 0 5%;
height: 150px;
}
}
.option-unchecked {
opacity: 1;
}
.icon {
color: #00b5cc;
margin-right: 10px;
}
.icon-back {
color: #00b5cc;
margin-right: 10px;
cursor: pointer;
font-size: 20px;
margin-bottom: 20px;
margin: 10px auto;
transition: 0.2s;
}
.icon-back:hover {
opacity: 0.5;
transform: scale(1.2);
}
.close-button {
position: absolute;
top: 10px;
right: 15px;
font-size: 25px;
color: #333333;
cursor: pointer;
transition: ease 0.2s;
}
.close-button:hover {
color: #00b5cc;
transform: scale(1.1);
}
.trade-pack-icon {
color: #00b5cc;
padding: 5px;
border-radius: 50px;
margin-left: 10px;
cursor: pointer;
font-size: 20px;
transition: 0.2s;
position: absolute;
width: 10px;
height: 10px;
text-align: center;
top: -20px;
}
.main-icon {
color: #00b5cc;
padding: 5px;
border-radius: 50px;
margin-left: 10px;
cursor: pointer;
font-size: 20px;
transition: 0.2s;
position: absolute;
width: 10px;
height: 10px;
text-align: center;
top: -20px;
}
.main-icon:hover {
transform: scale(1.1);
}
.intro-icon {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
width: 50px;
height: 50px;
margin: 0 auto;
color: #00b5cc;
border-radius: 50px;
font-size: 30px;
transition: 0.2s;
z-index: 1;
}
.next {
position: relative;
display: block;
font-size: 12px;
text-align: center;
color: #666;
width: 545px;
margin: 0;
}
@media (max-width: 1000px) {
.next {
width: 100%;
}
}
.next-button {
position: relative;
display: block;
background: #00b5cc;
color: #ffffff !important;
margin: 0 auto 10px auto;
border: none !important;
font-weight: 400 !important;
cursor: pointer;
padding: 10px 30px !important;
border-radius: 5px !important;
opacity: 1;
transition: 0.2s !important;
font-size: 14px !important;
width: 200px;
}
.next-button:hover {
opacity: 0.6;
}
@media (max-width: 900px) {
.next-button {
width: 95% !important;
height: 40px !important;
}
}
.item-result {
text-align: right;
}
.item-result span {
margin: 0;
text-align: right;
font-size: 12px;
color: #333333;
}
@media (max-width: 1000px) {
.back {
position: absolute;
}
}
#surepaveLine {
z-index: 999;
}
.option-grass {
min-height: 100%;
background: url(https://www.strol.co.nz/img/surepave-grass-parking.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.option-gravel {
min-height: 100%;
background: url(https://www.strol.co.nz/img/surepave-driveway.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.option-pebbles {
min-height: 100%;
background: url(https://www.strol.co.nz/img/surepave-campervan-park.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.option-pedestrian {
min-height: 100%;
background: url(https://www.strol.co.nz/img/pebblelock-heels.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.option-cars {
min-height: 100%;
background: url(https://www.strol.co.nz/img/pebblelock-pavers.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.option-small-trucks {
min-height: 100%;
background: url(https://www.strol.co.nz/img/surepave-driveway-2.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.option-large-trucks {
min-height: 100%;
background: url(https://www.strol.co.nz/img/canberra-airport-surepave.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.user-input {
position: relative;
display: block;
margin: 10px;
text-align: center;
}
.user-input input {
position: relative;
display: block;
width: 130px;
height: 85px;
font-size: 28px;
padding: 10px 0;
background: #f2f2f2;
border: none;
border-radius: 5px;
text-align: center;
text-indent: 10px;
outline: none;
}
@media screen and (max-width: 1000px) {
.user-input input {
width: 100%;
text-indent: 0;
margin: 0 auto;
}
}
.result-input {
position: relative;
display: inline-block;
margin-right: 10px;
}
label {
position: absolute;
display: block;
font-size: 12px;
text-transform: uppercase;
font-weight: 600;
margin: 0;
top: -10px;
width: 130px;
z-index: 999;
background: #00b5cc;
color: #ffffff;
padding: 5px;
text-align: center;
border-radius: 5px;
}
@media (max-width: 1000px) {
label {
margin: 0 auto;
width: 100%;
}
}
.surfaceDropdown {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 120px;
height: 40px;
border: none;
border-radius: 8px;
color: #222222;
outline: none;
text-indent: 10px;
padding-right: 5px;
font-size: 14px;
}
@media (max-width: 1000px) {
.surfaceDropdown {
width: 95%;
font-size: 14px !important;
}
}
.area-result {
width: 80px;
height: 40px;
border: none;
border-radius: 8px;
color: #222222;
background: #ffffff;
padding: 0;
outline: none;
text-align: center;
font-size: 14px;
}
@media (max-width: 1000px) {
.area-result {
width: 100%;
font-size: 16px;
}
}
.results {
position: inherit;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
width: 100%;
}
.results-col {
position: inherit;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 50px auto;
width: 100%;
}
@media screen and (max-width: 1000px) {
.results-col {
flex-direction: column;
margin: 0 auto;
}
}
.inputs {
position: relative;
display: inline-block;
width: 48%;
margin-top: 20px;
}
@media screen and (max-width: 1000px) {
.inputs {
width: 100%;
}
}
.inputs-cars {
position: relative;
display: inline-block;
width: 48%;
margin-top: -105px;
}
@media screen and (max-width: 1000px) {
.inputs-cars {
width: 100%;
margin-top: -75px;
}
}
.outputs {
position: relative;
display: inline-block;
width: 38%;
}
@media screen and (max-width: 1000px) {
.outputs {
width: 100%;
}
}
.output-results {
background: #ffffff;
padding: 10px 5px;
border-radius: 10px 10px 0 0;
box-shadow: 0 0 50px -10px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1000px) {
.output-results {
margin: 0 5px;
padding: 10px 0;
}
} .checkbox {
visibility: hidden;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
position: absolute;
left: -40px;
width: 20px;
height: 20px;
margin: 0;
padding: 0;
opacity: 0;
transition: 0.2s;
}
input[type=checkbox] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
}
.result {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 5px 20px;
width: 100%;
cursor: default;
transition: 0.2s;
}
.result .img {
position: relative;
width: 120px !important;
height: 40px !important;
border-radius: 50px !important;
-o-object-fit: cover;
object-fit: cover;
max-width: 40px;
}
@media (max-width: 900px) {
.result img {
width: 125px !important;
}
}
.result:hover {
background: #00b5cc;
color: #ffffff;
transform: scale(1.05);
box-shadow: 0 10px 15px -10px #00b5cc;
border-radius: 5px;
}
.result:hover span {
color: #ffffff;
}
.result:hover .checkbox {
visibility: visible;
opacity: 1;
left: -30px;
}
.result:hover .trade-pack-icon {
color: #ffffff;
}
.result-details {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
padding: 0 20px;
}
.result-details p {
position: relative;
display: flex;
align-items: center;
margin: 0 30px 10px 0;
font-size: 14px;
color: #222222;
}
@media screen and (max-width: 1000px) {
.result-details p {
margin: 0 10px 10px 0;
}
}
.triangles-bottom {
text-align: right;
background: url(https://www.strol.co.nz/img/triangles.png);
background-position: center;
background-repeat: repeat-x;
background-size: contain;
height: 8px;
margin: 0;
padding: 0;
}
@media (max-width: 1000px) {
.triangles-bottom {
margin: 0 auto;
padding: 0;
width: 97%;
}
}
.cta-button {
height: 40px;
padding: 0 15px !important;
margin: 0 10px 0 0;
background: #00b5cc;
border: 0 !important;
border-radius: 5px !important;
color: #fff !important;
float: left;
cursor: pointer;
transition: ease 0.2s;
font-weight: 500 !important;
font-size: 14px !important;
}
.cta-button:hover {
opacity: 0.8;
}
.result-icon {
color: #00b5cc;
margin-right: 10px;
font-size: 20px;
margin-bottom: 12px;
}
strong {
color: #00b5cc;
}
.result-subtotal {
position: relative;
display: flex;
flex-direction: row;
align-items: center;
padding: 0 20px;
width: 100%;
}
.item-name {
position: relative;
width: 320px;
font-size: 14px;
margin-left: 20px;
}
@media (max-width: 1000px) {
.item-name {
width: 100%;
margin-left: 10px;
}
}
.item-qty {
position: relative;
width: 200px;
font-weight: 700;
font-size: 15px;
text-align: end;
}
@media (max-width: 1000px) {
.item-qty {
width: 120px;
}
}
.subtotal {
position: relative;
width: 100%;
font-size: 12px;
}
.divider {
border-top: solid 1px #999;
margin: 20px 0 0 0;
padding: 20px 0 10px 0;
}
.subtotal-results {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
font-weight: 700;
}
.subtotal-results span {
font-size: 20px;
font-weight: 700;
color: #00b5cc;
}
.render-layer {
position: relative;
display: block;
height: 500px;
left: 18%;
}
@media screen and (max-width: 1000px) {
.render-layer {
margin: 0 auto;
width: 100%;
height: -webkit-fit-content;
height: -moz-fit-content;
height: fit-content;
left: auto;
text-align: center;
}
}
.render {
position: absolute;
height: 500px !important;
left: 0;
opacity: 1;
transition: ease 0.4s;
}
@media (max-width: 1000px) {
.render {
height: 400px !important;
left: 50%;
transform: translate(-50%);
transition: none;
}
.render-opacity {
transition: none;
}
}
.render-base {
position: relative;
height: 500px !important;
}
@media (max-width: 1000px) {
.render-base {
height: 400px !important;
}
}
.render-opacity {
opacity: 0.1;
transition: ease 0.4s;
}
.result-footer {
padding: 20px;
}
.tooltip {
position: relative;
display: inline-block;
z-index: 9999;
}
.tooltip p {
margin: 0;
font-size: 13px;
color: #00b5cc;
cursor: pointer;
transition: ease 0.2s;
}
.tooltip p:hover {
transform: scale(1.05);
}
.tooltip .tooltiptext {
visibility: hidden;
width: 160px;
background-color: #222222;
color: #ffffff;
text-align: center;
font-size: 13px;
border-radius: 6px;
position: absolute;
padding: 10px;
z-index: 9999;
margin: 12px 0 0 -55px;
transform: translateY(10px);
opacity: 0;
transition: 0.2s;
}
.tooltip-intro {
top: 90%;
left: 47%;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
bottom: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #222222 transparent;
z-index: 9999;
}
.tooltip:hover .tooltiptext {
visibility: visible;
transform: translateY(0px);
opacity: 1;
z-index: 9999;
}
.legend {
position: relative;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
@media screen and (max-width: 1000px) {
.legend {
margin: 0 0 20px 0;
}
}
.legend-item {
position: relative;
display: flex;
flex-direction: row;
justify-content: start;
align-items: center;
margin-right: 30px;
margin-top: 10px;
flex: 0 0 33%;
cursor: pointer;
transition: 0.2s;
}
.legend-item:hover {
opacity: 0.6;
}
.legend-key {
position: relative;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
background: #00b5cc;
color: #ffffff;
width: 20px;
height: 20px;
margin-right: 10px;
border-radius: 50px;
font-size: 12px;
}
@media screen and (max-width: 1000px) {
.legend-key {
min-width: 24px;
min-height: 24px;
}
}
.legend-item-placeholder {
visibility: hidden;
position: relative;
display: flex;
flex-direction: row;
justify-content: start;
align-items: center;
margin-right: 30px;
margin-top: 10px;
flex: 0 0 33%;
transition: 0.2s;
}
.legend-name {
font-size: 13px;
font-weight: 300;
}
.legend-reference {
max-width: 24px !important;
position: absolute;
left: 12px;
top: 0px;
box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.5);
border-radius: 100px;
}
.edit-cost {
cursor: pointer !important;
transition: ease 0.2s;
z-index: 9999;
}
.edit-cost:hover {
transform: scale(1.3);
}
.legend-note {
position: absolute;
bottom: -10px;
left: 30px;
font-size: 10px;
font-weight: 500;
}
.footer {
margin: 20px auto;
max-width: 400px;
}
@media screen and (max-width: 1000px) {
.footer {
margin: 20px;
}
}
.footer-cta {
text-align: right;
margin: 20px 0;
max-width: 100%;
text-align: left;
color: #222222;
font-size: 11px !important;
font-weight: 400 !important;
font-family: "Söhne Mono";
line-height: 1.3;
}
.footer-cta span {
color: #222222;
font-size: 11px !important;
font-weight: 400 !important;
font-family: "Söhne Mono";
line-height: 1.3;
}
.footer-cta a {
color: #00b5cc;
font-size: 11px !important;
font-weight: 400 !important;
font-family: "Söhne Mono";
line-height: 1.3;
}
@media (max-width: 1000px) {
.footer-cta {
margin: 20px 5px;
}
}
#smartPaveNote {
color: #222222;
font-size: 12px !important;
font-weight: 400 !important;
}
.spec {
display: flex;
flex-direction: row;
align-items: center;
border: solid 1px #eee;
border-radius: 8px;
padding-right: 10px;
}
@media (max-width: 1000px) {
.spec {
width: 33%;
}
}
.dropdown::after {
content: "";
position: absolute;
border: solid 5px transparent;
border-top: solid 5px #333;
border-radius: 2px;
right: 13px;
top: 18px;
}
.popup-container {
position: absolute;
left: 50%;
transform: translate(-50%);
top: 15%;
max-width: 450px;
margin: 0 auto;
background: #ffffff;
box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.3);
padding: 30px;
border-radius: 10px;
margin: 0 auto;
z-index: 9999;
width: 100%;
}
.popup-container h3 {
margin: 0;
}
.popup-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.6);
z-index: 1;
}
@media (max-width: 900px) {
.popup-container {
width: 100%;
top: 42%;
}
}
.email-input {
display: grid;
grid-template-columns: 3fr 1fr;
align-items: flex-end;
grid-gap: 10px;
}
.email-input input {
height: 40px;
width: 100%;
border-radius: 5px;
outline: none;
text-indent: 10px;
text-align: start;
padding: 0;
border: 0;
background: #eee;
}
.email-input button {
background: #00b5cc;
color: #ffffff !important;
height: 40px !important;
width: 100px !important;
border: none !important;
border-radius: 5px !important;
padding: 0;
outline: none;
opacity: 1;
cursor: pointer;
transition: ease 0.2s !important;
font-size: 14px !important;
}
.email-input button:hover {
opacity: 0.8;
}
.rates {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-gap: 20px;
}
@media (max-width: 900px) {
.rates {
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
}
}
.rates-product {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.rates-product p {
margin: 10px 0 20px 0;
}
.rates-product p:nth-child(1) {
font-weight: 600;
}
.rates-header p {
font-size: 14px !important;
line-height: 1.2;
}
.rates-rates input {
margin: 6px 0 20px 0;
border: 0 !important;
border-radius: 5px !important;
text-align: left;
text-indent: 10px;
background: #eee;
padding: 5px;
font-size: 14px !important;
}
.rates-rates p {
margin: 10px 0 20px 0;
}
.rates-rates p:nth-child(1) {
font-weight: 600;
}
@media (max-width: 900px) {
.rates-rates input {
width: 100px;
font-size: 16px !important;
}
}
.rates-qty {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.rates-qty p {
margin: 10px 0 20px 0;
}
.rates-qty p:nth-child(1) {
font-weight: 600;
}
.rates-buttons {
margin: 20px 0 0 0;
}
.rates-buttons button {
background: #00b5cc;
color: #ffffff !important;
width: 100%;
border: none !important;
border-radius: 5px !important;
height: 40px;
cursor: pointer;
transition: 0.2s !important;
font-size: 14px !important;
padding: 0 !important;
}
.rates-buttons button:hover {
background: #00b5cc;
color: #ffffff;
opacity: 0.8;
}
.natural-ground-ped {
bottom: 30px;
}
#grass-note {
display: none;
font-size: 13px;padding: 0 20px;line-height: 1.2;
}