Deploy Pertama

This commit is contained in:
DyDev Asus S14
2023-08-04 09:32:20 +07:00
commit 989be12df9
22 changed files with 1478 additions and 0 deletions

539
assets/css/styles.css Normal file
View File

@@ -0,0 +1,539 @@
/*===== GOOGLE FONTS =====*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap");
/*===== VARIABLES CSS =====*/
:root {
--header-height: 3rem;
--font-semi: 600;
/*===== Colores =====*/
/*Purple 260 - Red 355 - Blue 224 - Pink 340*/
/* HSL color mode */
--hue-color: 224;
--first-color: hsl(var(--hue-color), 89%, 60%);
--second-color: hsl(var(--hue-color), 56%, 12%);
/*===== Fuente y tipografia =====*/
--body-font: 'Poppins', sans-serif;
--big-font-size: 2rem;
--h2-font-size: 1.25rem;
--normal-font-size: .938rem;
--smaller-font-size: .75rem;
/*===== Margenes =====*/
--mb-2: 1rem;
--mb-4: 2rem;
--mb-5: 2.5rem;
--mb-6: 3rem;
/*===== z index =====*/
--z-back: -10;
--z-fixed: 100;
}
@media screen and (min-width: 968px) {
:root {
--big-font-size: 3.5rem;
--h2-font-size: 2rem;
--normal-font-size: 1rem;
--smaller-font-size: .875rem;
}
}
/*===== BASE =====*/
*, ::before, ::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: var(--header-height) 0 0 0;
font-family: var(--body-font);
font-size: var(--normal-font-size);
color: var(--second-color);
}
h1, h2, p {
margin: 0;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
a {
text-decoration: none;
}
img {
max-width: 100%;
height: auto;
display: block;
}
/*===== CLASS CSS ===== */
.section-title {
position: relative;
font-size: var(--h2-font-size);
color: var(--first-color);
margin-top: var(--mb-2);
margin-bottom: var(--mb-4);
text-align: center;
}
.section-title::after {
position: absolute;
content: '';
width: 64px;
height: 0.18rem;
left: 0;
right: 0;
margin: auto;
top: 2rem;
background-color: var(--first-color);
}
.section {
padding-top: 3rem;
padding-bottom: 2rem;
}
/*===== LAYOUT =====*/
.bd-grid {
max-width: 1024px;
display: grid;
margin-left: var(--mb-2);
margin-right: var(--mb-2);
}
.l-header {
width: 100%;
position: fixed;
top: 0;
left: 0;
z-index: var(--z-fixed);
background-color: #fff;
box-shadow: 0 1px 4px rgba(146, 161, 176, 0.15);
}
/*===== NAV =====*/
.nav {
height: var(--header-height);
display: flex;
justify-content: space-between;
align-items: center;
font-weight: var(--font-semi);
}
@media screen and (max-width: 767px) {
.nav__menu {
position: fixed;
top: var(--header-height);
right: -100%;
width: 80%;
height: 100%;
padding: 2rem;
background-color: var(--second-color);
transition: .5s;
}
}
.nav__item {
margin-bottom: var(--mb-4);
}
.nav__link {
position: relative;
color: #fff;
}
.nav__link:hover {
position: relative;
}
.nav__link:hover::after {
position: absolute;
content: '';
width: 100%;
height: 0.18rem;
left: 0;
top: 2rem;
background-color: var(--first-color);
}
.nav__logo {
color: var(--second-color);
}
.nav__toggle {
color: var(--second-color);
font-size: 1.5rem;
cursor: pointer;
}
/*Active menu*/
.active::after {
position: absolute;
content: '';
width: 100%;
height: 0.18rem;
left: 0;
top: 2rem;
background-color: var(--first-color);
}
/*=== Show menu ===*/
.show {
right: 0;
}
/*===== HOME =====*/
.home {
position: relative;
row-gap: 5rem;
padding: 4rem 0 5rem;
}
.home__data {
align-self: center;
}
.home__title {
font-size: var(--big-font-size);
margin-bottom: var(--mb-5);
}
.home__title-color {
color: var(--first-color);
}
.home__social {
display: flex;
flex-direction: column;
}
.home__social-icon {
width: max-content;
margin-bottom: var(--mb-2);
font-size: 1.5rem;
color: var(--second-color);
}
.home__social-icon:hover {
color: var(--first-color);
}
.home__img {
position: absolute;
right: 0;
bottom: 0;
width: 260px;
}
.home__blob {
fill: var(--first-color);
}
.home__blob-img {
width: 360px;
}
/*BUTTONS*/
.button {
display: inline-block;
background-color: var(--first-color);
color: #fff;
padding: .75rem 2.5rem;
font-weight: var(--font-semi);
border-radius: .5rem;
transition: .3s;
}
.button:hover {
box-shadow: 0px 10px 36px rgba(0, 0, 0, 0.15);
}
/* ===== ABOUT =====*/
.about__container {
row-gap: 2rem;
text-align: center;
}
.brief__container {
row-gap: 2rem;
text-align: left;
}
.about__subtitle {
margin-bottom: var(--mb-2);
}
.brief {
text-align: left;
}
.about__img {
justify-self: center;
}
.about__img img {
width: 200px;
border-radius: .5rem;
}
/* ===== SKILLS =====*/
.skills__container {
row-gap: 2rem;
text-align: center;
}
.skills__subtitle {
margin-bottom: var(--mb-2);
}
.skills__text {
margin-bottom: var(--mb-4);
}
.skills__data {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
font-weight: var(--font-semi);
padding: .5rem 1rem;
margin-bottom: var(--mb-4);
border-radius: .5rem;
box-shadow: 0px 4px 25px rgba(14, 36, 49, 0.15);
}
.skills__icon {
font-size: 2rem;
margin-right: var(--mb-2);
color: var(--first-color);
}
.skills__names {
display: flex;
align-items: center;
}
.skills__bar {
position: absolute;
left: 0;
bottom: 0;
background-color: var(--first-color);
height: .25rem;
border-radius: .5rem;
z-index: var(--z-back);
}
.skills__html {
width: 95%;
}
.skills__css {
width: 85%;
}
.skills__js {
width: 65%;
}
.skills__ux {
width: 85%;
}
.skills__img {
border-radius: .5rem;
}
/* ===== WORK =====*/
.work__container {
row-gap: 2rem;
}
.work__img {
box-shadow: 0px 4px 25px rgba(14, 36, 49, 0.15);
border-radius: .5rem;
overflow: hidden;
}
.work__img img {
transition: 1s;
}
.work__img img:hover {
transform: scale(1.1);
}
/* ===== CONTACT =====*/
.contact__input {
width: 100%;
font-size: var(--normal-font-size);
font-weight: var(--font-semi);
padding: 1rem;
border-radius: .5rem;
border: 1.5px solid var(--second-color);
outline: none;
margin-bottom: var(--mb-4);
}
.contact__button {
display: block;
border: none;
outline: none;
font-size: var(--normal-font-size);
cursor: pointer;
margin-left: auto;
}
/* ===== FOOTER =====*/
.footer {
background-color: var(--second-color);
color: #fff;
text-align: center;
font-weight: var(--font-semi);
padding: 2rem 0;
}
.footer__title {
font-size: 2rem;
margin-bottom: var(--mb-4);
}
.footer__social {
margin-bottom: var(--mb-4);
}
.footer__icon {
font-size: 1.5rem;
color: #fff;
margin: 0 var(--mb-2);
}
.footer__copy {
font-size: var(--smaller-font-size);
}
/* ===== MEDIA QUERIES=====*/
@media screen and (max-width: 320px) {
.home {
row-gap: 2rem;
}
.home__img {
width: 200px;
}
}
@media screen and (min-width: 576px) {
.home {
padding: 4rem 0 2rem;
}
.home__social {
padding-top: 0;
padding-bottom: 2.5rem;
flex-direction: row;
align-self: flex-end;
}
.home__social-icon {
margin-bottom: 0;
margin-right: var(--mb-4);
}
.home__img {
width: 300px;
bottom: 25%;
}
.about__container {
grid-template-columns: repeat(2, 1fr);
align-items: center;
text-align: initial;
}
.skills__container {
grid-template-columns: .7fr;
justify-content: center;
column-gap: 1rem;
}
.work__container {
grid-template-columns: repeat(2, 1fr);
column-gap: 2rem;
padding-top: 2rem;
}
.contact__form {
width: 360px;
padding-top: 2rem;
}
.contact__container {
justify-items: center;
}
}
@media screen and (min-width: 768px) {
body {
margin: 0;
}
.section {
padding-top: 4rem;
padding-bottom: 3rem;
}
.section-title {
margin-bottom: var(--mb-6);
}
.section-title::after {
width: 80px;
top: 3rem;
}
.nav {
height: calc(var(--header-height) + 1.5rem);
}
.nav__list {
display: flex;
padding-top: 0;
}
.nav__item {
margin-left: var(--mb-6);
margin-bottom: 0;
}
.nav__toggle {
display: none;
}
.nav__link {
color: var(--second-color);
}
.home {
padding: 8rem 0 2rem;
}
.home__img {
width: 400px;
bottom: 10%;
}
.about__container {
padding-top: 2rem;
}
.about__img img {
width: 300px;
}
.skills__container {
grid-template-columns: repeat(2, 1fr);
column-gap: 2rem;
align-items: center;
text-align: initial;
}
.work__container {
grid-template-columns: repeat(3, 1fr);
column-gap: 2rem;
}
}
@media screen and (min-width: 992px) {
.bd-grid {
margin-left: auto;
margin-right: auto;
}
.home {
padding: 10rem 0 2rem;
}
.home__img {
width: 450px;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
assets/img/about.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
assets/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
assets/img/perfil.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

BIN
assets/img/work1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/img/work2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
assets/img/work3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
assets/img/work4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
assets/img/work5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
assets/img/work6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

56
assets/js/main.js Normal file
View File

@@ -0,0 +1,56 @@
/*===== MENU SHOW =====*/
const showMenu = (toggleId, navId) =>{
const toggle = document.getElementById(toggleId),
nav = document.getElementById(navId)
if(toggle && nav){
toggle.addEventListener('click', ()=>{
nav.classList.toggle('show')
})
}
}
showMenu('nav-toggle','nav-menu')
/*==================== REMOVE MENU MOBILE ====================*/
const navLink = document.querySelectorAll('.nav__link')
function linkAction(){
const navMenu = document.getElementById('nav-menu')
// When we click on each nav__link, we remove the show-menu class
navMenu.classList.remove('show')
}
navLink.forEach(n => n.addEventListener('click', linkAction))
/*==================== SCROLL SECTIONS ACTIVE LINK ====================*/
const sections = document.querySelectorAll('section[id]')
function scrollActive(){
const scrollY = window.pageYOffset
sections.forEach(current =>{
const sectionHeight = current.offsetHeight
const sectionTop = current.offsetTop - 50;
sectionId = current.getAttribute('id')
if(scrollY > sectionTop && scrollY <= sectionTop + sectionHeight){
document.querySelector('.nav__menu a[href*=' + sectionId + ']').classList.add('active')
}else{
document.querySelector('.nav__menu a[href*=' + sectionId + ']').classList.remove('active')
}
})
}
window.addEventListener('scroll', scrollActive)
/*===== SCROLL REVEAL ANIMATION =====*/
const sr = ScrollReveal({
origin: 'top',
distance: '60px',
duration: 2000,
delay: 200,
// reset: true
});
sr.reveal('.home__data, .about__img, .skills__subtitle, .skills__text',{});
sr.reveal('.home__img, .about__subtitle, .about__text, .skills__img',{delay: 400});
sr.reveal('.home__social-icon',{ interval: 200});
sr.reveal('.skills__data, .work__img, .contact__input',{interval: 200});

28
assets/js/scripts.js Normal file
View File

@@ -0,0 +1,28 @@
function kirimPesan() {
var nama = document.getElementById('name');
var email = document.getElementById('email');
var subject = document.getElementById('subject');
var pesan = document.getElementById('message');
var gabungan = '%F0%9D%90%8D%F0%9D%90%9A%F0%9D%90%A6%F0%9D%90%9A%20%3A%0A' + nama.value + '%0A%0A%F0%9D%90%84%F0%9D%90%A6%F0%9D%90%9A%F0%9D%90%A2%F0%9D%90%A5%20%3A%0A' + email.value + '%0A%0A%F0%9D%90%92%F0%9D%90%AE%F0%9D%90%9B%F0%9D%90%A3%F0%9D%90%9E%F0%9D%90%A4%20%3A%0A' + subject.value + '%0A%0A%F0%9D%90%8F%F0%9D%90%9E%F0%9D%90%AC%F0%9D%90%9A%F0%9D%90%A7%20%3A%0A' + pesan.value;
// Menggunakan variabel token dan grup dari PHP
$.ajax({
url: `https://api.telegram.org/bot${token}/sendMessage?chat_id=${grup}&text=${gabungan}&parse_mode=html`,
method: `POST`,
success: function(response) {
// Eksekusi refresh halaman setelah mengirim pesan
window.location.reload(true);
},
error: function(error) {
// Jika terjadi kesalahan, Anda dapat menambahkan penanganan error di sini
console.log("Error:", error);
}
});
// Membersihkan kolom form setelah mengirim pesan
nama.value = '';
email.value = '';
subject.value = '';
pesan.value = '';
}

View File

@@ -0,0 +1,41 @@
// ==== for menu scroll
const pageLink = document.querySelectorAll(".ud-menu-scroll");
pageLink.forEach((elem) => {
elem.addEventListener("click", (e) => {
e.preventDefault();
document.querySelector(elem.getAttribute("href")).scrollIntoView({
behavior: "smooth",
offsetTop: 1 - 60,
});
});
});
// section menu active
function onScroll(event) {
const sections = document.querySelectorAll(".ud-menu-scroll");
const scrollPos =
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop;
for (let i = 0; i < sections.length; i++) {
const currLink = sections[i];
const val = currLink.getAttribute("href");
const refElement = document.querySelector(val);
const scrollTopMinus = scrollPos + 73;
if (
refElement.offsetTop <= scrollTopMinus &&
refElement.offsetTop + refElement.offsetHeight > scrollTopMinus
) {
document
.querySelector(".ud-menu-scroll")
.classList.remove("active");
currLink.classList.add("active");
} else {
currLink.classList.remove("active");
}
}
}
window.document.addEventListener("scroll", onScroll);

10
assets/php/footer.php Normal file
View File

@@ -0,0 +1,10 @@
<!--===== FOOTER =====-->
<footer class="footer">
<p class="footer__title">myPortfolio</p>
<div class="footer__social">
<a href="https://facebook.com/dyzulk" class="footer__icon"><i class='bx bxl-facebook' ></i></a>
<a href="https://instagram.com/dyzulk" class="footer__icon"><i class='bx bxl-instagram' ></i></a>
<a href="https://twitter.com/dyzulk_" class="footer__icon"><i class='bx bxl-twitter' ></i></a>
</div>
<p class="footer__copy">Copyright &#169; 2022 - <script>document.write(new Date().getFullYear())</script> <a href="/" style="color: #fff;">Herdy Iskandar</a>. All rigths reserved</p>
</footer>

14
assets/php/header.php Normal file
View File

@@ -0,0 +1,14 @@
<link href="favicon.png" rel="icon" sizes=”32×32″ type="image/png">
<meta charset="UTF-8">
<meta charset="UTF-8">
<meta name="description" content="Muhammad Herdy Iskandar He Is A 18 year old Indonesian student living in Cirebon, Indonesian. You might have seen me on Facebook or Instagram. Now here you are. Yes, I write, too. Because there are so many things I cannot say out loud, yet I always find a way to put it into words.">
  <meta name="keywords" content="Muhammad Herdy Iskandar, HTML,CSS,React JS,JavaScript">
  <meta name="author" content="Muhammad Herdy Iskandar">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="google-site-verification" content="C7cNjxkyxXcQHExRsdhIGjZ658BcK9ftuIpJK8NYRGc" />
<link rel="stylesheet" href="assets/css/styles.css">
<!-- =====BOX ICONS===== -->
<!-- =====BOX ICONS===== -->
<link href='https://cdn.jsdelivr.net/npm/boxicons@2.0.5/css/boxicons.min.css' rel='stylesheet'>
<title>Muhammad Herdy Iskandar</title>

22
assets/php/navbar.php Normal file
View File

@@ -0,0 +1,22 @@
<!--===== HEADER =====-->
<header class="l-header">
<nav class="nav bd-grid">
<div>
<a href="/" class="nav__logo" > <img style="width: 150px;" class="logopng" src="assets/img/logo.png" alt="Portfolio Herdy Iskandar" > </a>
</div>
<div class="nav__menu" id="nav-menu">
<ul class="nav__list">
<li class="nav__item"><a href="#home" class="nav__link active">Home</a></li>
<li class="nav__item"><a href="#about" class="nav__link">About</a></li>
<li class="nav__item"><a href="#skills" class="nav__link">Skills</a></li>
<li class="nav__item"><a href="#work" class="nav__link">Work</a></li>
<li class="nav__item"><a href="#contact" class="nav__link">Contact</a></li>
</ul>
</div>
<div class="nav__toggle" id="nav-toggle">
<i class='bx bx-menu'></i>
</div>
</nav>
</header>

523
assets/scss/styles.scss Normal file
View File

@@ -0,0 +1,523 @@
/*===== GOOGLE FONTS =====*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
/*===== VARIABLES CSS =====*/
--header-height: 3rem;
--font-semi: 600;
/*===== Colores =====*/
/*Purple 260 - Red 355 - Blue 224 - Pink 340*/
/* HSL color mode */
--hue-color: 224;
--first-color: hsl(var(--hue-color), 89%, 60%);
--second-color: hsl(var(--hue-color), 56%, 12%);
/*===== Fuente y tipografia =====*/
--body-font: 'Poppins', sans-serif;
--big-font-size: 2rem;
--h2-font-size: 1.25rem;
--normal-font-size: .938rem;
--smaller-font-size: .75rem;
/*===== Margenes =====*/
--mb-2: 1rem;
--mb-4: 2rem;
--mb-5: 2.5rem;
--mb-6: 3rem;
/*===== z index =====*/
--z-back: -10;
--z-fixed: 100;
@media screen and (min-width: 968px){
--big-font-size: 3.5rem;
--h2-font-size: 2rem;
--normal-font-size: 1rem;
--smaller-font-size: .875rem;
}
/*===== BASE =====*/
*,::before,::after{
box-sizing: border-box;
}
html{
scroll-behavior: smooth;
}
body{
margin: var(--header-height) 0 0 0;
font-family: var(--body-font);
font-size: var(--normal-font-size);
color: var(--second-color);
}
h1,h2,p{
margin: 0;
}
ul{
margin: 0;
padding: 0;
list-style: none;
}
a{
text-decoration: none;
}
img{
max-width: 100%;
height: auto;
display: block;
}
/*===== CLASS CSS ===== */
.section-title{
position: relative;
font-size: var(--h2-font-size);
color: var(--first-color);
margin-top: var(--mb-2);
margin-bottom: var(--mb-4);
text-align: center;
&::after{
position: absolute;
content: '';
width: 64px;
height: 0.18rem;
left: 0;
right: 0;
margin: auto;
top: 2rem;
background-color: var(--first-color);
}
}
.section{
padding-top: 3rem;
padding-bottom: 2rem;
}
/*===== LAYOUT =====*/
.bd-grid{
max-width: 1024px;
display: grid;
margin-left: var(--mb-2);
margin-right: var(--mb-2);
}
.l-header{
width: 100%;
position: fixed;
top: 0;
left: 0;
z-index: var(--z-fixed);
background-color: #fff;
box-shadow: 0 1px 4px rgba(146,161,176,.15);
}
/*===== NAV =====*/
.nav{
height: var(--header-height);
display: flex;
justify-content: space-between;
align-items: center;
font-weight: var(--font-semi);
&__menu{
@media screen and (max-width: 767px){
position: fixed;
top: var(--header-height);
right: -100%;
width: 80%;
height: 100%;
padding: 2rem;
background-color: var(--second-color);
transition: .5s;
}
}
&__item{
margin-bottom: var(--mb-4);
}
&__link{
position: relative;
color: #fff;
&:hover{
position: relative;
&::after{
position: absolute;
content: '';
width: 100%;
height: 0.18rem;
left: 0;
top: 2rem;
background-color: var(--first-color);
}
}
}
&__logo{
color: var(--second-color);
}
&__toggle{
color: var(--second-color);
font-size: 1.5rem;
cursor: pointer;
}
}
/*Active menu*/
.active::after{
position: absolute;
content: '';
width: 100%;
height: 0.18rem;
left: 0;
top: 2rem;
background-color: var(--first-color);
}
/*=== Show menu ===*/
.show{
right: 0;
}
/*===== HOME =====*/
.home{
position: relative;
row-gap: 5rem;
padding: 4rem 0 5rem;
&__data{
align-self: center;
}
&__title{
font-size: var(--big-font-size);
margin-bottom: var(--mb-5);
&-color{
color: var(--first-color);
}
}
&__social{
display: flex;
flex-direction: column;
&-icon{
width: max-content;
margin-bottom: var(--mb-2);
font-size: 1.5rem;
color: var(--second-color);
&:hover{
color: var(--first-color);
}
}
}
&__img{
position: absolute;
right: 0;
bottom: 0;
width: 260px;
}
&__blob{
fill: var(--first-color);
&-img{
width: 360px;
}
}
}
/*BUTTONS*/
.button{
display: inline-block;
background-color: var(--first-color);
color: #fff;
padding: .75rem 2.5rem;
font-weight: var(--font-semi);
border-radius: .5rem;
transition: .3s;
&:hover{
box-shadow: 0px 10px 36px rgba(0,0,0,.15);
}
}
/* ===== ABOUT =====*/
.about{
&__container{
row-gap: 2rem;
text-align: center;
}
&__subtitle{
margin-bottom: var(--mb-2);
}
&__img{
justify-self: center;
& img{
width: 200px;
border-radius: .5rem;
}
}
}
/* ===== SKILLS =====*/
.skills{
&__container{
row-gap: 2rem;
text-align: center;
}
&__subtitle{
margin-bottom: var(--mb-2);
}
&__text{
margin-bottom: var(--mb-4);
}
&__data{
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
font-weight: var(--font-semi);
padding: .5rem 1rem;
margin-bottom: var(--mb-4);
border-radius: .5rem;
box-shadow: 0px 4px 25px rgba(14, 36, 49, 0.15);
}
&__icon{
font-size: 2rem;
margin-right: var(--mb-2);
color: var(--first-color);
}
&__names{
display: flex;
align-items: center;
}
&__bar{
position: absolute;
left: 0;
bottom: 0;
background-color: var(--first-color);
height: .25rem;
border-radius: .5rem;
z-index: var(--z-back);
}
&__html{
width: 95%;
}
&__css{
width: 85%;
}
&__js{
width: 65%;
}
&__ux{
width: 85%;
}
&__img{
border-radius: .5rem;
}
}
/* ===== WORK =====*/
.work{
&__container{
row-gap: 2rem;
}
&__img{
box-shadow: 0px 4px 25px rgba(14, 36, 49, 0.15);
border-radius: .5rem;
overflow: hidden;
& img{
transition: 1s;
&:hover{
transform: scale(1.1);
}
}
}
}
/* ===== CONTACT =====*/
.contact{
&__input{
width: 100%;
font-size: var(--normal-font-size);
font-weight: var(--font-semi);
padding: 1rem;
border-radius: .5rem;
border: 1.5px solid var(--second-color);
outline: none;
margin-bottom: var(--mb-4);
}
&__button{
display: block;
border: none;
outline: none;
font-size: var(--normal-font-size);
cursor: pointer;
margin-left: auto;
}
}
/* ===== FOOTER =====*/
.footer{
background-color: var(--second-color);
color: #fff;
text-align: center;
font-weight: var(--font-semi);
padding: 2rem 0;
&__title{
font-size: 2rem;
margin-bottom: var(--mb-4);
}
&__social{
margin-bottom: var(--mb-4);
}
&__icon{
font-size: 1.5rem;
color: #fff;
margin: 0 var(--mb-2);
}
&__copy{
font-size: var(--smaller-font-size);
}
}
/* ===== MEDIA QUERIES=====*/
@media screen and (max-width: 320px){
.home{
row-gap: 2rem;
&__img{
width: 200px;
}
}
}
@media screen and (min-width: 576px){
.home{
padding: 4rem 0 2rem;
&__social{
padding-top: 0;
padding-bottom: 2.5rem;
flex-direction: row;
align-self: flex-end;
&-icon{
margin-bottom: 0;
margin-right: var(--mb-4);
}
}
&__img{
width: 300px;
bottom: 25%;
}
}
.about__container{
grid-template-columns: repeat(2,1fr);
align-items: center;
text-align: initial;
}
.skills__container{
grid-template-columns: .7fr;
justify-content: center;
column-gap: 1rem;
}
.work__container{
grid-template-columns: repeat(2,1fr);
column-gap: 2rem;
padding-top: 2rem;
}
.contact{
&__form{
width: 360px;
padding-top: 2rem ;
}
&__container{
justify-items: center;
}
}
}
@media screen and(min-width: 768px){
body{
margin: 0;
}
.section{
padding-top: 4rem;
padding-bottom: 3rem;
}
.section-title{
margin-bottom: var(--mb-6);
&::after{
width: 80px;
top: 3rem;
}
}
.nav{
height: calc(var(--header-height) + 1.5rem);
&__list{
display: flex;
padding-top: 0;
}
&__item{
margin-left: var(--mb-6);
margin-bottom: 0;
}
&__toggle{
display: none;
}
&__link{
color: var(--second-color);
}
}
.home{
padding: 8rem 0 2rem;
&__img{
width: 400px;
bottom: 10%;
}
}
.about{
&__container{
padding-top: 2rem;
}
&__img{
& img{
width: 300px;
}
}
}
.skills__container{
grid-template-columns: repeat(2,1fr);
column-gap: 2rem;
align-items: center;
text-align: initial;
}
.work__container{
grid-template-columns: repeat(3,1fr);
column-gap: 2rem;
}
}
@media screen and (min-width: 992px){
.bd-grid{
margin-left: auto;
margin-right: auto;
}
.home{
padding: 10rem 0 2rem;
&__img{
width: 450px;
}
}
}