/* Set margins for the main container */ .main-container { margin-left: 20px; margin-right: 20px; } /* Center and set max width for the body container */ .body-container { margin: 0 auto; max-width: 1080px; padding: 0 15px; } /* Set display and margin for page body */ .page-body { display: flex; flex-direction: row; margin-top: 50px; } /* Set flex for appointment user info */ .appointment-user-info { flex: 3; } /* Set flex and margin for service description and pay */ .service-description-and-pay { flex: 1; margin-left: 20px; /* Adjust the value as needed */ } /* Set margins and font styles for title sections */ .appointment-user-info-title, .service-details-title, .payment-details-title { margin-bottom: 10px; font-family: Lobster, cursive; font-size: 18px; color: #0c042c; } /* Set font styles for description titles */ .description-title { font-size: 16px; font-weight: 400; color: #0c042c; } /* Set margins, borders, padding, and font styles for the "already have an account" section */ .already-have-account { margin-top: 25px; margin-bottom: 30px; width: 100%; border: 1px solid #0c042c; border-radius: 2px; justify-content: left; padding: 10px 8px; display: flex; align-items: center; font-family: "DejaVu Serif", serif; } /* Set grid display and column gap for name and email input fields */ .name-email { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px; } /* Set margin and display for "receive email" checkbox */ .receive-email { margin-bottom: 20px; } /* Set margins and display for phone number, address, and additional information input fields */ .address, .additional-information { margin-top: 20px; display: grid; } .phone-number { margin-bottom: 15px; } .phone-input-container { display: flex; align-items: center; /* vertically center the items */ } .phone-number select { margin-right: 10px; /* add some space between them */ } .phone-number input { flex: 1; /* take available space */ } .phone-number select { padding: 6px 10px; border-radius: 4px; border: 1px solid #ccc; appearance: none; /* remove default appearance */ background-color: #fff; margin-right: 10px; cursor: pointer; font-size: 14px; color: #333; transition: border-color 0.3s; } .phone-number select:focus { border-color: #007bff; outline: none; } /* Set font styles for input labels */ label { font-family: "DejaVu Serif", serif; } /* Set margin for second part horizontal line */ .second-part { margin-top: 10px; } /* Set grid display, padding, and margin for user info input fields */ .user-info-input { margin-top: 20px; display: grid; padding: 30px 10px; } /* Set grid display, padding, margin, and font styles for service description */ .service-description-content { margin-top: 20px; color: black; padding-top: 30px; display: grid; grid-template-rows: 1fr 1fr 1fr; grid-gap: 10px; font-family: "DejaVu Serif", serif; font-size: 16px; } /* Set font style for service name */ .item-name { color: black; } /* Set flex for title section */ .title { flex: 1; } /* Set color for links */ a { color: #0c042c; } /* Set padding, border radius, and font styles for input fields */ .user-info input { box-sizing: border-box; padding: 5px; border-radius: 5px; } .name-email { margin-bottom: 15px; } /* Set width, margin and border */ .user-info-input input[type="text"], .user-info-input input[type="email"], .user-info-input textarea { width: 100%; border: 1px solid #a2a2a2; } /* Set a 2px solid border with a specific color when the input or textarea is in focus */ .user-info-input input[type="text"]:focus, .user-info-input input[type="email"]:focus, .user-info-input input[type="tel"]:focus, .user-info-input textarea:focus { border: 2px solid #040f49; } /* Style for the payment total */ .total { margin-top: 20px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; font-family: "DejaVu Serif", serif; color: rgba(12, 4, 44, 0.93); font-size: 16px; line-height: 1.8; } /* Media query for screens up to 795px */ @media only screen and (max-width: 795px) { /* Adjust the page body layout for smaller screens */ .page-body { flex-direction: column; } /* Adjust the flex properties for smaller screens */ .appointment-user-info, .service-description-and-pay { flex: none; /* reset the flex */ width: 100%; /* take full width */ } /* Remove the margin for service description and pay */ .service-description-and-pay { margin-left: 0; margin-bottom: 20px; } /* Adjust the grid for name and email for smaller screens */ .name-email { grid-template-columns: 1fr; /* stack them vertically */ } /* Adjust the phone number container */ .phone-input-container { flex-direction: column; align-items: stretch; /* make them take full width */ } .phone-number select, .phone-number input { margin-right: 0; margin-bottom: 10px; } /* Adjust the user info input fields */ .user-info-input { padding: 20px 10px; } /* Adjust the service description content */ .service-description-content { grid-template-rows: repeat(3, auto); /* adjust the grid rows */ } /* Adjust the total layout */ .total { flex-direction: column; text-align: center; } } @media only screen and (max-width: 450px) { /* Adjust the page body layout for smaller screens */ .main-container { width: 97%; margin: 0 !important; } }