﻿:root {
    --timelineItemWidth: 120px;
}

.guttersLarge {
    max-width: 900px;
    margin: auto;
}

.headerBannerWrapper {
    height: 227px;
    background-image: url(https://images.specialtys.com/grouporder/giolandingpageheaderimage.jpg);
    background-position: right;
    background-repeat: no-repeat;
    background-size: 481px;
    border-width: 1px;
    border-image: linear-gradient(90deg, #FFFFFF, #FFFFFF 25%, #AAAAAA 50%, #FFFFFF 75%) 53;
    border-bottom-style: solid;
    margin-bottom: 20px;
}

.headerBannerContent {
    margin-left: calc(50% - 415px);
    margin-top: 40px;
    width: 500px;
}

.groupOrderLogo {
    font-size: 48px;
    color: #344058;
}

.emphasizedLetter {
    color: #9B3921;
}

.splitColumn {
    width: calc(50% - 3px);
    vertical-align: top;
}

.threeEasyStepSection {
    margin-top: 20px;
}

.placeYourOrderText {
    font-size: 20px;
    color: #9B3921;
    padding-left: calc(50% - 100px);
    padding-top: 80px;
}

.whyUseGio {
    background-image: url(https://images.specialtys.com/grouporder/giolandingpagelowerimage.jpg);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 550px;
    height: 434px;
    padding-left: 50%;
    margin-top: 20px;
}

.whyUseGioTitle {
    font-size: 32px;
}

.whyUseGioSection {
    margin-top: 17px;
}

#groupOrderDisplayDivs {
    max-width: 1020px;
    margin: auto;
}

.groupOrderIntro .quarterBlock {
    width: 24.5%;
    display: inline-block;
    vertical-align: top;
}

.groupOrderIntro .imageCard {
    padding: 0 15%;
}

.groupOrderIntro .imageCard img {
    margin: auto;
    display: block; 
    width: 100%;
    max-width: 160px;
}

.groupOrderIntro .hero {
    margin: 20px 0 60px 0;
}

.startGroupOrderWrapper {
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
}

/* START -- Order history */
.groupOrderHistorySection {
    border: solid 1px;
    border-radius: 10px;
    padding: 5px 20px 5px 20px;
}

.groupOrderHistorySection tr {
    border-bottom: solid 1px;
    padding: 5px 0;
}

.groupOrderHistorySection tr:first-child {
    border-bottom: solid 2px;
}

.groupOrderHistorySection tr:last-child {
    border-bottom: none;
}

.groupOrderHistorySection tr:not(:first-child) td {
    padding: 5px 0;
}
/* END -- Order history */

/* START -- Timeline */
.timelineContainer {
    position: relative;
    margin-bottom: 30px;
}

.timelineContainer ul {
    padding-left: 0px;
}

.timelineContainer li {
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding: 5px 11px;
    top: -3px;
    color: white;
    width: var(--timelineItemWidth);
}

.timelineContainer li .dot {
    background: var(--grayLineColor);
    border-radius: 50%;
    height: 26px;
    width: 26px;
    margin: auto;
}

.timelineContainer li .timelineItemHeader {
    padding: 5px 0 0px 0;
    color: black;
    top: 5px;
    text-align: center;
    font-size: var(--subHeaderFontSize);
    font-weight: var(--darkenedFontWeight);
    cursor: pointer;
}

.timelineContainer .current .timelineItemHeader {
    color: var(--orangeColor);
}

.timelineContainer .completed .dot {
    background-color: var(--brownSelected);
}

.timelineContainer .current .dot {
    background: var(--orangeColor);
}

.timelineContainer .line {
    position: absolute;
    height: 1px;
    width: calc(var(--timelineItemWidth) + 1px);
    border-bottom: 2px solid var(--grayLineColor);
    top: 16px;
    left: 84px;
}

.timelineContainer .completed .line {
    border-color: var(--brownSelected);
}

/* END -- Timeline */

.pageSpinnerContainer {
    width: auto;
    position: absolute;
    margin-left: clamp(0px, calc(50% - 50px), 475px);
    margin-top: 200px;
}

.dateContainer, .timeContainer {
    width: 165px;
}

.subStep {
    width: calc(100% + 60px);
    padding: 40px 0;
    margin-left: -40px;
}

.currentSubStep {
    background-color: var(--currentFocusBackground);
}

.subStep .subStepBlocker {
    position: absolute;
    height: 100px;
    width: 100%;
    z-index: 1;
    background-color: #00000000;
    margin-top: -10px;
}

.subStepActivated .subStepBlocker {
    display: none;
}

.subStepDeactivated {
    color: var(--lightGray);
}

.subStepDeactivated .v65Button {
    border-color: var(--lightGray);
    color: var(--lightGray);
}

.subStepDeactivated .inputNumberSmall {
    border-color: var(--lightGray);
    color: var(--lightGray);
}

.subStepDeactivated .v65CtaButton {
    border-color: var(--darkGray);
    background-color: var(--darkGray);
    color: var(--lightFont)
}

#invitationWrapper {
    height: 140px;
    text-align: center;
}

.invitationDescription {
    margin: -15px 10px 20px 10px;
    padding: 20px 20px 0px 20px;
    max-width: 300px;
}


.invitationType {
    background-color: var(--lightBackground);
    border: 1px solid var(--standardBorderColor);
    border-radius: var(--standardBorderRadius);
    cursor: pointer;
}

.invitationType:hover {
    background-color: var(--lightBackgroundHover);
}

.invitationType.selected {
    background-color: var(--brownSelected);
    color: var(--lightFont);
}

.invitationDescription div {
    margin-bottom: 10px;
}

.defaultMealWrapper {
    margin: 20px auto 0px auto;
    max-width: 540px;
}

.defaultMealWrapper .menuSection {
    border: 1px solid black;
    border-radius: 5px;
}

.defaultMealWrapper h3 {
    text-align: center;
}

#groupOrderCreateNewAddressListStep1 .groupOrderEditListWrapper {
    max-height: calc(90vh - 250px);
    overflow-y: auto;
}

