/*
Theme Name: Enfold Child
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating will be much easier then.
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/

/*Add your own styles here:*/
/* Example snippet to remove default borders/bars and add a custom unicode icon via ::before pseudo-element */
.toggle_icon::before {
    content: "\e875";
    font-family: 'entypo-fontello';
    font-size: 18px;
    display: inline-block;
    transform: rotate(90deg);
    font-weight: normal;
    color: #333333;
}
.activeTitle .toggle_icon::before {
    content: "\e875";
    font-family: 'entypo-fontello';
    font-size: 18px;
    display: inline-block;
    transform: rotate(-90deg);
    font-weight: normal;
    color: #333333;
}
div#imgsec {
    border-left-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    border-bottom-left-radius: 35px;
    border-bottom-width: 1px;
}
.sersec .av-special-heading {
    padding-bottom: 0 !important;
}
div#headcol {
    border-radius: 35px 35px 0 0;
}
.sersec img {
    border-radius: 0 0 0 35px;
}
div#textsec {
    border-left-width: 0px;
    border-right-width: 1px;
    border-top-width: 0px;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    border-bottom-right-radius: 35px;
}
div#textsec p {
    margin: 0;
    padding-left: 10px;
    padding-top: 10px;
}
div#servicegrid{
    padding: 0px 20px;
}
div#servicegrid .flex_cell {
    padding-top: 0;
    padding-bottom: 50px !important;
}

/* ==========================================================================
   1. Services Slider
   ========================================================================== */
