@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,700&display=swap");

@font-face {
  font-family: "tangerino";
  src: url("assets/fonts/tangerino.woff2") format("woff2"),
    url("assets/fonts/tangerino.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "serifbit";
  src: url("assets/fonts/serifbit.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
* {
  margin: 0;
}

body {
  /* cursor: url("assets/cursor.png") 9 9, auto; */
  overflow: hidden;
}

/* index */

a {
  text-decoration: none;
  color: black;

  /* cursor: inherit; */
}
.maingrid {
  display: grid;
  grid-template-columns: 10vw 24vw 38vw;
  grid-template-rows: 25vh 25vh 25vh 20.5vh 4.3vh;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  border: 2px black solid;
}

.cell {
  color: black;
  border: 2px black solid;
  font-family: roboto Mono;
  font-weight: bold;
  letter-spacing: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2em;
}

/* logo composition */
#logo {
  margin-bottom: 15vh;
  width: 19vw;
  height: 19vw;
}

#leaf {
  transform-origin: 50% 21%;
  transition: ease-in-out 0.8s;
}

#logo:hover #leaf {
  transform: rotate(-15deg);
}

#texty {
  transform-origin: center;
  animation: rotator 180s linear infinite;
}

@keyframes rotator {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.logomaintext {
  position: absolute;
  align-self: flex-end;
  padding-bottom: 20vh;
  font-family: tangerino;
  font-weight: 500;
  font-size: 6vw;
  letter-spacing: 0;
}

#homelogo {
  grid-row-start: 1;
  grid-row-end: 5;
  grid-column-start: 1;
  grid-column-end: 3;
  background: #ffd540;
}

#architecture {
  grid-row-start: 1;
  grid-row-end: 3;
  grid-column-start: 3;
  grid-column-end: 4;
  background: none;
}
#contacts {
  background: none;
}

#typeface {
  grid-row-start: 3;
  grid-row-end: 5;
  grid-column-start: 3;
  grid-column-end: 4;
  background: none;
}
#prjx {
  grid-row-start: 2;
  grid-row-end: 4;
  grid-column-start: 4;
  grid-column-end: 5;
  background: none;
}

.spc {
  position: absolute;
  font-style: italic;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4vw;
  height: 4vw;
  border-radius: 100%;
  background: none;
  margin-left: 1vw;
  margin-top: 15vh;
  letter-spacing: 0.2vw;
}

#info {
  background: none;
  grid-row-start: 4;
  grid-row-end: 5;
  grid-column-start: 4;
  grid-column-end: 5;
}
#update {
  font-size: 0.8em;
  background: none;
  grid-row-start: 5;
  background: #ce2727;
  letter-spacing: 0.2vw;
}

#update_box {
  font-weight: 500;
  grid-column-start: 2;
  grid-column-end: 5;
  overflow: hidden;
  font-size: 0.8em;
}

#architecture:hover {
  background: #ff8b20;
}
#prjx:hover {
  background: #7f5dc8;
}

#info:hover {
  background: #34944f;
}

#contacts:hover {
  background: #5bbdca;
}

#typeface:hover {
  background: #ca5b5b;
}

#update:hover {
  background: #8a1717;
}

.roll {
  animation: roll 30s linear infinite;
}
@keyframes roll {
  from {
    transform: translateX(70vw);
  }
  to {
    transform: translateX(-70vw);
  }
}

/* error */

.error_bg {
  width: 100vw;
  height: 100vh;
  background: #ffd540;
  border: 2px black solid;
  display: flex;
  align-items: center;
  justify-content: center;
}

.circle_er {
  position: absolute;
  background: #ff8b20;
  width: 20vw;
  height: 20vw;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 38vh;
}

.nope {
  position: absolute;
  margin-top: 60vh;
  font-family: tangerino;
  font-size: 20vw;
  margin-bottom: 15vh;
}

.lonely {
  align-self: flex-end;
  font-family: roboto mono;
  font-size: 0.8em;
  margin-bottom: 8vh;
  margin-right: 2vh;
}

.lf_er {
  border-radius: 0 67%;
  background: #34944f;
  width: 6.3vw;
  height: 6.3vw;
  position: absolute;
  margin-bottom: 6.2vw;
  margin-left: 6.2vw;
  transform-origin: top left;
  transition: ease-in-out 1.2s;
  z-index: 2;
}

.ant {
  width: 3.4vw;
  position: absolute;
  margin-bottom: 7vw;
  margin-left: 7vw;
}
.circle_er:hover .lf_er {
  transform: rotate(-70deg);
}

/* contacts */

.cnt_grid {
  position: absolute;
  z-index: 1;
  display: grid;
  grid-template-columns: 15vw 85%;
  grid-template-rows: 100vh;
  font-family: roboto Mono;
  font-weight: normal;
  font-size: 1.1em;
}

.home {
  display: grid;
  grid-template-rows: 15vw 85vh;
}

.cnt_logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.arch_logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cnt_bg {
  background: #5bbdca;
  border: 2pt black solid;
  display: flex;
  align-items: center;
  /* justify-content: center; */
  width: 100vw;
  height: 100vh;
}