.groupOrderEditFriends .friendsList {
    max-height: calc(90vh - 170px);
    overflow-y: auto;
}

.groupOrderMenuModalContent {
    padding: 20px;
}

.groupOrderMenuModal .mealSelectionWrapper {
    padding-top: 20px;
}

.groupOrderMenuModal .mealSelectionWrapper h2 {
    width: calc(49% - 20px *2);
    display: inline-block;
}

.groupOrderMenuModal .MealOptionsWrapper {
    margin: 20px 40px 0px 40px;
}

.groupOrderMenuModal .saveButtonWrapper {
    margin: 0px 22px 20px 40px;
    text-align: right;
}

.groupOrderMenuModal .mealSelectionWrapper .twoColumnBlock {
    margin: 0px 40px;
    width: calc(49% - 40px * 2);
    border: 1px solid black;
    border-radius: 5px;
    max-height: calc(100vh - 275px);
    min-height: 100px;
    overflow-y: auto;
}

.groupOrderMenuModal .menuSection, .defaultMealWrapper .menuSection {
    margin-left: 40px;
    margin-right: 40px;
}

.groupOrderMenuModal .menuSection h3 {
    padding-top: 20px;
}

.groupOrderMenuModal .mealItem, .groupOrderMenuModal .beverageItem, .defaultMealWrapper .mealItem {
    border-bottom: 1px solid lightgray;
    padding: 5px;
}

.groupOrderMenuModal .mealItem, .groupOrderMenuModal .beverageItem {
    cursor: pointer;
}

.groupOrderMenuModal .mealItem:hover, .groupOrderMenuModal .beverageItem:hover {
    background: var(--lightBackgroundHover);
}

.defaultMealWrapper .mealItem:nth-last-child(2) {
    border-bottom: 2px solid black;
}

.groupOrderMenuModal .mealItem .name, .groupOrderMenuModal .beverageItem .name {
    display: inline-block;
    width: calc(100% - 90px);
}

.defaultMealWrapper .mealItem .name {
    display: inline-block;
    width: calc(100% - 157px);
}

.defaultMealWrapper .defaultMealTotal {
    text-align: right;
    padding: 5px;
}

.defaultMealWrapper .mealItem .price {
    display: inline-block;
    width: 100px;
    text-align: right;
}

.groupOrderMenuModal .mealItem .itemAttributes, .defaultMealWrapper .mealItem .itemAttributes {
    display: inline-block;
    width: 50px;
}

