netig.net/src/sass/css/style.scss
2025-01-16 13:44:01 +01:00

696 lines
13 KiB
SCSS

/* Fonts
------------------------------------------------------------------------ */
@font-face {
font-family: 'TitilliumWeb';
src: url('/fonts/TitilliumWeb-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'TitilliumWeb';
src: url('/fonts/TitilliumWeb-Bold.woff2') format('woff2');
font-weight: bold;
font-style: normal;
font-display: swap;
}
/* Reset
------------------------------------------------------------------------ */
body {
margin: 0px;
}
/* Variables
------------------------------------------------------------------------ */
$color__primary: #00c8be;
$color__secondary: rgb(15 25 50/var(--tw-bg-opacity, 1));
$color__ternary: rgb(30 40 85/var(--tw-bg-opacity, 1));
$color__neutral: #010101;
$color__white: #fff;
$cover__home: url(/images/background.webp);
/* Layout
------------------------------------------------------------------------ */
body,
html {
font-family: TitilliumWeb, sans-serif;
font-size: 1.2rem;
color: $color__white;
scroll-behavior: smooth;
}
main {
min-height: calc(100vh - 142.4px);
}
article {
padding-bottom: 100px;
}
.anchor {
height: 0px;
}
.content {
padding: 20px;
}
/* Lists
------------------------------------------------------------------------ */
li {
color: $color__white;
}
/* Background
------------------------------------------------------------------------ */
body {
background: $color__secondary;
}
/* Links
------------------------------------------------------------------------ */
a {
color: $color__primary;
text-decoration: none;
&:hover {
color: $color__primary;
}
}
/* Titles
------------------------------------------------------------------------ */
h1,
h2,
h3,
h4 {
font-family: 'TitilliumWeb', sans-serif;
font-weight: bold;
text-align: left;
color: $color__white;
}
h1 {
font-size: 2.8rem;
line-height: 2.8rem;
}
h2 {
font-size: 2.6rem;
line-height: 2.6rem;
}
h3 {
font-size: 2rem;
line-height: 2rem;
}
h4 {
font-size: 1.8rem;
line-height: 1.8rem;
}
/* Animations
------------------------------------------------------------------------ */
.from-left {
position: relative;
animation-name: from-left;
animation-duration: 1s;
}
@keyframes from-left {
0% {
left: -500px;
}
100% {
left: 0;
}
}
.from-right {
position: relative;
animation-name: from-right;
animation-duration: 1s;
}
@keyframes from-right {
0% {
right: -500px;
}
100% {
right: 0;
}
}
/* Topnav
------------------------------------------------------------------------ */
.topbar {
display: flex;
height: 57px;
flex-wrap: wrap;
align-items: center;
text-align: left;
background: $color__ternary;
z-index: 1;
@media screen and (min-width: 1080px) and (max-resolution: 1x) {
position: sticky;
top: 0;
}
a {
padding-left: 20px;
}
}
/* Sidenav TEST
------------------------------------------------------------------------ */
#menuToggle {
display: block;
position: fixed;
top: 20px;
right: 20px;
z-index: 1;
}
#menuToggle a {
transition: color 0.3s ease;
}
#menuToggle input {
display: block;
width: 40px;
height: 32px;
position: absolute;
top: -7px;
left: -5px;
cursor: pointer;
opacity: 0;
z-index: 2;
}
#menuToggle span {
display: block;
width: 33px;
height: 4px;
margin-bottom: 5px;
position: relative;
background: #cdcdcd;
border-radius: 3px;
z-index: 1;
transform-origin: 4px 0px;
transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
opacity 0.55s ease;
}
#menuToggle span:first-child {
transform-origin: 0% 0%;
}
#menuToggle span:nth-last-child(2) {
transform-origin: 0% 100%;
}
#menuToggle input:checked~span {
opacity: 1;
transform: rotate(45deg) translate(-2px, -1px);
background: #ffffff;
}
#menuToggle input:checked~span:nth-last-child(3) {
opacity: 0;
transform: rotate(0deg) scale(0.2, 0.2);
}
#menuToggle input:checked~span:nth-last-child(2) {
transform: rotate(-45deg) translate(0, -1px);
}
#menu {
position: fixed;
margin-top: 0;
padding-top: 100px;
top: 0;
right: 0;
width: fit-content;
max-width: 100%;
height: 100%;
background: $color__neutral;
box-shadow: 0 0 20px $color__neutral;
list-style-type: none;
transform: translate(100%, 0);
transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
}
#menu li {
padding-right: 20px;
padding-bottom: 50px;
font-size: 22px;
}
#menu li label {
cursor: pointer;
}
#menuToggle input:checked~ul {
transform: none;
}
/* Sidenav
------------------------------------------------------------------------ */
.menu_icon_sidenav {
z-index: 2;
width: fit-content;
height: auto;
background-color: #FC970B;
padding: 10px;
margin: 10px;
cursor: pointer;
position: fixed;
top: 0;
right: 0;
box-shadow: 0 0 10px $color__neutral;
border-radius: 100%;
}
.line1,
.line2,
.line3 {
width: 40px;
height: 4px;
margin: 10px 8px;
background-color: $color__white;
border-radius: 50px;
transition: 0.2s;
}
.active {
.line1 {
transform: translate(0px, 15px) rotate(45deg);
}
.line2 {
opacity: 0;
}
.line3 {
transform: translate(0px, -15px) rotate(-45deg);
}
}
.sidenav {
width: fit-content;
background-color: $color__neutral;
position: fixed;
text-align: center;
z-index: 1;
right: -500px;
pointer-events: none;
transition: 0.3s;
top: 0;
box-shadow: 0 0 10px $color__neutral;
overflow: scroll;
nav {
padding-top: 80px;
margin-right: 40px;
ul li {
list-style: none;
margin-bottom: 20px;
transition: 0.2s;
&:hover {
background-color: $color__secondary;
border-radius: 50px;
}
a {
font-size: 1.2rem;
padding: 10px 30px;
display: block;
text-decoration: none;
text-align: center;
}
}
}
}
.active_sidenav {
right: 0;
pointer-events: fill;
position: fixed;
top: 0;
height: 100vh;
max-width: 100%;
}
/* Gaps
------------------------------------------------------------------------ */
.gap__20 {
height: 20px;
}
/* Boxes
------------------------------------------------------------------------ */
.box {
display: flex;
margin-top: 80px;
padding: 20px;
padding-bottom: 40px;
border: 2px solid $color__white;
box-shadow: 0 0 5px rgba(255, 255, 255, .2), 0 4px 4px rgba(0, 0, 0, .08);
flex-direction: column;
justify-content: space-between;
img {
max-width: 96px;
margin-left: auto;
margin-right: auto;
display: block;
}
&__title {
width: fit-content;
padding: 10px;
margin-top: 0;
margin-bottom: 0;
background: $color__secondary;
border: 0px solid $color__white;
translate: 0px -55px;
text-align: left;
}
&__link {
text-align: center;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: center;
@media screen and (min-width: 1080px) and (max-resolution: 1x) {
&:hover {
transform: scale(1.1);
transition: all .2s;
}
}
}
}
/* Logo
------------------------------------------------------------------------ */
.logo {
img {
width: 100%;
max-width: 500px;
@media screen and (min-width: 1080px) and (max-resolution: 1x) {
&:hover {
transform: scale(1.02);
transition: all .4s;
}
}
}
&--min {
img {
max-width: 48px;
}
}
}
/* Header
------------------------------------------------------------------------ */
header {
position: relative;
color: $color__white;
text-align: left;
p {
font-size: 1.6rem;
}
}
header::before {
content: "";
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
background: $color__ternary;
z-index: -1;
}
header {
h1 {
text-align: left;
font-size: 4rem;
}
}
/* Services
------------------------------------------------------------------------ */
.article-services {
position: relative;
color: $color__white;
text-align: center;
}
.article-services::before {
content: "";
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
background: $color__secondary;
z-index: -1;
}
/* Footer
------------------------------------------------------------------------ */
footer {
background-color: $color__neutral;
padding: 40px;
box-shadow: 0 0 20px $color__neutral;
}
.botbar {
width: 100%;
display: flex;
font-size: 1rem;
justify-content: space-between;
flex-wrap: wrap;
text-align: center;
color: $color__white;
p {
margin-left: auto;
margin-right: auto;
}
}
/* About article
------------------------------------------------------------------------ */
.article-about {
position: relative;
color: $color__white;
text-align: center;
::before {
content: "";
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
background: rgb(5 100 115/var(--tw-bg-opacity, 1));
z-index: -1;
}
h3 {
text-align: center;
}
}
/* hosting article
------------------------------------------------------------------------ */
.article-hosting {
position: relative;
color: $color__white;
text-align: left;
::before {
content: "";
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
background: $color__secondary;
z-index: -1;
}
}
/* Contact
------------------------------------------------------------------------ */
.contact-form {
margin-right: 20px;
font-size: 0.8rem;
font-weight: bold;
input,
select,
textarea {
width: 100%;
font-size: 1rem;
padding: 10px;
border: 0;
flex: 1 1 auto;
margin: 10px 0;
}
&>* {
display: flex;
font-family: TitilliumWeb, sans-serif;
}
textarea {
min-height: 150px;
max-width: 100%;
box-shadow: 0 0 10px $color__neutral;
}
}
input:focus,
textarea:focus {
outline: none;
}
.submit {
width: calc(100% + 22px) !important;
color: $color__white;
background-color: $color__primary;
&:hover {
cursor: pointer;
}
}
svg {
display: flex;
align-items: center;
justify-content: left;
height: 64px;
width: auto;
}
/* Success
------------------------------------------------------------------------ */
.success {
padding: 20px;
background-color: #185833;
}
/* Docnav
------------------------------------------------------------------------ */
.docnav {
background: rgb(5 100 115/var(--tw-bg-opacity, 1));
@media screen and (min-width: 1080px) and (max-resolution: 1x) {
min-height: 100vh;
}
}
.doc ul {
margin-top: 0;
padding-top: 20px;
padding-bottom: 20px;
@media screen and (min-width: 1080px) and (max-resolution: 1x) {
position: sticky;
top: 57px;
}
}
/* Responsive 1080px
------------------------------------------------------------------------ */
@media screen and (min-width: 1080px) and (max-resolution: 1x) {
.col--1-1 {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
align-items: normal;
}
.col--1-2 {
display: grid;
gap: 40px;
grid-template-columns: 1fr 2fr;
align-items: normal;
}
.col--1-4 {
display: grid;
gap: 40px;
grid-template-columns: 1fr 4fr;
align-items: normal;
}
.col--1-1-1 {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr 1fr;
align-items: normal;
}
.col--1-1-2 {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr 2fr;
align-items: normal;
}
}
/* Responsive 1200px
------------------------------------------------------------------------ */
@media screen and (min-width: 1200px) and (max-resolution: 1x) {
.content {
width: 1200px;
margin-left: auto;
margin-right: auto;
}
}