/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.1
*/

:root {
  /* COLORS */
  --aha-red: #800020;
  --aha-green: #79A572;
  --aha-green-light: #C9DEC6;
  --aha-light-grey: #F4F5F8;

  /* UTILITIES */
  --aha-transition: all 700ms ease-in-out;
}

.aha-red { color:var(--aha-red) !important; }
.aha-green { color:var(--aha-green) !important; }

.aha-img-bt-animation .et_pb_image_wrap {
  transition: transform 400ms ease-in-out;
}
.aha-img-bt-animation:hover .et_pb_image_wrap {
  transform: scale(0.9);
}

.aha-text-badge {
  background-color: var(--aha-red);
  border-radius: 100px;
  color: #FFF;
  font-size: 15px;
  font-weight: 900;
  margin-right: 12px;
  padding: 3px 20px;
}

.palatino,
.palatino h1,
.palatino h2,
.palatino h3,
.palatino h4,
.palatino h5,
.palatino h6 {
  font-family:
    "Palatino", "Palatino Linotype", "Book Antiqua",        /* macOS / Windows */
    Baskerville, "Hoefler Text",                            /* macOS */
    "Iowan Old Style",                                      /* iOS */
    "Noto Serif", "Droid Serif",                            /* Android / Google fonts nativos */
    Georgia, Times, "Times New Roman", serif;
}

/* Mobile */
@media (max-width: 980px) {
  .aha-text-badge {
    font-size: 12px;
    margin-right: 4px;
    padding: 0 10px;
  }
}

 
/* Theme Overrides
------------------------------------------------------- */
/* Align Main Menu to the Right */
.et_pb_menu .et_pb_menu__wrap {
  justify-content: flex-end !important;
}

/* Reduce the zoom level on hover */
.et_pb_animation_zoom_in.et-animated {
    transform: scale(1.03) !important; /* default is ~1.2 */
}

/* Main Menu
------------------------------------------------------- */
.et_pb_menu_0_tb_header.et_pb_menu ul li.et_pb_menu_page_id-2189 a,
.et_pb_menu_0_tb_header.et_pb_menu ul li.et_pb_menu_page_id-6229 a {
  color: var(--aha-red);
  font-weight: 900;
}
@media (min-width: 981px) {
	#menu-main-menu li ul {
	  width: 2700px;
	}
	#menu-main-menu li li a {
	  width: 230px;
	}
}


/* Page Header
------------------------------------------------------- */
.aha-page-header h1, .aha-page-header p {
  background-color: white;
  clear: both;
  float: left;
  padding-right: 20px;
}
#aha-breadcrumbs a {
  color: #000;
  text-decoration: none;
}

/* Home
------------------------------------------------------- */
body.home .et_pb_section--with-menu {
  background-color: #e8f0e6;
}

/* Blog Carousel - Supreme
------------------------------------------------------- */
.aha-blog-carousel .dsm-entry-meta .dsm-meta-seperator {
  display: none;
}
.aha-blog-carousel .dsm-entry-meta .dsm-posted-on,
.aha-blog-carousel .dsm-entry-meta .dsm-posted-category {
  background-color: white;
  border-radius: 100px;
  display: inline-block;
  margin-right: 10px;
  padding: 4px 18px;
  text-transform: uppercase;
}
.aha-blog-carousel .dsm-entry-wrapper .dsm-entry-meta { order: 2; }
.aha-blog-carousel .dsm-entry-wrapper .dsm-entry-content { order: 1; padding-bottom: 10px; }
.aha-blog-carousel .dsm-entry-wrapper .dsm-readmore-wrap { order: 4; }


/* Blurb Modules
------------------------------------------------------- */
.aha_blurb {
  overflow: visible !important;
  transition: var(--aha-transition);
}

/* HOVERS */
.aha_blurb:hover {
  background-color: var(--aha-red) !important;
}
.aha_blurb:hover h4,
.aha_blurb:hover .et_pb_blurb_description {
  color: #FFF !important;
}

/* ICON */
.aha_blurb .et_pb_image_wrap img {
  transition: var(--aha-transition);
}
.aha_blurb:hover .et_pb_image_wrap {
  background-color: var(--aha-light-grey) !important;
}

/* BUTTON */
.aha-fake-button {
  background-color: var(--aha-red) !important;
  color: #FFFFFF !important;
  border-width: 0px !important;
  border-radius: 100px;
  display: inline-block;
  font-size: 20px;
  font-weight: 800 !important;
  line-height: 1em;
  padding: 10px 40px !important;
  text-transform: uppercase !important;
  transition: var(--aha-transition);
}
.aha_blurb:hover .aha-fake-button {
  background-color: #FFFFFF !important;
  color: var(--aha-red) !important;
}

/* Mobile */
@media (max-width: 980px) {
  .aha-fake-button {
    font-size: 12px;
    padding: 5px 10px !important;
  }
}