.groupOrderMenuModal .selected, .groupOrderMenuModal .selected:hover {
    background: var(--brownSelected);
    color: var(--lightFont);
}

.groupOrderMenuModal .mealItem .price, .groupOrderMenuModal .beverageItem .price {
    display: inline-block;
    width: 40px;
    text-align: right;
}

.mealSelectionWrapper h2 {
    margin-left: 40px;
}

.raiseBudgetModal .mainContent {
    text-align: center;
    padding: 20px;
}

.raiseBudgetModal .mainContent .message {
    text-align: center;
    padding: 20px;
}

.raiseBudgetModal .buttonsWrapper {
    padding-top: 20px;
    text-align: center;
}

.raiseBudgetModal .buttonsWrapper div {
    margin-left: 10px;
    margin-right: 10px;
}


.personalizedMealsModal .content {
    text-align: center;
    padding: 40px 40px 0px 40px;
}

.personalizedMealsModal .buttonsWrapper {
    padding-top: 20px;
}

.personalizedMealsModal .buttonsWrapper div {
    margin: auto;
}

.selectMealSpinner {
    display: inline-block;
    position: absolute;
    margin-left: -45px;
}

.invitationSpinner.spinnerLarge {
    position: absolute;
    margin-left: 100px;
}

.groupOrderWzrdStatusWrapper {
    width: 724px;
    margin: auto;
}

.groupOrderDivPanel .columnPanel1 {
    width: 200px;
    margin: auto;
}

.groupOrderDivPanel .columnPanel2 {
    width: 350px;
    margin: auto;
}

#divPanelPaymentOptions input {
    height: 23px;
    text-align: center;
}

.groupOrderDivPanel .addressBook {
    width: calc(50% - 10px);
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px;
    vertical-align: top;
}

.groupOrderDivPanel .attendeeList {
    width: calc(50% - 4px);
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
}

.noAddressBook .addressBook {
    display: none;
}

.noAddressBook .attendeeList {
    display: block;
}

.noAddressBook #manageContacts {
    display: none;
}

.newAttendee .newAttendeeName {
    display: inline-block;
    min-width: revert;
    width: calc(35% - 35px);
}

.newAttendee .newAttendeeEmail {
    display: inline-block;
    min-width: revert;
    width: calc(65% - 35px);
}

.attendee .attendeeName {
    display: inline-block;
    min-width: revert;
    width: 35%;
}

.attendee .attendeeEmail {
    display: inline-block;
    min-width: revert;
    width: calc(65% - 5px);
}

.attendeeInfo {
    border-bottom: 1px solid black;
    display: inline-block;
    width: calc(100% - 40px);
}

.removeAttendee {
    display: inline-block;
}

.removeAttendee.processing {
    color: var(--darkFont);
}

.removeAttendeeSpinner {
    position: absolute;
    display: inline-block;
    margin-left: -25px;
    margin-top: 1px;
    height: 16px;
    width: 16px;
}

.attendee {
    padding-bottom: 2px;
}

.friend, .editFriend {
    padding-bottom: 2px;
    border-bottom: 1px solid black;
}

.friendName {
    display: inline-block;
    min-width: revert;
    width: 35%;
}

.friendFirstName {
    display: inline-block;
    min-width: revert;
    width: 15%;
}

.friendLastName {
    display: inline-block;
    min-width: revert;
    width: 20%;
}

.friendEmail {
    display: inline-block;
    min-width: revert;
    width: calc(65% - 5px);
}

.friendInfo {
    display: inline-block;
}

.friend .friendInfo {
    width: calc(100% - 40px);
}

.friendEditWrapper:nth-child(odd), .groupOrderAddressListsModal .friend:nth-child(odd) {
    background-color: var(--lightBackground);
}

.friendEditWrapper:nth-child(even), .groupOrderAddressListsModal .friend:nth-child(even) {
    background-color: var(--offWhite);
}

.friendEditWrapper:hover, .groupOrderAddressListsModal .friend:hover {
    background-color: var(--currentFocusBackground);
}

.groupOrderAddressListsModal .friend:hover {
    cursor: pointer;
}

.friendEdit .friendInfo {
    width: calc(100% - 127px);
}

