@font-face { font-family: "Bonche"; src: url("Bonche.ttf") format("truetype"); }
@font-face { font-family: "Inter-Regular"; src: url("Inter-Regular.ttf") format("truetype"); }
@font-face { font-family: "Inter-SemiBold"; src: url("Inter-SemiBold.ttf") format("truetype"); }
/*  */
@media (max-width: 600px) {
    .screen{
        width: 100%;
    }
}
@media (min-width: 600px) {
    .screen{
        width: 450px;
    }
}
html{
    overflow-x: hidden;
}
body{
    margin: 0;
    padding: 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-family: Font1;
}
.screen {
    align-items: center;
    justify-content: flex-start;
    overflow-x: clip;
    font-family: Inter-Regular;
}
.flex{
    display: flex;
}
.acenter{
    align-items: center;
}
.aleft{
    align-items: left;
}
.aright{
    align-items: right;
}
.tcenter{
    text-align: center;
}
.tleft{
    text-align: left;
}
.tright{
    text-align: right;
}
.jcenter{
    justify-content: center;
}
.jstart{
    justify-content: start;
}
.jend{
    justify-content: end;
}
.jbetween{
    justify-content: space-between;
}
.jaround{
    justify-content: space-around;
}
.col{
    flex-direction: column;
}
.row{
    flex-direction: row;
}
.fullwidth{
    width: 100%;
}
.fullheight{
    height: 100vh;
}
.bg {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.contain{
    background-size: contain !important;
}
.underline {
    width: 100%;
    height: 35px;
    font-size: 14px;
    border: none;
    outline: 0;
    border-bottom: 1px black solid;
    font-family: 'Inter-Regular';
    font-size: 16px;
}

.anketa {
    width: calc(100% - 40px);
}
/* flex */

/* FadersIN */
.hidden{
    transition: 2s;
    opacity: 0;
}
.visible{
    opacity: 1;
}

.fadein-left.hidden{
    transform: translateX(-99%);
}
.fadein-left.visible{
    
    transform: translateX(0);
}
.fadein-right.hidden{
    transform: translateX(99%);
}
.fadein-right.visible{
    
    transform: translateX(0);
}
.fadein-scale0.hidden{
    scale: 0;
}
.fadein-scale05.hidden{
    scale: 0.5;
}
.fadein-scale0.visible{ 
    scale: 1;
}
.fadein-scale05.visible{ 
    scale: 1;
}
.fadein-bottom.hidden{
    transform: translateY(99%);
}
.fadein-bottom.visible{
    
    transform: translateY(0);
}
button, .button{
    color: black;
    background: none;
    border: 1px black solid;
    border-radius: 0px;
    z-index: 1;
    height: 50px;
    width: 210px;
    justify-content: center;
    display: flex;
    align-items: center;
    align-self: center;
}
button:disabled{
    opacity: .5;
}

.name {
    font-family: Bonche;
    text-align: center;
    font-size: 60px;
}

.main.flex.col {
    height: 680px;
    justify-content: center;
    font-family: Bonche;
    position: relative;
    width: 100%;
    position: relative;
}

.and.flex.row {
    font-size: 42px;
    justify-content: center;
    gap: 13px;
    align-items: center;
}

.line {
    width: 45px;
    height: 1px;
    background: black;
}

.date {
    text-align: center;
    font-size: 50px;
    margin-top: 28px;
}

.h1 {
    font-family: Bonche;
    text-transform: uppercase;
    font-size: 42px;
    z-index: 1;
    margin: 0;
    line-height: 46px;
}
.flowerspacer{
    position: relative;
    height: 180px;
    width: 100%;
    margin-top: 100px;
    transform: rotateZ(12deg);
}
.kustL {
    top: 0;
    width: 390px;
    height: 410px;
    background: url(2.png) no-repeat;
    position: absolute;
    left: 0;
    background-size: contain;
    background-position: left;
    margin-left: -90px;
    margin-top: -70px;
    z-index: -1;
    transition: 2s;
}
.kustR {
    bottom: 0;
    width: 390px;
    height: 410px;
    background: url(2-1.png) no-repeat;
    position: absolute;
    right: 0;
    background-size: contain;
    background-position: right;
    margin-right: -90px;
    margin-bottom: -70px;
    z-index: -1;
    transition: 2s;
}


.roseL {
    top: 0;
    width: 175px;
    height: 175px;
    background: url(1.png) no-repeat;
    position: absolute;
    left: 0;
    background-size: contain;
    background-position: left;
    margin-left: -40px;
    margin-top: 0px;
    z-index: -1;
    transition: 3s;
}

.roseR {
    bottom: 0;
    width: 175px;
    height: 175px;
    background: url(1-1.png) no-repeat;
    position: absolute;
    right: 0;
    background-size: contain;
    background-position: right;
    margin-right: -40px;
    margin-bottom: 0px;
    z-index: -1;
    transition: 3s;
}

.h1.mar {
    margin-top: 90px;
}

.p {
    text-align: center;
    margin: 40px 0px;
}

.hline {
    background: black;
    width: 50px;
    height: 1px;
}

.flex.row.h11 {
    gap: 25px;
    justify-content: center;
    align-items: center;
}

.p.dsf {
    margin-top: -20px;
}

.calendar {
    width: 260px;
    height: 220px;
    background: url(3.png) no-repeat;
    background-position: center;
    background-size: contain;
    position: relative;
}

.heart {
    height: 40px;
    width: 40px;
    background: url(4.png) no-repeat;
    background-position: center;
    background-size: contain;
    margin-left: 65px;
    margin-top: 175px;
}
.heart.hidden{
    scale:6;
}
.heart.visible{
    scale:1;
}

.timeitem {
    margin-top: 40px;
    width: calc(100% - 40px);
}
.timeitem > .h1, .time > .h1{
    font-size: 38px;
}

.timeitem.left{
    text-align: left;
}
.left > .time{
    justify-content: start
 }
.timeitem.right{
    text-align: right;
}
.right > .time{
    justify-content: end
 }
.linet {
    width: 40px;
    height: 1px;
    background: black;
    align-self: center;
}

.flex.row.time {
    gap: 18px;
}


.flowerspacer.right {
    margin-top: -10px;
    height: 170px;
    margin-bottom: 110px;
}

.h2.dfssdf {
    margin-top: 42px;
}

.map {
    width: 100%;
    height: 390px;
    margin-top: 20px;
}

.p.wish {
    margin: 0;
}

.h3 {
    font-family: Inter-SemiBold;
    font-size: 14px;
    margin: 6px 0px;
}

label {
    text-transform: lowercase;
}

.anket {
    display: flex;
    flex-direction: column;
}

button.send {
    margin: 20px 0px;
}

.sp {
    margin: 50px;
}

.loaderscreen {
    width: 100%;
    height: 100vh;
    background: white;
    display: flex;
    justify-content: center;
    z-index: 5;
}
.loader {
  width: 48px;
  height: 48px;
  border: 2px solid #4c4c4c;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  align-self: center;
}
.loader::after,
.loader::before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  background: #00baff;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.loader::before {
  left: auto;
  top: auto;
  right: 0;
  bottom: 0;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.musicbtn {
    width: 60px;
    height: 60px;
    background: url(5.png) no-repeat;
    position: absolute;
    top: 40px;
    right: 40px;
    background-position: center;
    background-size: 34px;
    background-color: #497fac;
    border-radius: 40px;
}
.musicbtn.hide{
    opacity: 0;
    transition: 3s;
}