/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

/*
*
* ==========================================
* COMMON CLASSES
* ==========================================
*
*/

.services-container a {
    box-shadow: none !important;
}

.services-container ul {
    padding-left: revert;
}

.services-container th, td {
    padding: .25rem !important;
}

.featured-image {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.modal-btn {
    display: block;
    margin-right: 1rem;
    margin-left: auto;
}

.modal-btn:focus {
    background-color: lightgray;
}

.m-display {
    max-width: 750px;
}

.m-display .featured-image {
    margin-bottom: 1rem;
}

/*
*
* ==========================================
* ACCORDION CLASSES
* ==========================================
*
*/

.card {
    border: solid 0px white !important;
    border-bottom-style: solid !important;
    border-bottom-width: 1px !important;
}

.collapsible-link {
    width: 100%;
    position: relative;
    text-align: left;
}

.collapsible-link::before {
    border-style: solid;
	border-width: 3px 3px 0 0;
	content: '';
	display: inline-block;
	height: 10px;
	right: 0em;
	position: absolute;
	vertical-align: top;
    width: 10px;
    top: 14px;
	transform: rotate(135deg);
}

.collapsible-link[aria-expanded='true']::before {
    top: 18px;
    transform: rotate(-45deg);
}

/*
*
* ==========================================
* GRID CLASSES
* ==========================================
*
*/

.grid-container {
    align-items: stretch;
}

.grid-title {
    display: block;
    text-align: center;
}

.grid-image {
    object-fit: cover;
    width: 100%;
    height: 150px;
    max-width: 200px;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.grid-button {
    margin: 0px;
    padding: 0px;
    background-color: transparent;
    border-radius: 0.25rem;
    border-width: 1px;
}

.grid-button:hover{
    background-color: transparent;
}

.grid-button:focus{
    border-color: lightgray;
    outline-color: lightgray;
    background-color: transparent;
}

/*
*
* ==========================================
* VERTICAL TAB CLASSES
* ==========================================
*/

/* Add indicator arrow for the active tab */
@media (min-width: 992px) {
    .nav-pills-custom .nav-link::before {
        content: '';
        display: block;
        border-top: 8px solid transparent;
        border-left: 10px solid #fff;
        border-bottom: 8px solid transparent;
        position: absolute;
        top: 50%;
        right: -10px;
        transform: translateY(-50%);
        opacity: 0;
    }
}

.nav-pills-custom .nav-link.active::before {
    opacity: 1;
}

/*
*
* ==========================================
* CARDS CLASSES
* ==========================================
*/

.card-body-container {
    height: 380px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

.card-body-container-imagebar {}

.card-body-container-textbar {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fade-out {
    position: relative;
    height: 3.6em; /* exactly three lines */
}

.fade-out:after {
    content: "";
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70%;
    height: 1.2em;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%);
}

.card-body-container-buttonbar {
    height: 40px;
    margin: 1rem 0rem;
}

/*
*
* ==========================================
* FLIP BOX CLASSES
* ==========================================
*/

.flip-container {
    justify-content: center;
}

/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
    background-color: transparent;
    width: 300px;
    height: 300px;
    perspective: 1000px; /* Remove this if you don't want the 3D effect */
    padding: 1rem;
}
  
/* This container is needed to position the front and back side */
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}
  
/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}
  
/* Position the front and back side */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Safari */
    backface-visibility: hidden;
}
  
/* Style the front side (fallback if image is missing) */
.flip-card-front {
    padding: 1rem;
}

.flip-front-centered {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    flex-direction: column;
}

.flip-front-title {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.flip-front-imagebar {
    flex: 1;
}

/* Style the back side */
.flip-card-back {
    padding: 1rem;
    transform: rotateY(180deg);
}

.flip-back-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flip-back-text > p{
    line-height: 1.2em;
}

.flip-back-text.fade-out {
    position: relative;
    height: 8.4em; /* exactly three lines */
}

.flip-back-text.fade-out:after {
    content: "";
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70%;
    height: 1.2em;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%);
}