/*
Theme Name: CIAM
Theme URI: https://ciam.edu
Description: CIAM WordPress Theme
Author: Daily Computing Solutions, Inc.
Author URI: https://dailycomputers.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: ciam
*/

@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");

/* General */
:root {
    --ciam-yellow: #ffc905;
    --ciam-burgundy: #a31c21;
    --ciam-navy: #002940;
    --ciam-beige: #fffbe9;
    --ciam-grey-green: #eaefed;
    --ciam-medium-grey: #afafaf;
}

a {
	color: var(--ciam-burgundy);
}

body.ciam-dialog-open {
    overflow: hidden;
}

.ciam-dialog {
    width: 50%;
    border: none;
    border-radius: 8px;
    box-shadow: 0px 0px 15px -3px rgba(0, 0, 0, 0.1);

    padding-top: 40px;
    padding-left: 40px;
    padding-right: 60px;
    padding-bottom: 40px;
}

.ciam-dialog .close {
    background: #fff;
    color: #000;
    position: absolute;
    right: 15px;
    top: 15px;
    border-bottom: none;
    font-size: 14px;
}
.ciam-dialog .close:hover {
    background: #fff;
    color: #000;
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
    margin-bottom: 20px;
}

.elementor-widget-text-editor a {
    color: var(--ciam-burgundy);
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
}

/* Header */
.elementor-sticky--effects .elementor-widget-nav-menu a.elementor-item {
    color: #000 !important;
}

.elementor-sticky--effects .elementor-widget-nav-menu a.elementor-item svg {
    fill: #000 !important;
}

.elementor-sticky--effects {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

.gform_wrapper .gform_footer input[type="submit"] {
    color: #fff !important;
}

/* The Events Calendar Plugin */
.tribe-events-widget-events-list__view-more {
    display: none !important;
}

.event-item {
    display: flex;
    flex-direction: row;
    width: 100%;

    border-radius: 8px;
    box-shadow:
        rgba(0, 0, 0, 0) 0px 0px 0px 0px,
        rgba(0, 0, 0, 0) 0px 0px 0px 0px,
        rgba(0, 0, 0, 0) 0px 0px 0px 0px,
        rgba(0, 0, 0, 0) 0px 0px 0px 0px,
        rgba(0, 0, 0, 0.1) 0px 4px 6px -1px,
        rgba(0, 0, 0, 0.1) 0px 2px 4px -2px;

    margin-bottom: 20px !important;
}

.events-list__date {
    background: var(--ciam-navy);
    padding: 1rem !important;

    color: #fff;

    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-width: 80px;
}

.events-list__date span {
    font-weight: bold;
    font-size: 18px;
}

.events-list__content {
    flex: 1;
    background: #fff;
    padding: 1rem !important;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.events-list__content .time time {
    color: oklch(0.551 0.027 264.364);
    font-size: 14px;
    margin-bottom: 4px !important;
}

.events-list__content h3 {
    margin-bottom: 8px !important;
}

.events-list__content .events-list__link {
    color: var(--ciam-burgundy);
    font-weight: 500;
}

.events-list__content .events-list__link:hover {
    color: var(--ciam-burgundy);
    text-decoration: underline;
}

.elementor-button.event-rsvp-button {
    color: #fff !important;
    font-family: "Lora";
}

.elementor-button.event-rsvp-button:hover {
    border-bottom: 3px solid var(--ciam-yellow);
}

/* Board Members */
.board-members {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.board-members .board-member {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;

    border-top: 20px solid #ffc903;
    padding-top: 5px;
}

.board-members .board-member a {
    color: inherit;
    display: block;
    width: 100%;
}

.board-members .board-member img {
    height: 350px;
    width: 100%;
    object-fit: cover;
}

.board-members .board-member h3 {
    font-family: "Lora";
    font-weight: 700;
    font-size: 18px;

    margin-bottom: 0;
    text-align: center;
}

.board-members .board-member h5 {
    font-family: "Lora";
    font-weight: 400;
    font-size: 16px;
    text-align: center;
}

.board-member-dialog {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
}

.board-member-dialog .board-member-dialog__image {
    flex-basis: calc(40% - 20px);
    flex-grow: 0;
    flex-shrink: 0;
}

.board-member-dialog .board-member-dialog__image img {
    object-fit: contain;
    width: auto;
    height: 530px;

    display: block;
    margin: 0 auto;
}

.board-member-dialog .board-member-dialog__content {
    flex-basis: calc(60% - 20px);
    flex-grow: 0;
    flex-shrink: 0;
}

.board-member-dialog .board-member-dialog__content h3,
.board-member-dialog .board-member-dialog__content h5 {
    text-align: initial;
}

.board-members .board-member.emeritus-board-member {
    border-top: 20px solid #a41c21;
}

@media only screen and (max-width: 1024px) {
    .board-members {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 635px) {
    .board-members {
        grid-template-columns: 1fr;
    }

    .board-members .board-member img {
        object-position: center center;
    }

    .ciam-dialog {
        width: 100%;
    }

    .board-member-dialog {
        flex-direction: column;
    }
}

/* Program Features List Widget */
.program-features-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 175px;
    gap: 30px;
}

.program-features-list__item {
    border-radius: 16px;
    padding: 20px;
    background: #fff;
    box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.1);

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
}
.program-features-list__item img {
    width: 28px;
    height: 28px;
    filter: invert(16%) sepia(11%) saturate(4936%) hue-rotate(162deg)
        brightness(92%) contrast(106%);

    /*     margin-bottom: auto; */
}

.program-features-list__item h4 {
    font-family: "Source Sans 3";
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
}

.program-features-list__item p {
    margin-bottom: 0;
    font-family: "Lora";
    font-size: 14px;
}

@media only screen and (max-width: 767px) {
    .program-features-list {
        grid-template-columns: 1fr;
    }

    .program-features-list__item {
        justify-content: center;
    }
}

/* Program Courses Widget */
.program-courses {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    grid-auto-flow: row;
}

.program-course {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.1);

    display: flex;
    flex-direction: column;
    height: 100%;
}

.program-course__title span {
    font-family: "Lora";
    font-size: 14px;
}

.program-course__title h3 {
    margin-top: 0;

    font-family: "Source Sans 3";
    font-size: 18px;
    font-weight: bold;
}

.program-course__description {
    font-size: 14px;
}

.program-course__meta {
    border-top: 1px solid #e8e8e8;
    padding-top: 15px;
    margin-top: auto;
}

.program-course__meta__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
}

