html{scroll-behavior: smooth;} body{ margin: 0; padding: 0; color: var(--color); background: var(--background); text-align: left; font-family: "open sans", sans-serif; scroll-behavior: smooth; overflow-x: hidden; --theme1: #3498db; --theme2: #2980b9; --red: #e74c3c; --background: #181818; --color: #fff; --margin: 15px; --padding: 15px; --borderRadius: 12px; --font: "open sans", sans-serif; --transition: all 300ms linear; --buttonRadius: 4px; } #content{ margin: 0; } .inner-width{ width: 100%; max-width: clamp(1100px, 90%, 1250px); margin: auto; } /* Loading screen & effects*/ #loadingScreen{ display: flex; background: var(--theme1); width: 100%; height: 100vh; position: fixed; z-index: 1001; justify-content: center; align-items: center; text-align: center; } #loader{ width: 60px; height: 60px; background: none; border: 8px solid #fff; border-radius: 50%; border-top-color: transparent; border-style: dotted; animation: loading 1000ms infinite; } @keyframes loading{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } } .loadEffect{ background: #eee; background-image: linear-gradient(90deg, rgba(238,238,238,1) 0%, rgba(221,221,221,1) 33%, rgba(238,238,238,1) 62%, rgba(221,221,221,1) 100%);; background-size: 400%; animation: loadEffect 1500ms infinite; color: transparent; } @keyframes loadEffect{ from{ background-position: 100%; } to{ background-position: 0; } } /* Navbar */ #navbar{ width: 100%; height: 56px; background: transparent; color: #fff; position: fixed; top: 0; left: 0; z-index: 999; transition: all 300ms linear; user-select: none; } #navbar img{ width: auto; height: 36px; margin: 10px 15px 15px 15px; float: left; } #navbar-links{ float: right; padding: 15px; } #navbar-links a{ margin: 0 5px; } #toggleNav{ text-align: right; color: #fff; margin: 10px 15px; display: none; float: right; font-size: 26px; text-decoration: none !important; } #toggleNav:hover{ text-decoration: none !important; } #closeNavbarPlaceholder{ display: none; } /* Home */ #home{ margin: 0; width: 100%; height: 100vh; background-image: url("assets/bg_grey.svg"); background-size: cover; background-repeat: repeat-x; background-position: center; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-around; align-items: center; } #home h1{ font-weight: 600; background: linear-gradient(90deg, rgba(150,237,32,1) 0%, rgba(0,212,255,1) 75%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; transition: var(--transition); } #home h1:hover{ background: linear-gradient(90deg, rgba(150,237,32,1) 0%, rgba(0,212,255,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } #home img{ width: 100%; height: auto; background-image: url("blob1.svg"); background-position: right; background-repeat: no-repeat; } #home button{ width: 100%; height: auto; min-height: 40px; margin: var(--margin) 0; padding: var(--padding); background: var(--theme2); color: #fff; border: 2px solid transparent; border-radius: var(--buttonRadius); font-size: 1rem; transition: all 200ms linear; } #home button:hover{ background: var(--theme2); border: 2px solid #fff; } /* About Section */ #aboutContent{ width: 100%; height: auto; margin: 0; display: flex; flex-direction: row-reverse; flex-wrap: nowrap; justify-content: space-around; align-content: space-around; } #aboutText, #aboutImg{ width: 100%; height: auto; text-align: justify; } #aboutImg img{ width: 80%; height: auto; user-select: none; text-align: center; margin: 0 10%; } #aboutSocial a{ color: #fff; margin: 10px; font-size: 26px; transition: var(--transition); outline: none; } #aboutSocial a:hover{ color: var(--theme1); text-decoration: none !important; } #aboutSocial a:hover:nth-child(1){ color: #8a3ab9; } #aboutSocial a:hover:nth-child(2){ color: #1DA1F2; } #aboutSocial a:hover:nth-child(3){ color: #4267B2; } #aboutSocial a:hover:nth-child(4){ color: #f1c40f; } #aboutSocial a:hover:nth-child(5){ color: #1DB954; } #aboutSocial a:hover:nth-child(6){ color: #0072b1; } /* Socialmedia Section */ #socialmedia{ margin: auto; } #socialSelection input[type=radio]{ display: none; } #socialSelection label{ font-size: 1.1rem; border: none; border-bottom: 2px solid var(--theme1); user-select: none; transition: all 250ms linear; padding: 5px 10px; margin: 10px 0 10px -5px; } #socialSelection label:hover, .smRadioInput:checked + .smRadioLabel{ background: var(--theme1); transition: all 200ms linear; border-top-right-radius: var(--borderRadius); border-top-left-radius: var(--borderRadius); } .socialTab{ display: none; background: var(--theme1); width: 100%; height: auto; min-height: 200px; margin: 0 0 0 -5px; padding: var(--padding); border-bottom-right-radius: var(--borderRadius); border-bottom-left-radius: var(--borderRadius); } .socialTab img{ max-width: 80%; } .socialTab button{ width: 80%; height: auto; min-height: 40px; margin: var(--margin); background: var(--theme2); color: #fff; border: 2px solid transparent; border-radius: var(--buttonRadius); font-size: 1rem; transition: all 200ms linear; } .socialTab button:hover{ background: var(--theme2); border: 2px solid #fff; } #insta1Container{ width: 100%; height: auto; margin: auto; display: flex; flex-direction: row; flex-wrap: wrap; flex-grow: 1; justify-content: space-around; align-content: center; align-items: center; } #insta1Container div{ width: 50%; } #insta1Container img{ border-radius: var(--borderRadius); } #insta2Container{ width: 100%; height: auto; display: flex; flex-direction: row; flex-wrap: nowrap; flex-grow: 1; justify-content: space-around; align-content: stretch; align-items: stretch; } #insta2Container div{ width: 100%; align-self: center; } #insta2Container div:nth-child(1){ margin: auto auto auto 10%; } #insta2Container img{ width: 70%; margin: auto 20%; border-radius: var(--borderRadius); transition: all 300ms linear; user-select: none; } #insta2ImgContainer{ width: 100%; height: auto; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; flex-grow: 1; justify-content: space-around; align-content: center; align-items: baseline; } #insta2ImgContainer img{ width: 30%; height: auto; margin: var(--margin) auto; border-radius: var(--borderRadius); transition: all 300ms linear; user-select: none; } #insta2ImgContainer img:hover, #socialInstagram2 img:hover{ border-radius: 50%; } #githubContainer{ width: 100%; height: auto; margin: auto; display: flex; flex-direction: row; flex-wrap: wrap; flex-grow: 1; justify-content: space-around; align-content: center; align-items: center; } #githubContainer div{ width: 50%; align-self: center; align-content: center; } #githubContainer div:nth-child(2){ text-align: center; } #githubContainer img{ width: 100%; height: auto; user-select: none; } /* Project Section */ #projects{ margin: auto; } #projectContainer{ width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-around; align-items: flex-start; } .project{ width: 80%; max-width: 450px; height: auto; background: var(--theme1); border-radius: var(--borderRadius); margin: var(--margin) var(--margin) 40px var(--margin); padding: 0 var(--padding) var(--padding) 0; } #projectRow2{ padding-top: 100px; } .project img{ width: 30%; height: auto; border-top-left-radius: var(--borderRadius); } .project h3{ width: calc(70% - (2 * var(--margin))); height: auto; float: right; margin: var(--margin); } .project p{ margin: var(--padding); } .project button{ width: 90%; height: auto; margin: 5%; padding: 10px; font-size: 1rem; background: var(--theme2); color: #fff; border: 2px solid transparent; border-radius: var(--buttonRadius); transition: all 200ms linear; } .project button:hover{ background: var(--theme2); border: 2px solid #fff; } /* FAQ Section */ #faq{ margin: 0; } .faqObject{ width: calc(100% - 30px); height: auto; background: var(--theme1); color: #fff; margin: 15px; /*padding: 5px 15px;*/ padding: 0 0 5px 0; border-radius: 8px; position: relative; text-align: justify; user-select: none; } .faqObject i{ font-size: 24px; margin: 15px; display: inline-flex; transform: rotate(0deg); transition: var(--transition); } .faqObject h3{ display: inline-flex; width: 80%; margin: 0 15px; } .faqObject p{ margin: 15px; user-select: text; } .faqAnswer{ display: none; padding: 0 15px 15px 5px; } /* Contact Section */ #contact input{ width: calc(100% - 20px); height: auto; font-size: 1em; font-family: var(--font); outline: none; background: var(--theme1); color: #fff; border: none; border-radius: 8px; margin: 10px 0; padding: 5px 10px; } #contactNames{ display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-content: stretch; } #contactNames input{ width: calc(95% - 20px); } #contactNames input:nth-child(1){ margin: 10px 10px 10px 0; } #contactNames input:nth-child(2){ margin: 10px 0 10px 10px; } #contact textarea{ width: calc(100% - 20px); height: auto; min-height: 200px; font-size: 1em; font-family: var(--font); outline: none; background: var(--theme1); color: #fff; border: none; border-radius: 8px; margin: 10px 0; padding: 5px 10px; resize: vertical; } #termsLabel p{ max-width: calc(90% - 45px); user-select: none; text-align: justify; margin: 0 10px; } #contact input[type="checkbox"]{ height: 0; width: 0; opacity: 0; } #contact input[type="checkbox"]+label::before{ width: 15px; height: 15px; border-radius: 4px; border: 2px solid var(--theme1); background: var(--background); display: block; content: ""; margin: 10px 0; float: left; } #contact input[type="checkbox"]:checked+label::before{ box-shadow: inset 0px var(--background); background: var(--theme1); } #contact label p{ margin: 0 30px; width: calc(100% - 30px); float: left; } #contact button{ width: calc(100% - 20px); height: auto; font-size: 1em; font-family: var(--font); outline: none; background: var(--theme1); color: #fff; border: 2px solid transparent; border-radius: 8px; margin: 20px 0; padding: 5px 10px; } #contact button:hover{ background: var(--theme2); border: 2px dotted; } @keyframes shake{ 0%{ transform: translate(0, 0); } 15%{ transform: translate(1rem, 0); } 35%{ transform: translate(-1rem, 0); } 55%{ transform: translate(1rem, 0); } 80%{ transform: translate(-1rem, 0); } 10%{ transform: translate(0, 0); } } /* Footer & imprint */ #footer{ margin: 0; padding: 0; color: #fff; width: auto; height: auto; font-size: 1.1rem; } #footerExpanded{ display: none; /* FLEX */ flex-direction: row; flex-wrap: wrap; justify-content: space-around; align-items: stretch; background: var(--theme1); padding-bottom: 30px; } #footerContent{ width: calc(100% - 30px); height: auto; min-height: 60px; background: var(--theme1); margin: 0; margin-top: -21px; padding: 15px; } /* Privacy Banner */ #cookieBanner{ display: flex; /* FLEX */ width: 100%; height: auto; min-height: 200px; color: #fff; background: var(--theme1); font-size: 1rem; flex-direction: row; flex-wrap: nowrap; justify-content: space-around; position: fixed; bottom: 0; left: 0; } #cookieBanner div{ max-width: 50%; } #cookieIcon{ font-size: 6rem; user-select: none; margin: 0; } #cookieBanner button{ width: 30%; min-width: 80px; height: auto; background: #F3AD61; color: #6D4534; border: 2px solid #F3AD61; border-radius: 4px; margin: 10px; padding: 8px; font-size: 14px; font-weight: bold; transition: var(--transition); } #cookieBanner button:hover{ background: #6D4534; color: #F3AD61; border-color: #6D4534; } /* Scroll to the top button */ #scroll-top{ width: 40px; height: 40px; background: var(--theme1); border-radius: 12px; margin: 15px; bottom: 0; right: 0; position: fixed; justify-content: center; display: flex; font-size: 28px; color: #fff; transition: .1s linear; } #scroll-top i{ margin-top: 0px; transition: .1s linear; stroke-width: 3px; } #scroll-top i:hover{ margin-top: -5px; } /* Section defaults */ .section{ margin: 15px 0; } .sectionTitle{ color: var(--color); font-size: 2rem; } .sectionTitle::before{ content: "#"; color: var(--theme2); margin: 0 10px 0 0; user-select: none; } @media screen and (max-width:640px){ .sectionTitle::before{ margin: 0 10px 0 10px; } } /* General stylings */ a{ color: inherit; text-decoration: none; } a:hover{ color: inherit; text-decoration: underline; } i{ text-decoration: none !important; outline: none; font-style: normal; } i:hover{ text-decoration: none !important; outline: none; } var{ font-style: normal; } input, textarea{ outline: none; } input::placeholder, textarea::placeholder{ color: inherit; } @media screen and (max-width:640px){ /* General */ .inner-width p{ margin: auto 10px; } /* Navbar */ #navbar-links{ display: none; width: 80%; height: 100vh; position: absolute; top: 0; right: 0; margin: 0; background: var(--theme1); color: #fff; font-size: 2rem; flex-direction: column; flex-wrap: wrap; align-content: stretch; align-items: baseline; } #navbar-links a{ margin: 0; text-decoration: none; padding: 5px; transition: all 250ms linear; } #navbar-links a:hover{ text-decoration: none; background: var(--theme2); border-radius: 12px; transition: all 250ms linear; } #closeNavbarPlaceholder{ display: none; width: 20%; height: 100vh; position: absolute; top: 0; left: 0; margin: 0; padding: calc(10% - 2rem); background: var(--theme2); font-size: 2rem; } #toggleNav{ display: block; } /* About Section*/ #aboutContent{ flex-wrap: wrap; flex-direction: column-reverse; } #aboutImg img{ width: 90%; margin: 0 5%; } /* Socialmedia Section */ #socialSelection{ padding-left: calc(5% + 5px); } #socialSelection label{ font-size: 0.9rem; } .socialTab{ width: calc(90% - (2 * var(--padding))); margin: 5%; margin-top: 5px; } #insta2Container{ flex-wrap: wrap; } #insta2Container img{ width: 100%; margin: var(--margin) 10%; } #insta1Container div, #insta2ImgContainer img, #githubContainer div{ width: 100%; } /* Projects Section */ #projectRow2{ padding-top: 0; } /* FAQ Section */ .faqObject{ padding: 0 0 15px 0; } .faqObject h3{ width: 70%; margin: auto 5px auto 10px; } /* Contact Section */ #contact input, #contact textarea, #contactNames input, #contactNames input:nth-child(1){ margin: 10px; width: calc(95% - 20px); } #contactNames{ flex-wrap: wrap; } #contact input[type="checkbox"]+label::before{ margin: 10px; } #contact label p{ margin: 10px; width: calc(80% - 30px); } #contact button{ margin: 20px 10px; } /* Privacy hint */ #cookieBanner{ flex-wrap: wrap; padding: 0 auto; } #cookieBanner div{ width: 90%; max-width: none; margin: 0 5% 10px 5%; } #cookieBanner button{ width: 90%; min-width: 80px; margin: 10px 5%; } #cookieIcon{ display: none; } } /* Selection */ ::selection {background: var(--theme1); color: #ffffff; border-radius: var(--borderRadius);} ::-moz-selection {background: var(--theme1); color: #ffffff; border-radius: var(--borderRadius);} /* Countdown */ #countdown{ display: flex; flex-direction: row; user-select: none; font-family: var(--font); } .countdownObject{ display: flex; flex-direction: column; margin: var(--margin); justify-content: center; align-content: center; align-items: center; text-align: center; text-transform: capitalize; } .countdownObject:nth-child(4) .countdownNum{ background: var(--red); border-color: var(--red); transition: var(--transition); animation: countdown 2000ms infinite; } @keyframes countdown{ 0%{ border-color: var(--red); background: var(--red); } 50%{ border-color: var(--theme1); background: var(--theme1); } 100%{ border-color: var(--red); background: var(--red); } } .countdownNum{ width: 60px; height: 60px; background: transparent; border: 4px solid var(--theme1); border-radius: 50%; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-content: center; align-items: center; padding: 0; font-size: 18px; } @media screen and (max-width:700px){ #countdown{ flex-direction: row; } .countdownObject{ margin: 10px; } .countdownNum{ width: 30px; height: 30px; padding: 0; font-size: 14px; border: 2px solid var(--theme1); } #countdownImg{ display: none; } }