.groupOrderEditFriends .friendHeader {
    margin-left: 60px;
    margin-right: 60px;
    width: calc(100% - 120px);
}
.groupOrderEditFriends .friendEmail {
    width: calc(65% - 10px);
}

.groupsAddressBookModalContent .friendInfo {
    width: calc(100% - 127px);
}

.inviteFriend, .inviteFriendGroup {
    display: inline-block;
    text-align: center;
    width: 28px;
}

.friend .friendCount {
    display: inline-block;
    min-width: revert;
    width: calc(65% - 5px);
}

.editFriendGroup, .deleteFriendGroup, .editFriend, .deleteFriend {
    display: inline-block;
    text-align: center;
    width: 60px;
}

.inviteFriend.processing, .inviteFriendGroup.processing {
    color: var(--darkFont);
}

.addFriendSpinner, .removeFriendGroupSpinner, .removeFriendSpinner, .updateFriendSpinner {
    position: absolute;
    display: inline-block;
    margin-top: 1px;
    height: 16px;
    width: 16px;
}

.addFriendSpinner {
    margin-left: -25px;
}
.removeFriendGroupSpinner, .removeFriendSpinner, .updateFriendSpinner {
    margin-left: -44px;
}

.addressBookTabWrapper, .attendeeRows {
    max-height: calc(100vh - 415px);
    overflow-y: auto;
}

.addNewFriendSpinner {
    position: absolute;
    display: inline-block;
    margin-left: 6px;
    margin-top: 3px;
    height: 16px;
    width: 16px;
}

.editParticipantMessageSpinner {
    position: absolute;
    display: inline-block;
    margin-left: -48px;
    margin-top: -3px;
    height: 16px;
    width: 16px;
}

.invitationOptionButtonsWrapper {
    padding: 20px 4px 20px 4px;
    width: 50%;
    display: inline-block;
    text-align: left;
    vertical-align: top;
}

.bccCheckboxWrapper {
    width: calc(50% - 12px);
    display: inline-block;
    text-align: right;
    margin-top: 10px;
}

.fileResults .remove .importData {
    text-decoration: line-through;
}

.uploadFileModal .content {
    text-align: center;
    padding: 40px 40px 0px 40px;
}

.uploadFileModal .buttonsWrapper {
    padding-top: 20px;
}

.uploadFileModal .buttonsWrapper div {
    margin: auto;
}

.uploadFileModal .buttonsWrapper .saveFileUploadSpinner {
    display: inline-block;
    position: absolute;
    margin-left: -23px;
}

