diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d67d644 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.min.css +*.css +!skin.min.css +!skin.css +.sass-cache/ \ No newline at end of file diff --git a/_abstract.scss b/_abstract.scss new file mode 100644 index 0000000..e21e959 --- /dev/null +++ b/_abstract.scss @@ -0,0 +1,55 @@ +//COLOR + $bg-col-white:#ffffff; + $col-gray:#808080; + $col-black:#000000; + // default button + $btn-text-color-default:rgb(13, 107, 231); + $btn-bg-color-default:white; + $btn-padding-default:1.5rem 6.2rem; + // primary button + $btn-text-color-primary:rgb(238, 207, 207); + $btn-bg-color-primary:#025dc5; + $btn-padding-primary:$btn-padding-default; + //secondary + $btn-text-color-secondary:rgb(87, 87, 87); + $btn-bg-color-secondary:rgb(250, 250, 250); + $btn-padding-secondary:$btn-padding-default; + // large + $btn-padding-large:1.7rem 10.1rem; + // extra-large + $btn-padding-extra-large:2rem 13.8rem; + + // FONT + // default font + $btn-font-size-default:1.6rem; + // primary font + $btn-font-size-primary:1.8rem; + //secondary + $btn-font-size-secondary:1.8rem; + // large + $btn-font-size-large:2rem; + // extra-large + $btn-font-size-extra-large:2.5rem; +//mixins for button +@mixin btnChanger($color, $background, $font-size, $padding){ + background-color: $background; + color:$color; + font-size:$font-size; + padding:$padding; +} +@mixin btn { + border-radius: 3px; + border-style: solid; + border-width: 1px; + font-weight: 500; + line-height: 1.15; + text-align: center; + vertical-align: middle; + display: inline-block; + &:focus{ + outline: none; + } + &:hover{ + cursor: pointer; + } +} \ No newline at end of file diff --git a/_base.scss b/_base.scss new file mode 100644 index 0000000..2d09632 --- /dev/null +++ b/_base.scss @@ -0,0 +1,33 @@ +//base setup +*, ::after, ::before{ + padding: 0; + margin:0; + box-sizing: inherit; +} +html{ + font-size: 62.5%; //1rem = 10px; +} +body{ + box-sizing: border-box; + background-color: darken(#fff, 5%); + > div{ + font-size: 1.5rem; + padding: 1.8rem; + max-width: 80%; + margin:0 auto; + background-color:#fff; + } +} +#intro_heading{ + margin-bottom: 1.5rem; +} +#button { + > h2, h3{ + margin:1rem 0; + } + > p{ + font-size: 2rem; + margin-bottom: .75rem; + } + +} \ No newline at end of file diff --git a/_components.scss b/_components.scss new file mode 100644 index 0000000..1b7b842 --- /dev/null +++ b/_components.scss @@ -0,0 +1,506 @@ +@import 'abstract'; +.btn { + @include btn; + &--default{ + @include btnChanger($btn-text-color-default, $btn-bg-color-default, $btn-font-size-default, $btn-padding-default); + } + &--primary{ + @include btnChanger($btn-text-color-primary, $btn-bg-color-primary, $btn-font-size-primary, $btn-padding-primary); + } + &--secondary{ + border-color: rgba(0, 0, 0, 0.562); + @include btnChanger($btn-text-color-secondary, $btn-bg-color-secondary, $btn-font-size-secondary, $btn-padding-secondary); + } + &--large{ + @extend .btn--default; + padding:$btn-padding-large; + font-size: $btn-font-size-large; + } + &--extra-large{ + @extend .btn--large; + padding:$btn-padding-extra-large; + font-size: $btn-font-size-extra-large; + } +} +// btn-anim +.btn-anim{ + &:link, &:visited { + display: inline-block; + text-decoration: none; + text-transform: uppercase; + padding: 1.5rem; + font-size: 2rem; + border-radius: 2rem; + transition: all 0.3s; + position: relative; + letter-spacing: 1rem; + } + &--primary, &--primary::after { + background-color: rgba(0, 128, 0, 0.705); + color: $col-gray; + + } + &--secondary, &--secondary::after { + background-color: rgb(89, 0, 255);; + color: gray; + font-weight: 900; + text-align: center; + + } + &:hover { + transform: translateY(-3px); + box-shadow: 0 1rem 1rem $col-black; + letter-spacing: 1.5rem; + color: $bg-col-white; + font-weight: 600; + &::after { + transform: scaleX(1.4) scaleY(1.6); + opacity:0; + + } + + } + &:active { + transform: translateY(-1px); + box-shadow: 0 .5rem .5rem $col-black; + + } + &::after { + content: ""; + position: absolute; + display: block; + left:0; + top:0; + z-index: -1; + width:100%; + height:100%; + transition: all .3s; + border-radius: 2rem; + + } +} +.btn-text{ + &:link, &:visited { + text-decoration: none; + display: inline-block; + background-color: green; + color: white; + min-width: 10rem; + transition: all 0.2s; + padding: .5rem; + margin-top: 2rem; + line-height: 1.7; + letter-spacing: 0.3rem; + } + &:hover{ + transform: translateY(-0.5rem) scaleX(1.2); + box-shadow: 0 1rem 0.8rem rgba(0, 0, 0, .4) ; + + } + &:active { + transform: translateY(-0.1rem); + box-shadow: 0 .5rem 0.8rem rgba(0, 0, 0, .2) ; + } + &--blue:link{ + background-color: rgb(13, 0, 128) !important; + width: 18rem; + } +} + +//card +.card { + // padding:1rem; + width:20%; + margin: 1rem; + perspective: 150rem; + position: relative; + height: 30rem; + display: inline-block; + &__side { + padding:.2rem; + height: 100%; + color:darken(#ffffff, 15%); + font-size: 3rem; + transition: all 1s ease; + backface-visibility: hidden; + // text-align: center; + position: absolute; + top:0; + left:0; + width: 100%; + border-radius: 2rem; + box-shadow: 1rem 1rem .7rem 1rem rgba(87, 27, 27,0.15); + &--front { + &-1 { + background-image: linear-gradient(to bottom right, lightgreen, darkgreen); + } + &-2 { + background-image: linear-gradient(to bottom right, rgb(255, 30, 0), orangered); + } + // transform: rotateY(40deg); + } + &--back { + transform: rotateY(180deg); + &-1 { + background-image: linear-gradient(to bottom right, lightgreen, darkgreen); + } + &-2 { + background-image: linear-gradient(to bottom right, rgb(255, 251, 0), orangered); + } + + } + } + &:hover &__side--front { + transform: rotateY(-180deg); + } + &:hover &__side--back { + transform: rotateY(0deg); + } + &__title { + text-align: center; + text-transform: uppercase; + } + &__content { + margin-top: 1rem; + font-size: 2rem; + } + &__turnback { + margin-top: 2.5rem; + font-size: 2.5rem; + text-align: right; + } + &__back-link { + text-decoration: none; + color:darken(blue, 15%); + } +} +//form +.section-contact { + padding: 2rem; + background-image: linear-gradient(to right bottom, blue, red); + } + .contact { + background-color: #260000; + background-image: linear-gradient( + 105deg, + rgba(white, 0.1) 0%, + rgba(white, 0.7) 50%, + transparent 50% + ); + padding: 1rem; + } +.contact-form { + max-width: 50%; + &__group:not(:last-child) { + margin-bottom: 1rem; + color:gray; + } + &__input { + padding: 1rem 1.5rem; + display: block; + border: none; + color: inherit; + border-bottom: .2rem solid transparent; + border-radius: .4rem; + transition: all 0.3s; + font-size: 2rem; + &:focus:invalid { + border-bottom: .2rem solid orangered; + } + &:focus{ + outline: none; + border-bottom: .2rem solid green; + box-shadow: .1rem .1rem .2rem rgba( black, .6); + } + &::-webkit-input-placeholder{ + color:gray; + } + &:placeholder-shown + .contact-form__label { + opacity: 0; + transform: translateY(-2rem); + visibility: hidden; + } + } + &__label { + text-align: left; + font-size: 2rem; + display: block; + margin-top:1rem; + margin-left: 1rem; + opacity: 1; + visibility: visible; + transition: all .3s; + } + &__radio { + display: none; + } + &__label-radio { + width: 49%; + color: white; + display: inline-block; + font-size: 2rem; + padding: .2rem; + } + &__custom-radio{ + width:3rem; + height: 3rem; + display: inline-flex; + align-items: center; + justify-content: center; + &, &::after{ + border: .2rem solid white; + border-radius: 50%; + } + &::after{ + display: inline-block; + } + &::after{ + content: ""; + width:2rem; + height: 2rem; + background-color: green; + opacity: 0; + transition: all .3s; + } + } + &__radio:checked + &__label-radio > &__custom-radio::after{ + opacity: 1; + } +} +// popup +.popup { + position: fixed; + top:0; + left: 0; + width: 100vw; + height: 100vh; + background-color: rgba(black,0.8); + z-index:400; + opacity: 0; + visibility: hidden; + transition: all .5s; + //also simply use × + &__btn { + transform: rotate(45deg); + &, &::after{ + display: block; + position: absolute; + width: .1rem; + height: 4rem; + background-color: white; + right:10rem;top:10rem; + cursor: pointer; + } + &::after{ + content: ""; + right:0rem;top:0rem; + transform: rotate(-90deg); + } + + } + &__content { + display: table; + width: 75%; + height: 50%; + position: absolute; + top:50%; + left: 50%; + transform: translate(-50%, -50%) scale(0); + background: white; + box-shadow: 1rem 1rem 0.5rem rgba(black, 0.5); + border-radius: 4%; + padding: 1rem; + opacity: 0; + visibility: hidden; + transition: all .4s; + } + &__left, &__right{ + display: table-cell; + + } + &__left{ + width: 33.333%; + } + &__right{ + width: 66.667%; + } + &:target { + opacity: 1; + visibility: visible; + } + &:target &__content{ + opacity: 1; + visibility: visible; + transform: translate(-50%, -50%) scale(1); + } +} +// simple-flex navigation +.flx-nav{ + display:flex; + background-color:lighten(#d3d3d3,2%); + list-style:none; + &--space-around{ + justify-content:space-around; + } + &__item{ + position:relative; + flex-basis:20%; + background-color:lightgray; + padding:0 2rem; + &:hover ul{ + opacity:1; + visibility:visible; + } + } + &__link{ + text-decoration:none; + } + } + .flx-nav-sub{ + border-top:2px solid white; + padding:0; + width:100%; + position:absolute; + left:0; + top:100%; + list-style:none; + opacity:0; + visibility:hidden; + transition:all .5s; + &__item{ + background-color:lightgray; + padding:0 2rem; + &:not(:last-child){ + border-bottom:1px solid green; + } + } + &__link{ + text-decoration:none; + } + + } + //navigation + *, *::after, *::before{ + box-sizing: inherit; + padding:0;margin:0; + } + html { + font-size: 62.5%; + } + body { + box-sizing: border-box; + } + .grid-container{ + font-size:2rem; + margin:1rem; + background-color:green; + color:white; + height:100vh; + padding:1rem; + display:grid; + grid-template-columns: [nav foot left] 1fr [left-end mid] 1fr [right mid-end] 1fr [nav-end foot-end right-end]; + grid-template-rows: max-content 3fr 1fr; + grid-gap: 10px; + &__left{ + grid-column: left / left-end; + background-color:orangered; + } + &__mid { + grid-column: mid / mid-end; + background-color:blue; + } + &__right{ + grid-column: right / right-end; + background-color:orange; + } + &__foot{ + grid-column: foot / foot-end; + background-color:lighten(black,10%); + } + + } + .center-flex { + display:flex; + align-items:center; + justify-content:center; + } + .navigation { + grid-column: nav / nav-end; + // justify-self: center; + background-color:white; + &__list { + // background-color:blue; + list-style:none; + display:grid; + grid-template-columns:repeat(3, minmax(max-content,33%)); + + grid-column-gap:1rem; + justify-content: end; + } + &__item { + // background-color:yellow; + padding:.6rem; + text-transform:uppercase; + // &:not(:last-child){ + // margin-right:1rem; + // } + &--1{ + position:relative; + + } + // &--11{ + // border-bottom:.1rem groove green; + // } + // &--12{ + // border-bottom:.1rem groove green; + // } + // &--13{ + // border-bottom:.1rem groove green; + // } + &--1:hover ul.navigation__list--sub, &--11:hover ul.navigation__list--sub-sub { + opacity:1; + visibility:visible; + + } + &--11:hover ul.navigation__list--sub-sub { + margin-left:5px; + left:100%; + top:-1px; + background-color:lightgray; + + } + } + &__link { + text-decoration: none; + } + } + .navigation__list--sub, .navigation__list--sub-sub{ + position:absolute; + top:100%;left:0; + margin-top:.1rem; + list-style:none; + opacity:0; + visibility:hidden; + transition:all .7s; + display:grid; + grid-template-columns: repeat(1, 1fr); + background-color:white; + width:100%; + grid-row-gap:.1rem; + padding:1rem; + & > li{ + border-bottom:.1rem groove blue; + } + } + .navigation__list--sub-sub{ + margin-left:5px; + left:100%; + top:-1px; + transition:all .3s; + & > li{ + border-bottom:.1rem groove red; + } + & > li > a{ + color: red; + } + } \ No newline at end of file diff --git a/index.html b/index.html index 76d1386..027ceb0 100644 --- a/index.html +++ b/index.html @@ -1,80 +1,283 @@ -
-