/* FAQS
------------------------------------------------------- */
.dsm-faq-container .dsm-faq-item-wrapper .dsm-title-wrapper {
	margin-bottom: 15px;
}

/* TABS
------------------------------------------------------- */
.aha-rounded-tabs ul.et_pb_tabs_controls {
  background-color: transparent !important;
}
.aha-rounded-tabs ul.et_pb_tabs_controls::after {
  border: none !important;
}
.aha-rounded-tabs .et_pb_tabs_controls li {
  border: 1px solid #707070;
  margin-right: 10px;
}
.aha-rounded-tabs .et_pb_tabs_controls li.et_pb_tab_active {
  border-width: 0 !important;
}
.aha-rounded-tabs .et_pb_tabs_controls li,
.aha-rounded-tabs .et_pb_tabs_controls li.et_pb_tab_active a {
  border-radius: 22px;
}
.aha-rounded-tabs .et_pb_tabs_controls li:not(.et_pb_tab_active):last-child {
  border-right: 1px solid #707070 !important;
}

/* 2 Column Accordions
------------------------------------------------------- */
.aha-accordion-col {
  width: 48.75%;
}
.aha-accordion-col h3 {
  background-color: red;
}


/* Graduates Carousel with Flipbox
------------------------------------------------------- */
.aha-graduates-flipbox.dsm_flipbox .dsm-flipbox {
	aspect-ratio: 1/1;
  height: auto !important;
}
.aha-graduates-flipbox .dsm_flipbox_child_image:not(.dsm_image_icon_placement_left) {
	margin-bottom: 0 !important;
}

.aha-graduates-flipbox .dsm-subtitle {
  background-image: url(images/underline_very_short.svg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 50%;
  padding-bottom: 25px;
}

/* Student Projects Carousel in page Curriculum/Steam
------------------------------------------------------- */
.aha-student-projects-carousel .dsm-flipbox {
  overflow: hidden;
}

/* Forms
------------------------------------------------------- */
#aha-form-enroll form {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

/* Columns 1 and 2 */
#form-enroll-col-1,
#form-enroll-col-2 {
  flex: 1 1 calc(50% - 15px); /* two columns with gap accounted for */
}

/* Column 3 always full width */
#form-enroll-col-3 {
  flex: 1 1 100%;
}

/* Mobile */
@media (max-width: 980px) {
  #form-enroll-col-1,
  #form-enroll-col-2,
  #form-enroll-col-3 {
    flex: 1 1 100%;
  }
}

#aha-form-enroll h3 {
  background-color: var(--aha-green);
  border-radius: 100px;
  color: #FFF;
  font-size: 20px;
  margin-bottom: 20px;
  padding: 10px 24px
}
#aha-form-enroll h3:not(:first-child) {
  margin-top: 40px;
}
#aha-form-enroll h6 {
  font-size: 32px;
}

#aha-form-enroll .wpcf7-radio {
  display: flex;
  flex-direction: column;
}
#aha-form-enroll .wpcf7-list-item {
  margin: 0 0 0 0.5em;
}

#aha-form-contact .wpcf7-form-control.wpcf7-text,
#aha-form-enroll .wpcf7-form-control.wpcf7-text {
  border-radius: 100px;
}
.aha-contact-message,
.aha-enroll-message {
  border-radius: 20px;
}

p.aha-form-submit {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
p.aha-form-submit button {
  order: 2;
}
p.aha-form-submit .wpcf7-spinner {
  order: 1;
}

.wpcf7-not-valid-tip { margin-top:8px; }
.wpcf7-response-output { padding: 12px 20px !important;}

/* Mobile */
@media (max-width: 980px) {
  #aha-form-enroll h3 { font-size:15px; }
  #aha-form-enroll h6 { font-size:16px; }
  #aha-form-enroll .wpcf7-list-item-label { font-size:15px; }
  #aha-form-enroll .wpcf7-acceptance .wpcf7-list-item-label { font-size:13px; }
  #aha-form-enroll .wpcf7-acceptance label { line-height: 1.1; }
}


/* Hide Admin Items from Subscribers
------------------------------------------------------- */
.subscriber #wpadminbar #wp-admin-bar-site-name .ab-sub-wrapper { display:none !important; visibility:hidden !important; }

.subscriber #wp-admin-bar-wp-logo .ab-sub-wrapper { display:none !important; visibility:hidden !important; }


/* CARDS
------------------------------------------------------- */
.aha-card-rollover {
  transition: var(--aha-transition);
}
.aha-card-rollover:hover {
	background-color: var(--aha-red) !important;
}
body #page-container .et_pb_section .aha-card-rollover:hover h1,
.aha-card-rollover:hover .et_pb_text_inner {
  color: #FFF !important;
}
body #page-container .et_pb_section .aha-card-rollover:hover .et_pb_button{
	background-color: #FFF !important;
  color: var(--aha-red) !important;
}