.uploadFileModal .dragDropContainer {
    border: 1px solid var(--lightGray);
    height: 150px;
    position: relative;
    background-color: var(--offWhite);
    border-radius: 5px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.uploadFileModal .dragDropContainer .dragDropFooter {
    position: absolute;
    bottom: 10px;
    text-align: center;
    width: 100%;
}

.uploadFileModal .fileResults {
    margin-top: 20px;
    margin-bottom: 20px;
    max-height: calc(100vh - 265px);
    max-width: 1120px;
    overflow: auto;
}

.uploadFileModal .fileResultsTable {
    border: 1px solid var(--lightGray);
    margin: auto;
}

.uploadFileModal .fileResultsTable tr td, .uploadFileModal .fileResultsTable tr th {
    border: 1px solid var(--lightGray);
    padding: 5px;
}

.uploadFileModal .fileResultsTable tr th {
    background: var(--medGray);
    color: var(--lightFont);
}

.addressBook .topTabs {
    margin-top: -46px;
}

.addressBook .panelsContainerNoWidth {
    margin-top: 46px;
}

.friendGroupButtons {
    margin-top: 20px;
    margin-bottom: 10px;
}

.groupOrderEditListWrapper {
    margin: 20px 0px 0px 0px;
}

.groupOrderAddressListsModal .saveButtonWrapper {
    margin-top: 30px;
}

.deleted .friendName, .deleted .friendCount, .deleted .friendEmail, .deleted .friendFirstName, .deleted .friendLastName {
    text-decoration: line-through;
}

.forTheGroupMenu {
    display: inline-block;
    width: calc(60% - 44px);
    padding-right: 40px;
    vertical-align: top;
}

.forTheGroupCart {
    display: inline-block;
    width: 40%;
}

.forTheGroupMenu .itemName {
    display: inline-block;
    width: calc(100% - 65px - 45px - 65px - 7px); /* Subtract .itemPrice width, .itemPrice padding, and .itemQty width, and */
}

.forTheGroupMenu .itemPrice {
    display: inline-block;
    width: 65px;
    padding-right: 45px;
    text-align: right;
}

.forTheGroupMenu .itemQty {
    display: inline-block;
    width: 65px;
}

.forTheGroupMenu .content {
    padding: 0 10px 10px 10px;
}

.forTheGroupMenu .listItem:first-child {
    padding-top: 10px;
}

.forTheGroupMenu .listItem {
    border-bottom: 1px solid var(--darkGray);
    padding-bottom: 5px;
    padding-top: 5px;
}

.forTheGroupQtyButtonContainer {
    height: 20px;
    width: 36px;
    position: relative;
}

.forTheGroupQtyButtonContainer .select {
    background: #FFFFFF;
    width: 62px;
    height: 18px;
    border: 1px solid var(--darkGray);
    border-radius: 5px;
    padding: 0px;
    text-align: center;
}

.forTheGroupQtyButtonContainer .qtySelect {
    margin: 0px;
}

.forTheGroupMenu details > summary {
    list-style: none;
    position: relative;
    background-color: var(--medGray);
}

.customDetailSummary details > summary::marker, /* Latest Chrome, Edge, Firefox */
.customDetailSummary details > summary::-webkit-details-marker /* Safari */ {
    display: none;
}

.customDetailSummary summary .verticalMarker::after {
    content: '▲';
}

.customDetailSummary details[open] summary .verticalMarker:after {
    content: "▼";
}

.customDetailSummary summary .verticalMarker {
    display: inline-block;
    margin-left: calc(100% - 30px);
}

.customDetailSummary summary .summaryTitle {
    position: absolute;
    margin-left: 10px;
}

#groupAddOnContents .col2a {
    width: calc(100% - 47px - 38px - 77px); /* Subtract the other three column widths and give the rest to the name */
    padding: 0px;
}

.forTheGroupMenu .upsellMenu .content {
    max-height: 400px;
    height: calc(100vh - 450px);
    overflow-y: auto;
}

.groupOrderCheckoutReviewSection {
    display: block;
    vertical-align: top;
    padding: 5px;
}

.groupOrderCheckoutSubSection:not(:first-child) {
    padding-top: 30px;
}
.reviewEventInfo {
    display: inline-block;
    width: 250px;
    vertical-align: top;
    margin-right: 100px;
}

.selectPaymentMethod {
    display: inline-block;
    width: calc(100% - 354px);
    vertical-align: top;
}

.tipTypeButton {
    min-width: 65px;
    padding-right: 10px;
    padding-left: 10px;
}

.groupOrderCheckoutReviewWrapper {
    padding: 10px 0;
    margin-bottom: 20px;
    border: 1px solid gray;
    border-radius: 5px;
}

.groupOrderDivPanel #orderSummary {
    width: 50%;
    min-width: revert;
    background: revert;
    max-width: 500px;
}

.groupOrderDivPanel .divStoredPaymentList {
    min-height: 175px;
    max-height: 250px;
    min-width: 220px;
    height: revert;
}

.groupOrderDivPanel .divStoredPaymentList ul {
    min-height: 175px;
    max-height: 250px;
    height: revert;
}
#modal #splitPayment.lrg {
    width: 830px;
}

#txtTipAmountA, #txtTipPercentA {
    width: 65px;
    min-width: revert;
    margin-bottom: 0px;
    margin-left: calc(100% - 301px);
    padding: 10px;
}

#divPanelEventDetails .smallCenterColumn {
    width: 350px;
    margin: auto;
}

#pickupDeliveryMessage {
    width: 200px;
}

.gioEditGutter {
    max-width: 1020px;
    margin: auto;
}

/* Overrides for GroupOrderEdit page */
#addAttendeesModal .groupOrderDivPanel .addressBook {
    width: calc(100% - 10px);
}

#addAttendeesModal .addressBookTabWrapper, .attendeeRows {
    max-height: calc(100vh - 400px);
    min-height: 115px;
}