8-project

p_diy-space   

Copy
Edit
<!-- components/8-project/p_diy-space.txp -->
Copy
Copy
Edit
/* scss/8-project/_p_diy-space.scss */ .p_diy-space { @media screen and (min-width: $medium) { display: grid; } grid-template-columns: 1fr 1fr 1fr 1fr; grid-template-rows: auto auto 1fr auto; grid-template-areas: 'titl titl hero hero' 'excp excp hero hero' 'body body img1 img1' '. . . .'; &__plan { margin: 10vh 0; } &__hero { grid-area: hero; display: grid; grid-template-rows: subgrid; } [itemprop="headline"] { grid-area: titl; // align-self: end; } [itemprop="description"] { grid-area: excp; } &__img1 { grid-area: img1; } [itemprop="articleBody"] { grid-area: body; } [itemprop="image"] { figcaption { margin-top: 0 !important; @extend .u_p, .bg--white; //width: 50%; } } &__gallery { grid-template-rows: auto 1fr; //column-gap: 10vh; row-gap: 20vh; [itemprop="image"] { display: grid; grid-template-rows: subgrid 1fr; img { //max-height: 100vh; } } } &__nav { width: 160px; position: fixed; top: my-bs(1.5); @media screen and (max-width: $desktop + 300) { right: var(--base-unit); } @media screen and (min-width: $desktop + 300) { margin-left: -184px; } z-index: 50; svg { border-radius: 50%; background: var(--black); polygon, path { fill: var(--white); } a:hover polygon, a:hover path { fill: var(--green); } a.active polygon, a.active path { fill: var(--red); } } } }

p_diy-drawings   

Copy
Edit
<!-- components/8-project/p_diy-drawings.txp -->
Copy
Copy
Edit
/* scss/8-project/_p_diy-drawings.scss */ .diy-drawing--plan { &__rain { background-image: url("../forms/diy/Ripple-5s-1084px.svg"); .drawing--is-inactive & { background-image: none; } position: absolute; top: -5px; ; left: 0; right: 0; bottom: 0; mask-image: url("../forms/diy/rain-mask.svg"); mask-size: 100%; mask-repeat: no-repeat; mask-position: center; animation: rain 9s ease-in-out forwards alternate; animation-iteration-count: infinite; } text { fill: none; } } svg { .boundary { // defaults stroke: #6D7278; stroke-width: .25; stroke-dasharray: 18, 3; fill: black; fill-opacity: .02; animation: grow-cycle 12s ease-in-out forwards; animation-iteration-count: infinite; .drawing--is-inactive & { animation: none; } } } @keyframes grow-cycle { 0% {} 50% { stroke-dasharray: 36, 12; fill-opacity: .2; } 100% {} } @keyframes rain { 0% { opacity: 0; } 25% { opacity: 1; } 60% { opacity: .5; } 100% { opacity: 0; } } .plan-spaces { } #plan--spaces { a { cursor: pointer; position: relative; z-index: 10; stroke: white; stroke-width: var(--base-unit--ss); transition: all .3s ease; &.garden { opacity: .25; &:hover { opacity: .62; } } .text { } cursor: pointer; &.null { cursor: default; } &:not(.null):hover { stroke-width: var(--base-unit--s); path, polygon{ //opacity: .5; // fill: red; } filter: saturate(200%); .text { opacity: 1; font-size: 80px; //font-weight: 600; } } } .text { transition: all .3s ease; stroke-width: 0; opacity: .75; fill: var(--white); font-size: 75px; font-weight: 400; letter-spacing: -.05em; } } .supply, .convection, #engine-room-sub { stroke: var(--green); stroke-opacity: .75; stroke-dasharray: 1 64; stroke-width: 24; stroke-linecap: round; animation: dash 5s linear reverse infinite; } .convection__arrow, .supply__arrow { stroke: var(--green); stroke-width: 12; stroke-linecap: round; } .convection { stroke: var(--yellow); stroke-opacity: .75; animation-duration: 15s; stroke-dasharray: 1 48; stroke-width: 18; &__arrow { stroke-opacity: .75; stroke: var(--yellow); } } #engine-room-sub { stroke: var(--bluepale); //stroke-opacity: .25; stroke-dasharray: 1 32; stroke-width: 12; //stroke-linecap: round; animation-duration: 40s; } .marker { border-radius: 50%; width: var(--base-unit); height: var(--base-unit); margin-right: var(--base-unit--s) // background-color: var(--black); // color: white; } @keyframes dash { to { stroke-dashoffset: 1000; } }

p_diy-animations   

Copy
Edit
<!-- components/8-project/p_diy-animations.txp -->
Copy
Copy
Edit
/* scss/8-project/_p_diy-animations.scss */ .animations { position: relative; } .digits { &__holder { overflow: hidden; height: 1em; padding-right: .1em; //width: max-content; } .temperature & { transform: translateY(-50%); animation: temperature 40s ease-in-out forwards alternate ; animation-iteration-count: 3; } // .wind & { // transform: translateY(calc(-100% + 1em));; // animation: blowspeed 40s ease-in-out forwards alternate ; // animation-iteration-count: 3; // } //letter-spacing: -.1em; span { display: block; text-align: right; //margin-left: -.5em; //padding-left: .2em; } } .temperature { line-height: 1; align-self: end; //font-size: 15vw; @media screen and (max-width: $small) { font-size: 15vw; align-self: center; } } @keyframes temperature { 50% { transform: translateY(-50%); } 50% { transform: translateY(0); } 100% { transform: translateY(calc(-100% + 1em)); } } .wind { #modulor { animation: blow 40s ease-in-out forwards alternate ; animation-iteration-count: 10; transform-origin: 11% top; } } @keyframes blow { 0% { transform: scaleX(1) rotateZ(0deg); } 10% { transform: scaleX(.8) rotateZ(2deg); } 20% { transform: scaleX(.6) rotateZ(20deg); } 30% { transform: scaleX(.5)rotateZ(35deg); } 40% { transform: scaleX(.4)rotateZ(44deg); } 50% { transform: scaleX(.5) rotateZ(45deg); } 60% { transform: scaleX(.6) rotateZ(41deg); } 70% { transform: scaleX(.6) rotateZ(35deg); } 80% { transform: scaleX(.7) rotateZ(30deg); } 90% { transform: scaleX(.9) rotateZ(5deg); } 100% { transform: scaleX(1) rotateZ(0deg); } } // @keyframes blowspeed { // 0% { // //transform: scaleX(1) rotateZ(0deg); // transform: translateY(calc(-100% + 1em)); // } // 10% { // transform: translateY(-80%); // } // 20% { // //transform: scaleX(.6) rotateZ(20deg); // transform: translateY(-70%); // } // 30% { // transform: translateY(-30%); // //transform: scaleX(.5)rotateZ(35deg); // } // 40% { // transform: translateY(-10%); // //transform: scaleX(.4)rotateZ(44deg); // } // 50% { // transform: translateY(0%); // //transform: scaleX(.5) rotateZ(45deg); // } // 60% { // //transform: scaleX(.6) rotateZ(41deg); // transform: translateY(-20%); // } // 70% { // //transform: scaleX(.6) rotateZ(35deg); // } // 80% { // //transform: scaleX(.7) rotateZ(30deg); // } // 90% { // //transform: scaleX(.9) rotateZ(5deg); // } // 100% { // transform: translateY(calc(-100% + 1em));; // //transform: scaleX(1) rotateZ(0deg); // } // } .birds{ z-index: -1; position: absolute; left: 0; right: 0; overflow: hidden; height: 100%; @media screen and (max-width: $small) { margin-top: -100%; } } .bird { background-image: url(../styles/img/bird-cells.svg); background-size: auto 100%; width: 88px; height: 125px; will-change: background-position; animation-name: fly-cycle; animation-timing-function: steps(10); animation-iteration-count: infinite; &--one { animation-duration: 1s; animation-delay: -0.5s; } &--two { animation-duration: 0.9s; animation-delay: -0.75s; } &--three { animation-duration: 1.25s; animation-delay: -0.25s; } &--four { animation-duration: 1.1s; animation-delay: -0.5s; } } .bird-container { position: absolute; top: 20%; left: -10%; transform: scale(0) translateX(-10vw); will-change: transform; animation-name: fly-right-one; animation-timing-function: linear; animation-iteration-count: infinite; &--one { animation-duration: 15s; animation-delay: 0; } &--two { animation-duration: 16s; animation-delay: 1s; } &--three { animation-duration: 14.6s; animation-delay: 9.5s; } &--four { animation-duration: 16s; animation-delay: 10.25s; } } @keyframes fly-cycle { 100% { background-position: -900px 0; } } @keyframes fly-right-one { 0% { transform: scale(0.3) translateX(-10vw); } 10% { transform: translateY(2vh) translateX(10vw) scale(0.4); } 20% { transform: translateY(0vh) translateX(30vw) scale(0.5); } 30% { transform: translateY(4vh) translateX(50vw) scale(0.6); } 40% { transform: translateY(2vh) translateX(70vw) scale(0.6); } 50% { transform: translateY(0vh) translateX(90vw) scale(0.6); } 60% { transform: translateY(0vh) translateX(110vw) scale(0.6); } 100% { transform: translateY(0vh) translateX(110vw) scale(0.6); } } @keyframes fly-right-two { 0% { transform: translateY(-2vh) translateX(-10vw) scale(0.5); } 10% { transform: translateY(0vh) translateX(10vw) scale(0.4); } 20% { transform: translateY(-4vh) translateX(30vw) scale(0.6); } 30% { transform: translateY(1vh) translateX(50vw) scale(0.45); } 40% { transform: translateY(-2.5vh) translateX(70vw) scale(0.5); } 50% { transform: translateY(0vh) translateX(90vw) scale(0.45); } 51% { transform: translateY(0vh) translateX(110vw) scale(0.45); } 100% { transform: translateY(0vh) translateX(110vw) scale(0.45); } }

p_diy   

Copy
Edit
<!-- components/8-project/p_diy.txp -->
Copy
Copy
Edit
/* scss/8-project/_p_diy.scss */ #diy-sentinel { position: absolute; top: 0; //width: clamp(var(--base-unit--ss),2vw,var(--base-unit)); //background: var(--black); height: 95%; } .l_width-limited--space { max-width: 1920px; } .p_diy { &__spaces-strip { display: grid; grid-template-columns: repeat(8, 1fr); @media screen and (min-width: $small) { grid-template-columns: repeat(15, 1fr); } position: relative; z-index: 1; figure { position: relative; img { border-radius: 50%; } &:hover { img { border-radius: 0; } figcaption { display: block; } } figcaption { position: absolute; top: 100%; left: 0; right: 0; margin-top: 0; display: none; } } } article ul { list-style-type: disc; } .diy__article { &:not(:first-of-type) { margin-top: 25vh; } &:nth-child(odd) { [itemprop="headline"] { grid-column-start: 2; } [itemprop="description"] { grid-column-start: 2; } .p_diy__images { grid-row-start: 2; //grid-row: span 2; } } [itemprop="articleBody"] { strong { @extend h3; } } } &__logo {} &__feature {} &__menu { display: grid; grid-template-columns: repeat(3, 1fr); width: 61%; margin-left: auto; margin-right: auto; grid-gap: 2.5vw; transition: transform .3s ease-in-out; @media screen and (max-width: $small) { width: 100%; } .drawing--is-inactive & { transform-origin: top center; position: fixed; z-index: 100; top: my-bs(1); @media screen and (min-width: $medium) { top: my-bs(3); } left: 0; right: 0; transform: scale(.1); cursor: pointer; &:after { content: ''; position: absolute; left: 0; right: 0; top: 0; transform: scale(1.5); transform-origin: center bottom; aspect-ratio: 1/1; backdrop-filter: blur(3rem); border-radius: 50%; } a { display: none; } li:after { opacity: 1; } // grid-template-columns: repeat(5, 1fr); } &.is-active { cursor: auto; transform: scale(1); a { display: block; } } a { font-weight: 400; transition: opacity .6s; &:hover { text-decoration: none; } } li { position: relative; z-index: 1; width: 100%; //width: 50%; &:after { content: ''; display: block; position: absolute; z-index: -1; left: 0; top: 0; width: 100%; height: 100%; border-radius: 50%; opacity: .81; transition: all 1.2s ease-in-out; } &:hover:after { transform-origin: 51% 51%; transform: scale(1.2) rotateZ(360deg); opacity: 1; } display: grid; align-content: center; justify-content: center; aspect-ratio: 1/1; &:nth-child(1):after { background-color: var(--red); } &:nth-child(2):after { background-color: var(--bluepale); } &:nth-child(3):after { background-color: var(--green); } &:nth-child(4):after { background-color: var(--pink); } &:nth-child(5):after { background-color: var(--yellow); } &:nth-child(6) { display: none; color: var(--black); &:after { background-color: var(--white); } } } &.is-active li:nth-child(6) { display: inherit; cursor: pointer; } &--plain { margin-top: 25vh; margin-bottom: 25vh; li { margin-bottom: initial; &:nth-child(1) { color: var(--red); } &:nth-child(2) { color: var(--bluepale); } &:nth-child(3) { color: var(--green); } &:nth-child(4) { color: var(--pink); } &:nth-child(5) { color: var(--yellow); } } } } // &__images--wairarapa-diy { // figure { // img { // border-radius: 50%; // transition: all .3s ease-in-out; // } // // &:hover { // z-index: 1; // // img { // border-radius: 0%; // object-fit: contain; // transform: scale(1.5); // } // } // } // } &__images--performance figure img { object-fit: contain; } [itemprop="articleBody"] { details { margin-bottom: my-bs(1.5); } } // .gallery { // aspect-ratio: 2/1; // } .diy_section-header { &--spaces { @media screen and (max-width: $small) { +svg { transform: scale(1.33); } } @media screen and (min-width: $small) { position: absolute; width: 100%; } } } &__footer { padding-top: 10vh; display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: var(--base-unit--b); &__dot { aspect-ratio: 1/1; border-radius: 50%; } @media screen and (max-width: $small) { grid-gap: 0; //var(--base-unit--ss); &__dot { // width: 15vw; // margin: 0 auto; } } } } .bg--detailing {}