@font-face {
  font-display: swap; 
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/merriweather-sans-v26-latin-regular.woff2') format('woff2');
}

@font-face {
font-display: swap;
font-family: 'Domine';
font-style: normal;
font-weight: 400;
src: url('../Fonts/domine-v23-latin-regular.woff2') format('woff2'); 
}

@font-face {
font-display: swap;
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url('../Fonts/poppins-v23-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap; 
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('../Fonts/playfair-display-v37-latin-700.woff2') format('woff2'); 
}


html {
    overscroll-behavior: none;
    -webkit-overflow-scrolling: touch;
}

.mobile-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(../Images/Randoms/Gira\ with\ pups\ desktop.webp);
    background-position-y:10%;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment:fixed;
    z-index: -1;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }

.page-title {
    font-size:clamp(40px, 6.5vw, 80px);
    text-align: center;
    font-family: 'Playfair Display',Arial, Helvetica, sans-serif;
    font-style:normal;
    -webkit-text-stroke: 0.03vw rgb(0, 0, 0);
    font-weight:700;
    color:rgb(43, 85, 183);
    padding-top:11vw;
}

.information-container {
    display:flex;
    flex-direction:row;
    justify-content:center;
    justify-self: center;
    margin-top:10%;
    position:relative;
    width:80%;
    background-color:rgba(66, 107, 202, 0.85);
    padding:1.5%;
    border-radius:1vw;
    font-family: "Domine", Arial, Helvetica, sans-serif;
    margin-bottom:10%;
    border: solid 0.2vw black;
}

.image-container {
    display:flex;
    margin-right:1vw;
    height:min-content;
    flex:1;
    align-self: center;
    padding:2%;
    background-color:rgb(255, 255, 255);
}

.paragraph-container {
    flex:2;
    display:flex;
    justify-content: center;
    text-align:center;
}

.paragraph {
    display:inline-block;
    font-size:clamp(14px, 1.75vw, 30px);
    color:white;
    max-height:fit-content;
    align-self:center;
}

#pdfContent {
    display:flex;
    flex-direction: column;
    background-color: rgba(66, 107, 202, 0.7);
    color: black;
    margin-bottom:9vw;
    width:75%;
    padding-bottom:1vw;
    border-radius:1vw;
    padding-top:1vw;
    overflow: hidden;
    page-break-inside: avoid;
    justify-self:center;
    color:white;
    border: solid 0.2vw black;
    justify-content: center;
}

.current-litter {
    justify-items: center;
}

#puppy-breed,
#whichPuppyGer,
#puppies-shepherds-pixie,
#puppies-shepherds-shadow,
#whichlitterCUR,
#whichPuppySCH,
#breed-upcoming,
#gender-upcomingGER,
#litterSCH-upcoming,
#litterShep-upcoming,
#genderSCH,
#breed-waiting,
#gender-waiting {
    display: inline-block;
    width:max-content;
    text-align: center;
    justify-self: center;
}

.current-litter,
#puppy-breed {
    align-self:center;
}

#puppies-shepherds,
#puppies-schnauzers,
#upcoming-litter-breed,
#upcoming-Shepherds,
#upcoming-Schnauzers,
#waiting-section,
#puppies-shepherds-pixie,
#puppies-shepherds-shadow,
#whichlitterCUR {
    display:flex;
    flex-direction: column;
    align-self: center;
    justify-content: center;
    align-items: center;
}

.applicationForm {
    background: white;
    padding: 2.5vw;
    border-radius: 0.8vw;
    margin: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.applicationTitle {
    text-align: center;
    margin-bottom: 2.5vw;
    height:max-content;
    font-size: clamp(22px, 3.5vw, 45px);
    margin-top:1vw;

}

form {
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width:100%;
}

form div {
    flex-direction: column;
    width:75vw;
    justify-content: center;
    justify-self: center;
    align-self: center;
}

form label {
    display:block;
    font-weight:500;
    width:75%;
    text-align: center;
    margin-bottom:1.5vw;
    font-size: clamp(16px, 2.2vw, 35px);
    line-height: clamp(1.4em, 2vw, 2em)
}

form input,
form textarea,
form select {
    
    width: 45vw;
    padding: 0.6vw;
    box-sizing: border-box;
    border: 0.1vw solid #ccc;
    border-radius: 0.4vw;
    font-size:clamp(14px, 1.75vw, 30px);
    font-family:'Domine', 'Merriweather sans', Arial, Helvetica, sans-serif;
    margin-bottom:1.2vw;
}

form input,
form select {
    text-align:center;
}

form button {
    margin-top: 2vw;
    padding: 1vw 3vw;
    background-color: rgb(118, 164, 239);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.15s,
    color 0.15s;
    font-size: clamp(14px, 1.75vw, 25px);
}

form button:hover,
form button:active {
    background-color: white;
    color:rgb(66, 107, 202);
}

.actions {
    text-align: center;
    margin-top: 30px;
}

.actions button {
    padding: 10px 20px;
    background-color: rgb(66, 107, 202);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.15s;
}

.actions button:hover,
.actions button:active {
    background-color: rgb(118, 164, 239);
    border:solid black 1vw;
}

#responseMessage {
    margin-top: 15px;
    color: rgb(59, 223, 59);
    font-size:clamp(18px, 3vw, 45px);
}

@media only screen and (max-width:1100px) {
    .page-wrapper {
        position:relative;
    }
    .main {
        align-self:center;
    }
    .page-title {
        padding-top:28vw;
    }

    #pdfContent {
        width:90%;
    }
    .page-wrapper {
        position:relative;
    }
    .main {
        align-self:center;
    }
    .page-title {
        padding-top:28vw;
    }
}

@media only screen and (max-width:500px) {
    .mobile-bg {
        background-attachment: scroll;
        transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        will-change: transform;
        background-position-y: 15%;
        background-position-x: 5%;
    }
}

@media print {
    * {
        break-inside: avoid;
        page-break-inside: avoid;
      }
    button {
      display: none;
    }
  }
