/************************************
Table of Contents 
************************************/

/* 
- Accordian
- Seat Selection Guide
- Plane
- Class Adjustments
*/


/****** Accordian ******/

.accordion-button:not(.collapsed) {
  color: var(--base-color-npblue-900);
}


/****** Seat Selection Guide ******/

.guideseatprice {
	line-height: 1em;
}
.flightclassdetails ul {
	padding-left: 1em;
	margin-bottom: 0px;
}
@media (hover: hover) {
	.seatselectionbutton:hover {
		color: var(--base-color-npblue-700);
  }
}

.seat{
    font-size:14px;
}


/****** Plane ******/

.plane {
	max-width: 1000px;
}
.fuselage-nose {
	padding-top: 35%;
	background-image: url("../../img/seatselection/fuselage-nose.png");
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}
.fuselage-body {
	background-image: url("../../img/seatselection/fuselage-body.png");
	background-size: contain;
	background-repeat: repeat-y;
    padding-left: 20px;
    padding-right: 20px;
}
.seat.unavailable {
	color: var(--base-color-grey-100);
}
.selected {
	color: var(--base-color-black);
	cursor: pointer;
}
@media (hover: hover) {
	.seat:hover,
	.seat.selected:hover {
		cursor: pointer;
	}
	.seat.unavailable:hover {
		color: var(--base-color-grey-100);
		cursor: default;
	}
}
.restroom {
	padding-top: 50%;
	background-size: 60%;
	background-position: center;
	background-repeat: no-repeat;
}
.fuselage-tail {
	padding-top: 23%;
	background-image: url("../../img/seatselection/fuselage-tail.png");
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
}
.wing {
	height: 25%;
	background-size: cover;
	background-repeat: no-repeat;
}
.wing.wing-right {
	background-image: url("../../img/seatselection/wing-right.png");
	background-position: center right;
}
.wing.wing-left {
	background-image: url("../../img/seatselection/wing-left.png");
	background-position: center left;
}


/****** Seats Page ******/
.seats--lavatory {
    position: relative;
}

.seats--lavatory .restroom-in-row {
    position: absolute;
    translate: 0 -135%;
}

.seats--row {
    position: relative;
}

.seats--row .seats--exit-row:first-child::before,
.seats--row .seats--exit-row:last-child:after {
    font-weight: bold;
    color: var(--base-color-danger-500);
    content: "EXIT";
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2rem;
    display: inline-block;
    position: absolute;
}

.seats--row .seats--exit-row:first-child::before {
    left: 0;
    top: 0;
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    -o-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(-90deg) translateX(-88%) translateY(-72%);
    -moz-transform: rotate(-90deg) translateX(-88%) translateY(-72%);
    -o-transform: rotate(-90deg) translateX(-88%) translateY(-72%);
    transform: rotate(-90deg) translateX(-88%) translateY(-72%);
}

.seats--row .seats--exit-row:last-child:after {
    right: 0;
    bottom: 0;
    -webkit-transform-origin: bottom right;
    -moz-transform-origin: bottom right;
    -o-transform-origin: bottom right;
    transform-origin: bottom right;
    -webkit-transform: rotate(90deg) translateX(-43%) translateY(26%);
    -moz-transform: rotate(90deg) translateX(-43%) translateY(26%);
    -o-transform: rotate(90deg) translateX(-43%) translateY(26%);
    transform: rotate(90deg) translateX(-43%) translateY(26%);
}

.seats--btn-return {
    color: var(--base-color-npblue-900);
}

@media (min-width: 768px) {
    .seats--btn-return {
        color: var(--base-color-npblue-500);
    }
}

.class-first-seat {
	height: 36px;
	line-height: 36px;
    font-size:16px;
}

.seats--picker {
    position: relative;
}

.seats--loading-message {
    position: absolute;
    display:flex;
    justify-content:center;
    top: 50%;
    left: 50%;
    width: 100%;
    z-index: 100;
    transform: translate(-50%, -50%);
    text-align: center;
}

.seats--loading-text{
    background-color:#ffffffe6;
    padding:1rem;
    border-radius:8px;
}

@media (max-width: 768px) {
    .seats--loading-message {
        position: fixed;
    }
}

.sticky-sidebar{
    position: sticky;
    top: 0;
    overflow-y:auto;
    height:100%;
    z-index: 100;
}

.seatpicker-bgarea{
    border-radius:4px;
}

.booking-pax--accordion button.accordion-button:after{
    margin-left:unset;
}

@media (min-width: 768px) {
    .seatsbackground{
        background: linear-gradient(180deg, #464646 0%, #000000 100%)
    }
}

@media (max-width: 768px) {

    .flightcard,
    .seatpicker-bgarea{
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
        border-radius: 0;
    }
    .flybetweengraphic hr{
        display:none;
    }
}
