/*
 *******************************************************************************
 * Copyright (c) 2018 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *******************************************************************************
*/

div.panel-default {
    margin: 1px 1px;
}

#cancelContainer {
    display: flex;
    justify-content: center;
    margin: 4%;
}

#cancelReasonText {
    resize: none;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

#backBtn {
    margin-right: 50px;
}

#titleContainer {
    margin-bottom: 3%;
    padding: 0;
}

#reasonContainer {
    margin-bottom: 3%;
    padding: 0;
}

#buttonContainer {
    padding: 0;
}