.infocard {
  margin: auto;
  border: 2px black solid;
  background: white;
  width: 40em;
  height: 24em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: roboto mono;
  letter-spacing: 10px;
  box-shadow: 1vw 1vw;
}

.arch_logo_cnt {
  position: absolute;
}

#email1 {
  margin-right: 6px;
  font-weight: 800;
}

/* logo cntacts composition */

.logo_ct {
  color: black;
  position: absolute;
  margin-right: 85vw;
  margin-bottom: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

#txt_logo {
  width: 12vw;
  height: 12vw;
}

#txt_texty {
  transform-origin: 50% 39.3%;
  animation: rotator 180s linear infinite;
}

#txt_leaf {
  transform-origin: 50% 19%;
  transition: ease-in-out 0.8s;
}

#txt_logo:hover #txt_leaf {
  transform: rotate(-15deg);
}

/* arch */

.arch_grid {
  display: grid;
  grid-template-columns: 15vw 85%;
  grid-template-rows: 100vh;
  font-family: roboto Mono;
  font-weight: normal;
  font-size: 1.1em;
}

.grid1 {
  display: grid;
  grid-template-rows: 15vw;
}

.arch_logo {
  z-index: 2;
  background: #ffd540;
  border: 2pt black solid;
  display: flex;
  align-items: center;
  justify-content: center;
}

.arch_index {
  z-index: 2;
  background: #ffd540;
  border: 2pt black solid;
  padding: 1vw;
  text-align: left;
}

.grid2 {
  background-image: radial-gradient(#c7b299 0.1vw, transparent 0);
  background-size: 5vw 5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2pt black solid;
}

.viewer {
  border: 3pt black solid;
  /* background: red; */
  /* max-width: 60vw; */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  height: 40vw;
}

#arch_img {
  height: 40vw;
  width: auto;
  max-width: 80vw;
}

.action {
  font-family: roboto Mono;
  background: white;
  position: absolute;
  align-self: flex-end;
  margin-bottom: 2vh;
}

button {
  border: none;
  font: inherit;
  background: none;
  cursor: inherit;
  transition: 0.2s ease-in-out;
}

button:hover {
  background: #000000;
  color: white;
}

#arch_number {
  margin-right: -10px;
}

/* type */

.type_grid {
  display: grid;
  grid-template-columns: 15vw 85%;
  grid-template-rows: 100vh;
  font-family: roboto Mono;
  font-weight: normal;
  font-size: 1.1em;
  
}

.t_bg {
  background-color: #ca5b5b;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2pt black solid;
}

.type_side_grid {
  display: grid;
  grid-template-rows: 15vw;
}

.t_side {
  display: flex;
  background: #ffd540;
  border: 2pt black solid;
  border-bottom: 0;
  min-height: 200%;
  text-align: center;
  align-items: center;
  justify-content: center;
  line-height: 2em;
}

.dl_bt {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5vh;
  background: #5bbdca;
  border: 2pt black solid;
  border-top: 3pt black solid;
  align-self: flex-end;
  letter-spacing: 5px;
  font-weight: bold;
}

.dl_bt:hover{
  background-color: #1E54A9;
}

.header {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15vw;
  height: 5vh;
  border: 2.5pt black solid;
  background: #5bbdca;
  align-self: flex-start;
  margin-top: -2px;
  letter-spacing: 8px;
  font-weight: bold;
  font-size: 0.8em;
}





.f1{
  padding: 20px;
  position: absolute;
  font-size: 2em;
  transform: translateY(-80px);
  /* background: #34944f; */
  
}
.f2{
  padding: 20px;
  position: absolute;
  font-size: 2em;
  transform: translateY(-80px);
  /* background: #34944f; */
}
.dl_grida {
  max-height: 5vh;
  min-width: 70vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  border: 3px black solid;
  box-shadow: 0.6vw 0.6vw;
  background: white;
  grid-template-rows: 20vw 6vh;
  letter-spacing: 8px;
  font-weight: bold;
  font-size: 0.8em;
  border-collapse: collapse;
  margin-top: -30vh;
  font-family: tangerino;
  font-size: 2em;
  letter-spacing: normal;
  font-weight: inherit;
  padding: 10px;
}

/* .dl_grida:hover .t_side{
  background: #8a1717;
} */

.reload{
/* background: #ff8b20; */
padding: 10px;
/* border: black solid 2.5px; */
/* border-radius: 0 0 10px 10px; */
border-top: none;
  position: absolute;
  width: 2vw;
  height: 2vw;
  margin-bottom: 20px;
  align-self: flex-start;
}


.dl_gridb {
  font-family: serifbit;
  max-height: 5vh;
  min-width: 70vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  border: 3px black solid;
  box-shadow: 0.6vw 0.6vw;
  background: white;
  grid-template-rows: 20vw 6vh;
  letter-spacing: 8px;
  font-weight: bold;
  font-size: 0.8em;
  border-collapse: collapse;
  margin-top: 45vh;
  font-size: 2em;
  letter-spacing: normal;
  font-weight: inherit;
  padding: 10px;
}




