html {
	scroll-behavior: smooth;
}

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

@keyframes fadeInBorderBottom {
	to {
		border-bottom-color: var(--accent);
	}
}

@keyframes reveal {
	to {
		transform: scaleY(1) translateY(0);
		opacity: 1;
	}
}

/* fade in */
.section.home.animate .container,
.section.home.animate .container h1,
.section.home.animate .container h2,
.section.home.animate .container p,
.section.home.animate .container .buttonsContainer,
.section.home.animate .container .scroll,
.section.about .sticky,
.section.about.animate .header,
.section.about.animate h1,
.section.about.animate p,
.section.work.animate h1,
.section.work.animate h2,
.section.skills.animate .header,
.section.skills.animate h1,
.section.skills.animate h2,
.section.schools.animate .header,
.section.schools.animate h1,
.section.schools.animate h2,
.section.contacts.animate .header,
.section.contacts.animate h1,
.section.contacts.animate h2,
.section.contacts.animate .message,
.section.contacts.animate .container {
	opacity: 0;
	animation: fadeIn .5s ease forwards;
}

/* reveal down */
.section.work.animate .container,
.section.skills.animate .container,
.section.schools.animate .container {
	transform-origin: top;
	transform: scaleY(0) translateY(1vh);
	opacity: 0;
	animation: reveal 0.8s ease-out forwards;
}

.section.home.animate .container {
	animation-delay: .1s;
}

.section.home.animate .container h1 {
	animation-delay: .6s;
}

.section.home.animate .container h2 {
	animation-delay: 1.6s;
}

.section.home.animate .container p {
	animation-delay: 2.6s;
}

.section.home.animate .container .buttonsContainer {
	animation-delay: 2.6s;
}

.section.home.animate .container .scroll {
	animation-delay: 2.6s;
}

.section.about.animate .header {
	animation-delay: .1s;
}

.section.about.animate h1 {
	animation-delay: .1s;
}

.section.about.animate p:nth-child(1) {
	animation-delay: 1.1s;
}

.section.about.animate p:nth-child(2) {
	animation-delay: 1.2s;
}

.section.about.animate p:nth-child(3) {
	animation-delay: 1.3s;
}

.section.about.animate p:nth-child(4) {
	animation-delay: 1.4s;
}

.section.about.animate p:nth-child(5) {
	animation-delay: 1.5s;
}

.section.about.animate p:nth-child(6) {
	animation-delay: 1.6s;
}

.section.work.animate .header {
	opacity: 0;
	border-bottom-color: transparent;
	animation:
		fadeIn 0.5s ease forwards 0.1s,
		fadeInBorderBottom 0.5s ease forwards 1.1s;
}

.section.work.animate h1 {
	animation-delay: .1s;
}

.section.work.animate h2 {
	animation-delay: 1.1s;
}

.section.work.animate .container.one {
	animation-delay: 2.1s;
}

.section.work.animate .container.two {
	animation-delay: 2.6s;
}

.section.work.animate .container.three {
	animation-delay: 3.1s;
}

.section.skills.animate .header {
	opacity: 0;
	border-bottom-color: transparent;
	animation:
		fadeIn 0.5s ease forwards 0.1s,
		fadeInBorderBottom 0.5s ease forwards 1.1s;
}

.section.skills.animate h1 {
	animation-delay: 0.1s;
}

.section.skills.animate h2 {
	animation-delay: 1.1s;
}

.section.skills.animate .container.one {
	animation-delay: 2.1s;
}

.section.skills.animate .container.two {
	animation-delay: 2.6s;
}

.section.skills.animate .container.three {
	animation-delay: 3.1s;
}

.section.skills.animate .container.four {
	animation-delay: 3.6s;
}

.section.schools.animate .header {
	opacity: 0;
	border-bottom-color: transparent;
	animation:
		fadeIn 0.5s ease forwards 0.1s,
		fadeInBorderBottom 0.5s ease forwards 1.1s;
}

.section.schools.animate h1 {
	animation-delay: 0.1s;
}

.section.schools.animate h2 {
	animation-delay: 1.1s;
}

.section.schools.animate .container.one {
	animation-delay: 2.1s;
}

.section.schools.animate .container.two {
	animation-delay: 2.6s;
}

.section.schools.animate .container.three {
	animation-delay: 3.1s;
}

.section.contacts.animate .header {
	opacity: 0;
	border-bottom-color: transparent;
	animation:
		fadeIn 0.5s ease forwards 0.1s,
		fadeInBorderBottom 0.5s ease forwards 1.1s;
}

.section.contacts.animate h1 {
	animation-delay: 0.1s;
}

.section.contacts.animate h2 {
	animation-delay: 1.1s;
}

.section.contacts.animate .message {
	animation-delay: 2.1s;
}

.section.contacts.animate .container {
	animation-delay: 3.1s;
}

/* color */
a,
.skills .container .bgIcon,
.schools .container .icon,
.contacts .container .icon {
	transition: color .2s ease;
}

.skills .container:hover .bgIcon,
.schools .container:hover .icon,
.contacts .container:hover .icon {
	color: var(--accent);
}

/* fill */
.contacts .container svg {
	transition: fill .2s ease;
}

.contacts .container:hover svg {
	fill: var(--accent);
}

/* box-shadow */
.home .container,
.work .container,
.skills .container,
.schools .container,
.contacts .container {
	box-shadow: 0 0 0 0 var(--accent);
	transition: box-shadow 0.2s ease;
}

.home .container:hover,
.work .container:hover,
.skills .container:hover,
.schools .container:hover,
.contacts .container:hover {
	box-shadow: 0 0 0 .2vmin var(--accent);
}

/* opacity */
.section.contacts .copy {
	transition: opacity 1s ease;
}

/* width */
header .logoText::after {
	transition: width .2s ease;
}

header .logoText:hover::after {
	width: 100%;
}

/* multiples */
button,
.button {
	transition:
		transform 0.2s ease,
		background-color 0.2s ease;
}

.button:active {
	transform: translateY(.5vmin);
}

/* custom */
header .navigation {
	transition: transform .5s ease;
}

header .navigation.open {
	transform: translateY(0);
}