/* DEFAULT WORDPRESS BLOG
------------------------------------------------------- */
body.blog #left-area,
body.category #left-area {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 50px;
  row-gap: 50px;
}
body.blog #main-content .container::before,
body.category #main-content .container::before { 
  background: transparent;
}

body.blog #left-area article,
body.category #left-area article {
  border-radius: 20px;
  background-color: #F4F5F8;
  flex: 0 0 calc(50% - 25px);
  margin-bottom: 0;
  padding: 0 30px 30px 30px;
}

/* TABLET AND PHONE */
@media only screen and (max-width: 1220px) {
  body.blog #left-area article,
  body.category #left-area article {
    flex: 0 0 100%;
  }
}

body.blog #left-area article a:has(img),
body.category #left-area article a:has(img) {
  aspect-ratio: 16/9;
  display: block;
  margin-left: -30px;
  width: calc(100% + 60px);
}

body.blog #left-area article a img,
body.category #left-area article a img {
  border-radius: 20px;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.aha-top-blog {
  width: 100%;
}
#aha-blog-categories .widgettitle {
  font-weight: normal;
	font-size: 18px;
  margin-bottom: 20px;
}
#aha-blog-categories ul {
  display: flex;
  column-gap: 16px;
  flex-wrap: wrap;
  padding-left: 0 !important;
  row-gap: 15px;
}
.aha-top-blog .widget_block,
#aha-blog-categories li {
  list-style-type: none;
}
#aha-blog-categories ul li a {
  border: 1px solid #707070;
  border-radius: 100px;
  color: #000;
  display: block;
  font-size: 18px;
  padding: 8px 30px;
}
#aha-blog-categories ul li a.active {
  background-color: var(--aha-red);
  color: #FFF;
}


/* BLOG SIDEBAR */
#recent-posts-1 {
  border-left: 1px solid #B4B4B4;
  padding-left: 30px;
}
#sidebar h4.widgettitle {
  font-size: 34px;
  font-weight: normal;
}
#sidebar .widget_recent_entries li a {
  font-size: 17px;
  line-height: 1.4;
  display: block;
}


/* PAGINATION */
.pagination {
  margin: 10px 0 100px 0;
}
.pagination a {
  border: 1px solid var(--aha-red);
  border-radius: 100px;
  font-size: 18px;
  padding: 8px 30px;
  transition: all 400ms;
}
.pagination a:hover {
  background-color: var(--aha-red);
  color: #FFF;
}


/* Mobile */
@media (max-width: 980px) {
  body.blog #main-content .container {
    padding-top: 35px;
  }
  body.blog article.post {
    font-size: 15px !important;
    line-height: 1.3;
  }
  body.blog #left-area,
  body.category #left-area {
    row-gap: 30px;
  }
  body.blog #left-area article,
  body.category #left-area article {
    padding: 0 20px 20px 20px;
  }
  body.blog #left-area article a:has(img),
  body.category #left-area article a:has(img) {
    aspect-ratio: 5/4;
    margin-left: -20px;
    width: calc(100% + 40px);
  }
  body.blog #left-area article:not(:has(.entry-featured-image-url)),
  body.category #left-area article:not(:has(.entry-featured-image-url)) {
    padding-top: 20px;
  }
  #aha-blog-categories .widgettitle {
    font-size: 14px;
    margin-bottom: 10px;
  }
  #aha-blog-categories ul {
    column-gap: 10px;
    padding-bottom: 0;
    row-gap: 12px;
  }
  #aha-blog-categories ul li a {
    font-size: 14px;
    padding: 4px 16px;
  }

  .pagination {
    margin: 10px 0 50px 0;
  }
  .pagination a {
    font-size: 14px;
    padding: 4px 16px;
  }

  #sidebar h4.widgettitle {
    font-size: 24px;
  }
  #sidebar .widget_recent_entries li a {
    font-size: 13px;
  }
}

/* SIDEBAR
------------------------------------------------------- */
/* REMOVE SIDEBAR BORDER */
.et_right_sidebar #main-content .container::before {
	display: none;
}

#sidebar #searchform #s,
#sidebar #searchform #searchsubmit {
  background: #F4F5F8;
  border: 0;
  border-radius: 100px;
}

#sidebar #searchform #s {
  padding-left: 18px;
}
#sidebar #searchform #searchsubmit {
  background-image: url(images/icon-search.svg);
  background-position: center center;
  background-repeat: no-repeat;
  font-size: 0;
  width: 50px
}

/* INDIVIDUAL BLOG PAGES
------------------------------------------------------- */
.single-post .entry-title {
  padding-bottom: 5px;
}
.single-post .entry-content {
  line-height: 1.5;
}

/* GALLERY PAGE
------------------------------------------------------- */
.et_pb_gallery_pagination {
  border-top: none !important;
}
.et_pb_gallery_pagination ul {
  text-align: center!important;
}