/* IMPORTANT: READ README.md in this folder! Do not edit .css file directly! */
/* IMPORTANT: READ README.md in this folder! Do not edit .css file directly! */
/* IMPORTANT: READ README.md in this folder! Do not edit .css file directly! */
/* IMPORTANT: READ README.md in this folder! Do not edit .css file directly! */
body {
    font-family: Roboto;
    font-weight: 400;
    color: #000;
    margin: 0;
    background-color: white;
    padding: 8px;

    .validation-info {
        display: none;
    }

    .italicSmall {
        font-style: normal;
        font-size: 14px;
    }

    span {
        line-height: 24px;
    }

    a {
        color: #0070D1;
        text-decoration: none;
    }

    .form-group {
        display: flex;
        flex-direction: column;
    }

    .headerlinecontainer {
        .headerline1 {
            font-size: 20px;
            line-height: 32px;
            font-weight: 400;
            margin: 24px 0;
            text-align: center;
        }
    }

    input,
    select {
        margin-top: 4px;
    }

    input,
    select {
        border-radius: 8px;
        border: 1px solid #8E9292;
        padding: 16px;
        font-size: 16px;
        color: #000;
        background-color: #fff;
        &:focus,
        &:focus-visible {
            box-shadow: 0 0 0 2.5px #1574a1;
            border: 1px solid transparent;
            outline: none;
        }
        &:disabled,
        &.disabled {
            background-color: #f5f5f5;
            filter: grayscale(100%);
            &:hover {
                box-shadow: 0 0 0 4px transparent;
                border: 1px solid #8e9292;
            }
        }
        &:hover {
            border: 1px solid #8e9292;
            box-shadow: 0 0 0 4px #9fcee6;
        }
    }

    select {
        border-radius: 8px;
        border: 1px solid #8E9292;
        padding: 16px;
        width: 100%;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 8.89' xml:space='preserve'%3e%3cpath d='M8 8.89c-.24 0-.46-.09-.63-.26L.26 1.53a.901.901 0 0 1 0-1.27C.43.1.66 0 .9 0s.47.1.64.26L8 6.74 14.47.27c.17-.17.4-.27.64-.27s.47.1.63.27c.17.17.26.4.26.64s-.1.47-.27.63l-7.1 7.09a.86.86 0 0 1-.63.26z' fill='%231474a2'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: 95% 50%;
        background-size: 15px 9px;
        appearance: none;
        font-size: 16px;
        color: #000;
    }

    .creditCardSpecific {
        div {
            padding: 8px 0;
            .headerlinecontainer {
                display: none;
            }
            label {
                font-weight: 500;
            }
        }
        #infoRow2 {
            margin-bottom: 0;
        }
    }

    #cardExpirationContainer {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 0;
        @media (min-width: 400px) {
            flex-direction: row;
            .card_expirationYear,
            .card_expirationMonth {
                display: flex;
                flex-direction: column;
                width: 100%;
            }
            .card_expirationYear {
                margin-left: 16px;
            }
        }
    }

    .optional-label {
        span {
            display: none;
        }
        &:after {
            content: " (optional)";
            font-weight: 300;
            font-style: normal;
            font-size: 15px;
        }
    }

    .buttonContainer {
        height: 48px;
        button {
            position: relative;
            background: linear-gradient(270deg, #1574a1 0%, #003d58 100%);
            border: none;
            border-radius: 8px;
            color: #fff;
            justify-content: center;
            font-weight: 500;
            font-size: 16px;
            height: 48px;
            @media (hover: hover) {
                background: linear-gradient(270deg, #1574a1 0%, #003d58 100%);
                cursor: pointer;
            }
            &:focus {
                box-shadow: 0 0 0 3px, 0 0 0 5.5px #06577c;
            }
            &:focus, // Mouse, touch, stylus focus
            &:focus-visible {
                // Keyboard focus for accessibility
                outline: none;
                box-shadow: 0 0 0 3px, 0 0 0 5.5px #06577c;
                color: #fff;
                background: linear-gradient(270deg, rgba(6, 87, 124, 1) 0%, rgba(6, 87, 124, 1) 100%);
            }
            &:disabled {
                background: #e3e4e4 !important;
                background: linear-gradient(270deg, #e3e4e4 0%, #e3e4e4 100%) !important;
                color: #4d5151 !important;
                font-weight: 400;
                height: 48px;
                border: none;
                border-radius: 8px;
                cursor: pointer;
                pointer-events: all;
            }
            &.has-loader {
                color: #fff;
                background: #06577c;
                box-shadow: 0 0 0 3px, 0 0 0 5.5px #06577c;
                pointer-events: auto;
            }
            &.delay {
                // fixes flicker while transitioning between states
                transition: background 0s 0s ease-in-out;
            }
        }
    }

    //Error Styling
    .has-error {
        input,
        select {
            border: 1px solid #d4281c;
            &:focus {
                box-shadow: 0 0 0 2.5px #fcbfbb;
            }
            &:hover {
                border: 1px solid #d4281c;
                box-shadow: 0 0 0 4px #fcbfbb;
            }
        }
        select {
            border: 1px solid #d4281c;
            background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 8.89' xml:space='preserve'%3e%3cpath d='M8 8.89c-.24 0-.46-.09-.63-.26L.26 1.53a.901.901 0 0 1 0-1.27C.43.1.66 0 .9 0s.47.1.64.26L8 6.74 14.47.27c.17-.17.4-.27.64-.27s.47.1.63.27c.17.17.26.4.26.64s-.1.47-.27.63l-7.1 7.09a.86.86 0 0 1-.63.26z' fill='%23d4281c'/%3e%3c/svg%3e");
            background-repeat: no-repeat;
            background-position: 95% 50%;
            background-size: 15px 9px;
            appearance: none;
        }
        small {
            margin-top: 4px;
            color: #d4281c;
        }
    }

    .cc-error-container {
        #alert-message {
            background-color: #fcbfbb;
            border: 1px solid #d4281c;
        }
    }
}

#fmg-checkout-shared {
	.form-group {
		.list-group {
			&.radio {
				.list-group-item {
					border-radius: 5px;

					label {
						padding: 12px 20px;
					}
				}
			}
		}
	}

	#applepay-and-paypal-container {
		display: inline-flex;
		width: 100%;

		justify-content: space-between;

        #paypalParentDiv {
            padding-left: 10px;
        }

		.form-group {
			margin: 0;
			width: 100%;

			.list-group {
				&.paymentSelection {

					#applepayParentLink {
						margin: 0;
						padding: 10px 0;
						background-color: #000000;

						label {
							padding: 0;

							apple-pay-button {
								vertical-align: middle;
							}
						}

                        &.list-group-item {
                            border-radius: 100px;
                        }
					}
				}

				#paypalParentLink {
					margin: 0;
                    padding: 2px 0;

					#paypalImage {
						max-width: 40%;
					}

                    &.list-group-item {
                        border-radius: 100px;
                    }
				}
			}
		}

		&.no-applepay {
			.form-group {
				width: 100%;

				&#applepayParentDiv {
					display: none;
				}

				.list-group {
					&.paymentSelection {
						width: 100%;
					}

					#paypalParentLink {

						#paypalImage {
							max-width: 20%;
						}
					}
				}
			}
		}
	}

	#other-payments-container {
		label {
			display: inline-flex;
			text-align: left;

			align-items: flex-start;
			justify-content: space-between;

			span {
				&.paymentOptionText {
					margin: auto 0;
					padding-left: 0;
				}
			}
		}

		#afterpayParentLink {
			label {
				> span {
					&:first-of-type {
						width: 100%;
					}

					&:last-of-type {
						width: 0;
					}
				}
			}
		}

		#creditCardParentDiv {
			&.active {
				padding-bottom: 10px;
				border: 1px solid #0070D1;
				border-radius: 5px;

				> .paymentSelection {
					#creditCardParentLink {
						border-bottom-color: #0070D1;
						border-bottom-right-radius: 0;
						border-bottom-left-radius: 0;
					}
				}
			}

			.paymentSelection {
				#creditCardImages {
					width: 50%;
					text-align: right;

					> img {
						width: 20%;
					}
				}
			}

			.creditCardSpecific {
				padding: 0 2%;

				> .form-group {
					width: 100%;
				}
			}
		}

		.italicSmall {
			margin-top: 24px;
            margin-bottom: 24px;
            font-size: 14px;
            color: #525656;
		}

        .disclaimerContainerv2 {
            margin-bottom: 24px;
            font-size: 14px;
            color: #525656;
        }
	}

	@media only screen and (max-device-width: 767px) {
		#applepay-and-paypal-container {
			width: 100%;
		}

		#other-payments-container {
			> .form-group {
				width: 100%;
			}
		}
	}
}