.our-services-slider { margin: 0 -10px; }
.our-services-slider .service-slide { padding: 0 10px; box-sizing: border-box; }
.service-card { display: flex; width: 100%; min-height: 540px; border: 1px solid #e5e5e5; border-radius: 35px; overflow: hidden; background: #fff; }
.service-image { width: 43%; flex: 0 0 43%; }
.service-image img { width: 100%; height: 100%; min-height: 400px; object-fit: cover; display: block; }
.service-content { width: 57%; padding: 18px 24px; }
.service-content h3 { margin: 0 0 18px; }
.service-excerpt p { margin: 0; }
.service-link { margin-top: 10px; color: #3f4d88; text-decoration: none; font-size: 17px; display: inline-flex; align-items: center; gap: 10px; }
.service-arrow { font-size: 28px; line-height: 1; }
.our-services-slider .slick-dots { position: relative; bottom: auto; margin-top: 35px; }
.our-services-slider .slick-dots li { margin: 0 3px; }
.our-services-slider .slick-dots li button:before { font-size: 13px; }
.our-services-slider .slick-prev, .our-services-slider .slick-next { display: none !important; }

/* ==========================================================================
   2. Recent Blog Posts
   ========================================================================== */
.recent-blog-posts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 50px; }
.recent-blog-featured { min-width: 0; }
article.recent-blog-featured { border-right: 1px solid #E5EFFF; padding-right: 30px; }
.recent-blog-featured-image { display: block; width: 100%; height: 480px; overflow: hidden; border-radius: 22px; }
.recent-blog-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.recent-blog-featured-image:hover img { transform: scale(1.03); }
.recent-blog-featured-content { padding-top: 26px; }
.recent-blog-date { color: #243372; margin-bottom: 12px; }
.recent-blog-title a:hover, .recent-blog-item-title a:hover { color: #4f5f99; }
.recent-blog-list { display: flex; flex-direction: column; }
.recent-blog-item { display: grid; grid-template-columns: 45px 44px minmax(0, 1fr) 110px; column-gap: 10px; align-items: start; padding: 0 0 24px; margin-bottom: 24px; border-bottom: 1px solid #E5EFFF !important; }
.recent-blog-item:last-child { margin-bottom: 0; }
.recent-blog-item-number { font-weight: 600; color: #4C4C4C; font-size: 19px; }
.recent-blog-item-line { width: 43px; height: 1px; background: #4C4C4C; margin-top: 12px; }
.recent-blog-item-content { min-width: 0; }
.recent-blog-item-excerpt, .recent-blog-excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.recent-blog-excerpt p, .recent-blog-item-excerpt p { margin: 0; }
.recent-blog-learn-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; }
.recent-blog-learn-more span { font-size: 24px; transition: transform .2s ease; }
.recent-blog-learn-more:hover span { transform: translateX(4px); }
.recent-blog-item-image { display: block; width: 110px; height: 110px; overflow: hidden; border-radius: 7px; }
.recent-blog-item-image img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform .3s ease; }
.recent-blog-item-image:hover img { transform: scale(1.05); }

/* ==========================================================================
   3. Featured Posts
   ========================================================================== */
.featured-posts { width: 100%; margin-top: 45px; }
.featured-posts-title { font-size: 18px; font-weight: 600; color: #1d2f5f; margin: 0 0 20px; padding-bottom: 12px; border-bottom: 2px solid #e5e7eb; }
.featured-posts-list { display: flex; flex-direction: column; gap: 18px; }
.featured-post-item { display: flex; align-items: flex-start; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid #e5e7eb; }
.featured-post-item:last-child { border-bottom: none; padding-bottom: 0; }
.featured-post-image { display: block; width: 85px; min-width: 85px; height: 65px; overflow: hidden; border-radius: 3px; background: #f3f4f6; }
.featured-post-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.featured-post-item:hover .featured-post-image img { transform: scale(1.06); }
.featured-post-content { flex: 1; min-width: 0; }
.featured-post-title { margin: 0 0 6px; font-size: 15px; line-height: 1.35; font-weight: 600; }
.featured-post-title a { color: #1d2f5f; text-decoration: none; transition: color .25s ease; }
.featured-post-title a:hover { color: #3f6fb5; }
.featured-post-date { font-size: 12px; color: #7a7a7a; line-height: 1.4; }

/* ==========================================================================
   4. Enfold Theme Overrides & Global Elements
   ========================================================================== */
div#footercol2 .avia-builder-widget-area { display: flex; align-items: center; justify-content: flex-end; gap: 30px; }
div#footercol2 section#nav_menu-2 ul { display: flex; gap: 20px; }
#top #header .av-main-nav > li.current-menu-item > a { font-weight: 600; }
div#es-hero, div#innerhero { width: 95%; margin: 0 auto !important; float: none; border-radius: 40px; }
.html_header_top.html_header_sticky #main { padding-top: 95px; }
div#es-hero .container, div#innerhero .container { max-width: 100%; padding: 0; }
.es-hero-card { border-radius: 0 40px 40px 0 !important; border-left: 12px solid #243372 !important; }
.av-image-caption-overlay, .avia-image-container-inner, .avia_image { border-radius: 27px; }
#home_projects .avia-image-overlay-wrap { position: relative; }
#home_projects .avia-image-overlay-wrap::before { content: ''; width: 100%; height: 100%; position: absolute; left: 0; z-index: 1; opacity: .7; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 100%); border-radius: 27px; }
div#project_heading { position: absolute; bottom: 20px; z-index: 1; padding: 0 20px; }
.av-special-heading span { color: #243372; }
ul#menu-footer-menu li, ul#menu-footer-menu li a { border: none !important; font-size: 16px; }
#top ul.cnss-social-icon li.cn-fa-icon a { background-color: rgba(36,51,114,.04) !important; border-radius: 8px !important; border: 1px solid rgba(36,51,114,.1) !important; }
#top .avia-button.avia-color-dark { color: #243372 !important; border-color: #243372 !important; }
.avia-color-white { background: #fff !important; border-color: #fff !important; }
section#nav_menu-2 { padding: 0; }
#all_services a.avia-button { width: 100%; }
.content, .sidebar { padding: 70px 0; }
.av-subheading.av-subheading_below { font-size: 17px !important; margin-top: 15px; }
.flexcenter { display: flex; justify-content: center; text-align: center; }
.flexcenter ul { margin: 0; padding: 0; }
.page-id-22 div#footermultibtn a.avia-button.avia-color-light, .page-id-34 div#footertopsection, a.more-link span.more-link-arrow, #top .fullsize .template-blog .blog-meta, .post_delimiter { display: none; }
#meetteam .avia-image-container { width: 100%; }
#meetteam img { width: 100%; height: 400px; object-fit: cover; }
.fullwidthsec .container { max-width: 100% !important; padding: 0; width: 100% !important; }
.map-wrapper { width: 100%; height: 520px; overflow: hidden; position: relative; }
.map-wrapper iframe { position: relative; top: -85px; width: 100%; height: 605px; border: 0; }
span.special_amp { font: inherit !important; color: inherit !important; }
#top .fullsize .template-blog .post .entry-content-wrapper, #top .fullsize .template-blog .post-title { max-width: 100%; margin: 0; }
a.more-link { background: #021250; color: #fff !important; border-radius: 38px; border-width: 2px; font-size: 18px; font-weight: 400; padding: 10px 30px; }
#top .fullsize .template-blog .big-preview { min-width: 300px; flex: 1; }
.av-alb-blogposts.template-blog article.post-entry.post-entry-type-standard { display: flex; gap: 20px; border-bottom: 1px solid #000; padding-bottom: 30px; margin-bottom: 30px; }
#top .fullsize .template-blog .post .entry-content-wrapper { width: 70%; }
.av-minimal-toggle.togglecontainer .single_toggle .toggler {
    color: #243372 !important;
    font-weight: 600;
    background: #fff !important;
    border: none !important;
    padding-left: 0 !important;
    padding-right: 35px !important;
}
.toggle_icon { right: 10px; left: unset; }
.av-minimal-toggle .toggle_content { background: #fff !important; padding: 0 !important; }
section.av_toggle_section { border-bottom: 1px solid #00000017; }
section.av_toggle_section:last-child { border: none; }
.toggle_icon .vert_icon, .toggle_icon .hor_icon { border-color: #000 !important; }
.nopaddingtop .template-page.content { padding-top: 0; }
.nopadding .template-page.content { padding: 0; }

/* ==========================================================================
   5. Forms & Inputs
   ========================================================================== */
#top form { font: inherit !important; }
p.gform_required_legend { display: none; }
input.gform_button { background: #021250 !important; color: #fff !important; border-radius: 38px !important; border-width: 2px !important; font-size: 18px !important; font-weight: 400 !important; padding: 10px 30px !important; width: 100% !important; }
.gform_button { background: #243372 !important; color: #fff !important; font-size: 18px !important; border-radius: 30px !important; padding: 15px 40px !important; margin-top: 20px !important; }
.gform-theme--foundation .gform_fields { row-gap: 15px !important; }
#top .main_color .input-text, #top .main_color input[type='text'], #top .main_color input[type='input'], #top .main_color input[type='password'], #top .main_color input[type='email'], #top .main_color input[type='number'], #top .main_color input[type='url'], #top .main_color input[type='tel'], #top .main_color input[type='search'], #top .main_color select { height: 50px; }
#top .main_color .input-text, #top .main_color input:not([type='submit']), #top .main_color select, #top .main_color textarea { background-color: transparent; border-radius: 35px; text-indent: 10px; font-size: 17px !important; }
#top textarea { min-height: inherit !important; }
#top .input-text, #top input, #top select, #top textarea { margin-bottom: 0; }
input::placeholder, textarea::placeholder { font-size: 17px !important; }
div#footertopsection select, div#footertopsection input, div#footertopsection textarea, div#footertopsection ::placeholder { color: #fff !important; opacity: 1 !important; }
div#footertopsection select option, .ms-job-filters select option { color: #000 !important; }
h2.gform_title { font-size: 1.1em; }
div#footertopsection .gform-footer.gform_footer.top_label { justify-content: center; }
div#footertopsection .gform_button { background: #fff !important; color: #243372 !important; }

/* ==========================================================================
   6. Culture Grid & Positions
   ========================================================================== */
.culture-grid { display: grid !important; grid-template-columns: repeat(2, 1fr); overflow: hidden; width: 100% !important; }
.culture-grid::before { display: none; }
.culture-grid section.av_textblock_section { display: flex; justify-content: center; padding: 10px; }
.culture-grid section.av_textblock_section:nth-child(odd) { border-right: 2px solid #52627d; }
.culture-grid section.av_textblock_section:nth-child(-n+2) { border-bottom: 2px solid #52627d; }
.ms-job-filters { display: flex; gap: 25px; margin-bottom: 50px; }
.ms-filter-group { flex: 1; }
.ms-filter-group label { display: block; font-size: 16px; font-weight: 600; margin-bottom: 10px; color: #263b68; }
.ms-filter-group select { width: 100%; height: 52px; padding: 0 18px; border: 1px solid #d7dce5; border-radius: 4px; background: #fff; font-size: 16px; color: #fff !important; }
.ms-jobs-grid, .ms-internships-grid, div#livestockctas { display: grid; grid-template-columns: repeat(3, 1fr); }
.ms-job-card { position: relative; padding: 35px 30px; min-height: 300px; display: flex; flex-direction: column; }
.ms-job-description, .ms-internship-description { flex-grow: 1; }
.ms-job-criteria-btn { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; padding: 8px 24px; border: 2px solid #fff !important; border-radius: 30px; color: #fff !important; font-weight: 600; text-decoration: none !important; transition: all .25s ease; }
.ms-no-results { padding: 50px; text-align: center; font-size: 18px; }
.ms-job-card.ms-border-right { border-right: 1px solid rgba(255, 255, 255, 0.25) !important; }
.ms-job-card.ms-border-bottom { border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important; }

/* Internships */
.ms-internships-section { width: 100%; max-width: 1200px; margin: 0 auto; }
.ms-internship-card { position: relative; padding: 30px; min-height: 250px; display: flex; flex-direction: column; border-bottom: 1px solid #d7dce5; }
.ms-internship-card:not(:nth-child(3n)) { border-right: 1px solid #d7dce5; }
.ms-internship-card:nth-last-child(-n+3) { border-bottom: none; }
.ms-internship-criteria-btn { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; padding: 8px 24px; border: 2px solid #000 !important; border-radius: 30px; color: #243372 !important; text-decoration: none !important; transition: all .25s ease; }

/* ==========================================================================
   7. Livestock Accordion, Housing & Carousels
   ========================================================================== */

.ms-livestock-housing {
    display: flex;
    gap: 25px;
    align-items: start;
}
.ms-livestock-housing-tabs{	
    width:270px;
    flex:0 0 270px;
    background:#e2e3f1;
    border-radius:18px;
    padding:12px;
    margin:0;
    display:flex;
    flex-direction:column;
}
.ms-livestock-housing-panel { display: none; }
.ms-livestock-housing-panel.is-active { display: block; }
.ms-livestock-accordion { width: 100%; }
.ms-livestock-accordion-header { width: 100%; min-height: 68px; padding: 0; margin: 0; display: flex; align-items: center; justify-content: space-between; border: 0 !important; background: transparent !important; cursor: pointer; text-align: left; font-family: inherit; }
.ms-livestock-accordion-icon { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; transition: transform .25s ease; }
.ms-livestock-accordion-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ms-livestock-accordion-item.is-open .ms-livestock-accordion-icon { transform: rotate(180deg); }
.ms-livestock-project-location { margin-bottom: 15px; color: #666; font-size: 15px; }
.ms-livestock-carousel { position: relative; width: 100%; overflow: hidden; border-radius: 24px; }
.ms-livestock-carousel-track { display: flex; gap: 18px; transition: transform .4s ease; }
.ms-livestock-carousel-slide { flex: 0 0 calc(50% - 9px); min-width: calc(50% - 9px); aspect-ratio: 1.45; overflow: hidden; border-radius: 24px; }
.ms-livestock-carousel-slide img { width: 100%; height: 100%; display: block; object-fit: cover; }
.ms-livestock-carousel-prev, .ms-livestock-carousel-next { position: absolute; top: 50%; z-index: 5; width: 42px; height: 42px; border: 0 !important; border-radius: 50%; background: rgba(255,255,255,.92) !important; color: #293b82 !important; box-shadow: 0 2px 10px rgba(0,0,0,.15); transform: translateY(-50%); cursor: pointer; font-size: 21px; }
.ms-livestock-carousel-prev { left: 15px; }
.ms-livestock-carousel-next { right: 15px; }

/* ==========================================================================
   8. Consolidated Responsive Media Queries
   ========================================================================== */
@media (max-width: 1024px) {
    .service-card, .service-image img { min-height: 350px; }
    .service-content { padding: 15px; }
}

@media only screen and (min-width: 959px) and (max-width: 1177px) {
#timelinesec h1.av-special-heading-tag {
    font-size: 70px !important;
}
div#meetteam .av-subheading.av-subheading_below {
    min-height: 50px;
}	
}
@media only screen and (min-width: 768px) and (max-width: 959px) {	
	div#meetteam .av-subheading.av-subheading_below {
    min-height: 70px;
	}
		div#meetteam h3.av-special-heading-tag {
    min-height: 50px;
	}
}
@media (max-width: 900px) {
    .recent-blog-posts, .ms-jobs-grid, .ms-internships-grid { grid-template-columns: repeat(2, 1fr); }
    .recent-blog-posts { grid-template-columns: 1fr; }
    .recent-blog-featured-image { height: 420px; }
    .ms-job-card, .ms-internship-card { border-right: none; }
    .ms-job-card:not(:nth-child(2n)) { border-right: 1px solid rgba(255, 255, 255, 0.35); }
    .ms-job-card:nth-last-child(-n+3) { border-bottom: 1px solid rgba(255, 255, 255, 0.35); }
    .ms-job-card:nth-last-child(-n+2) { border-bottom: none; }
    .ms-internship-card:not(:nth-child(2n)) { border-right: 1px solid #d7dce5; }
div#imgsec {
    border-left-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    border-bottom-left-radius: 0;
    border-bottom-width: 0px;
    border-right-width: 1px;
}	
div#textsec {
    border-left-width: 1px;
    border-right-width: 1px;
    border-top-width: 0px;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    border-bottom-right-radius: 35px;
    border-bottom-left-radius: 35px;
}	
}

@media (max-width: 767px) {
    .our-services-slider .service-slide { padding: 0 5px; }
    .service-card { display: block; min-height: auto; border-radius: 25px; }
    .service-image, .service-image img { width: 100%; height: 250px; min-height: 250px; }
    .service-content { width: 100%; padding: 15px; min-height: 280px; box-sizing: border-box; }
    .featured-posts { margin-top: 30px; }
    .featured-post-image { width: 90px; min-width: 90px; height: 70px; }
    .featured-post-title { font-size: 14px; }
    .ms-livestock-housing-tabs { overflow-x: auto; }
    .ms-livestock-housing-tab { white-space: nowrap; padding: 12px 16px; }
    .ms-livestock-carousel-track { gap: 0; }
    .ms-livestock-carousel-slide { flex-basis: 100%; min-width: 100%; border-radius: 18px; }
div#imgsec {
    border-left-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    border-bottom-left-radius: 0;
    border-bottom-width: 0px;
    border-right-width: 1px;
}	
div#textsec {
    border-left-width: 1px;
    border-right-width: 1px;
    border-top-width: 0px;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    border-bottom-right-radius: 35px;
    border-bottom-left-radius: 35px;
}	
}

@media (max-width: 600px) {
    .recent-blog-posts { display: block; }
    .recent-blog-featured { margin-bottom: 40px; }
    .recent-blog-featured-image { height: 300px; border-radius: 16px; }
    .recent-blog-title { font-size: 21px; }
    .recent-blog-item { grid-template-columns: 35px 25px minmax(0, 1fr); column-gap: 8px; }
    .recent-blog-item-image { grid-column: 3; width: 100%; height: 180px; margin-top: 15px; }
    .recent-blog-item-content { grid-column: 3; }
    .recent-blog-item-number { font-size: 17px; }
    .recent-blog-item-line { width: 25px; }
    .ms-jobs-grid, .ms-internships-grid { grid-template-columns: 1fr; }
    .ms-job-card { border-right: none !important; border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important; min-height: auto; padding: 25px 20px; }
    .ms-job-card:last-child { border-bottom: none !important; }
    .ms-internship-card { padding: 25px 20px; min-height: auto; border-right: none !important; }
}