.program-course__meta__item svg {
    width: 16px;
    height: 16px;
    fill: #00324d;
}

.program-course__meta__item span {
    font-family: "Lora";
    font-size: 14px;
}

@media only screen and (max-width: 767px) {
    .program-courses {
        grid-template-columns: 1fr;
    }
}

/* Tuition Table */
.tuition-table thead th {
    background: #fff;
    text-align: left;
    color: #000;

    font-family: "Source Sans 3";
    font-size: 18px;
}

.tuition-table tbody tr td {
    background-color: #fff;
}

.tuition-table tbody tr:nth-child(odd) td {
    background-color: #f8f8f8;
}

.tuition-table tbody tr:nth-child(even) td {
    background-color: #fff;
}

/* Fees Table */
.fees-table thead th,
.fees-table .thead td {
    background: var(--ciam-navy) !important;
    text-align: left;
    color: #fff;

    font-family: "Source Sans 3";
    font-size: 18px;
}

.fees-table tbody tr td {
    background-color: #fff;
}

.fees-table tbody tr:nth-child(odd) td {
    background-color: #f8f8f8;
}

.fees-table tbody tr:nth-child(even) td {
    background-color: #fff;
}

/* Testimonials Widget */
.testimonials .swiper-pagination {
    margin-top: 40px;
}

.testimonials
    .swiper-pagination
    .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--ciam-navy);
}

.testimonial {
    display: grid;
    grid-template-columns: 280px 70%;
    gap: 60px;
}

.testimonial__image img {
    width: 280px;
    height: 350px;

    object-fit: cover;
    border-radius: 8px;
	border: 1px solid #eee;
}

.testimonial__content .content {
    font-size: 18px;
    line-height: 32px; 
    text-wrap: balance;
    margin-bottom: 2.5rem;
    font-family: "Lora";
}

.testimonial__meta {
    border-top: 1px solid #eee;
    padding-top: 1.5rem;
}

.testimonial__meta span {
    display: block;
}

.testimonial__meta .name {
    font-size: 18px;
    font-weight: 500;
	font-family: "Source Sans 3";
}

.testimonial__meta .title {
	font-family: "Source Sans 3";
}

@media only screen and (max-width: 767px) {
	.testimonial {
		grid-template-columns: 1fr;	
		grid-template-rows: max-content max-content;
	}

	.testimonial__image {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.testimonial__content .content {
		font-size: 18px;
	}

	.testimonial__image img {
		margin: 0 auto;
	}
}

/* Courses Widget */
.courses-table td {
    padding: 5px;
    background-color: #fff;
}

.courses-table tbody > tr:nth-child(2n + 1) > td,
.courses-table tbody > tr:nth-child(2n + 1) > th {
    background-color: #fff;
}

.courses-table tbody tr:hover > td,
.courses-table tbody tr:hover > th {
    background-color: inherit;
}

.courses-table tbody tr.session-header > td {
    background: var(--ciam-burgundy);
    color: #fff;
}

.courses-table tbody tr.group-header {
    text-transform: uppercase;
    font-weight: bold;
}

.courses-table tbody tr.course-header > td {
    background: var(--ciam-navy);
    color: #fff;
}

.courses-table tbody tr.course > td {
    font-family: "Source Sans 3";
}

/* Academic Schedules */
.academic-schedule td,
.academic-schedule th {
    padding: 5px;
    background-color: #fff;
    text-align: left;
}

.academic-schedule tbody > tr:nth-child(2n + 1) > td,
.academic-schedule tbody > tr:nth-child(2n + 1) > th {
    background-color: #fff;
}

.academic-schedule tbody tr:hover > td,
.academic-schedule tbody tr:hover > th {
    background-color: inherit;
}

.academic-schedule thead tr.sessions > th {
    background: var(--ciam-burgundy);
    color: #fff;
}

.academic-schedule tbody tr > th.section {
    background: var(--ciam-navy);
    color: #fff;
}
