/* 
 Theme Name:     Sofia
 Author:         Mark Hendriksen
 Author URI:     https://markhendriksen.com
 Template:       Divi
 Version:        1.0
 Description:    A Divi Child Theme 
*/ 

/* 

### --- PLACE YOUR CUSTOM CSS CODE IN DIVI > THEME OPTIONS > CSS 
### --- CUSTOM CSS CODE THAT WILL BE PLACED HERE WILL BE OVERWRITTEN IN A CHILD THEME UPDATE

*/ 

/* ### General ### */

@media screen and (min-width: 1151px) and (max-width: 1450px){
.custom-row-width-981.et_pb_row,
.custom-row-special-width-981 .et_pb_row	{
	width: 90% !important;
	max-width: 90% !important;
}}

@media screen and (min-width: 981px) and (max-width: 1150px){
.custom-row-width-981.et_pb_row,
.custom-row-special-width-981 .et_pb_row	{
	width: 98% !important;
	max-width: 98% !important;
}}

#page-container {
	overflow-x: hidden;
}

/* ### Home page ### */

@media screen and ( min-width: 981px ) {
.home-middle-column-1 {
	display: flex;
	flex-direction: column;
    justify-content: center;
}

.home-middle-column-2 {
	width: 35% !important;
}

.home-middle-column-3 {
	width: 15% !important;
	display: flex;
    align-items: center;
}

.home-section-images-text-column-2 {
	display: flex;
	flex-direction: column;
    justify-content: center;
}}

/* Inner border */

.sofia-inner-border .et_pb_image_wrap,
.sofia-inner-border .et_pb_main_blurb_image {
	position: relative;
}

.sofia-inner-border .et_pb_main_blurb_image:before {
	content: '';
    top: 0px;
    left:0px;
	width: 100%;
	height: 100%;
    background-color: rgb(0 0 0 / 17%);
    position: absolute;
    z-index: 1;
	transition: all .3s ease;
}

.sofia-inner-border .et_pb_main_blurb_image:hover:before {
    background-color: rgb(0 0 0 / 0%);
}

.sofia-inner-border .et_pb_image_wrap:before {
    content: '';
    top: 50px;
    right: 30px;
    bottom: 50px;
    left: 30px;
    position: absolute;
    z-index: 1;
}

.sofia-inner-border .et_pb_image_wrap:after {
    content: '';
    top: 30px;
    right: 50px;
    bottom: 30px;
    left: 50px;
    position: absolute;
    z-index: 1;
}

/* Inner border section */

.sofia-inner-border-section:before {
    content: '';
    top: 50px;
    right: 30px;
    bottom: 50px;
    left: 30px;
    position: absolute;
    z-index: 1;
}

.sofia-inner-border-section:after {
    content: '';
    top: 30px;
    right: 50px;
    bottom: 30px;
    left: 50px;
    position: absolute;
    z-index: 1;
}

/* Inner border row */

.sofia-inner-border-row:before {
    content: '';
    top: 50px;
    right: 30px;
    bottom: 50px;
    left: 30px;
    position: absolute;
    z-index: 1;
}

.sofia-inner-border-row:after {
    content: '';
    top: 30px;
    right: 50px;
    bottom: 30px;
    left: 50px;
    position: absolute;
    z-index: 1;
	visibility: visible !important;
    height: auto !important;
    width: auto !important;
}

/* CTA row */

@media screen and ( min-width: 981px ) {
.sofia-cta-row {
	display: flex;
	align-items: center;
}

.sofia-full-bg-home {
	display: flex;
}}

@media screen and ( max-width: 980px ) {
.sofia-cta-row {
	display: flex;
    flex-direction: column;
}}

/* Bg color left */

@media screen and ( min-width: 981px ) {
.bg-color-left:before {
	content: "";
	position: absolute;
    width: 80%;
    top: -30px;
    bottom: -30px;
    left: -30px;
    right: 0;
}

.bg-color-middle:before {
	content: "";
	position: absolute;
    width: 80%;
    top: -30px;
    bottom: -30px;
    left: 0;
    right: 0;
	margin-left: auto;
    margin-right: auto;
}

.bg-color-right:before {
	content: "";
	position: absolute;
    width: 80%;
    top: -30px;
    bottom: -30px;
	left:auto;
    right: -30px;
}}

/* Optin */

@media screen and ( min-width: 981px ) {
.custom-opt-in .et_pb_newsletter_fields {
	display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

.et_pb_newsletter.custom-opt-in .et_pb_newsletter_form .et_pb_contact_field_half {
    flex-basis: auto !important;
}

.et_pb_newsletter.custom-opt-in .et_pb_newsletter_form .et_pb_contact_field_half,
.et_pb_newsletter.custom-opt-in .et_pb_newsletter_form .et_pb_contact_field_last {
    flex-grow: 1 !important;
	padding-right: 15px !important;
}

.et_pb_newsletter.custom-opt-in .et_pb_newsletter_fields>* {
    flex-basis: 29% !important;
}

.custom-opt-in .et_pb_newsletter_form p.et_pb_newsletter_field {
	padding-bottom: 0em !important;
	display: flex;
}

.custom-opt-in  .et_pb_newsletter_button_wrap {
	display: flex;
}

.custom-opt-in .et_pb_newsletter_button_wrap .et_pb_newsletter_button {
	display: flex;
    align-items: center;
    justify-content: center;
}}

@media screen and ( max-width: 980px ) {
.custom-opt-in .et_pb_newsletter_form p.et_pb_newsletter_field {
    padding-bottom: 0.5em;
}}

.home-service-number {
	display: flex;
    justify-content: center;
    align-items: center;
}

/* horizontal opt-in blog page */
@media screen and ( min-width: 981px ) {
.blog-opt-in-row {
	display: flex;
    align-items: center;
}

.opt-in-blog {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

.opt-in-blog .et_pb_newsletter_form {
	padding-top: 0px !important;
}

.et_pb_newsletter.opt-in-blog .et_pb_newsletter_fields>* {
    flex-basis: 24% !important;
}}

/* Sidebar blog download box */

.blog-sidebar-download-box {
	padding-bottom: 20px !important;
}

.blog-sidebar-download-box h2.wp-block-heading,
.blog-sidebar-download-box p {
	text-align: center;
	line-height: 1.2em;
}

.blog-sidebar-download-box h2.wp-block-heading {
	margin-bottom: 0px !important;
}

.blog-sidebar-download-box p {
	margin-bottom: 20px;
}

.blog-sidebar-download-box .wp-block-button,
.blog-sidebar-download-box .wp-block-button a {
	width: 100%;
}

.blog-sidebar-download-box .wp-block-button a {
	display: block;
    text-align: center;
}

.blog-sidebar-download-box .wp-block-image {
	margin-bottom: 0px !important;
}

/* Blog */
.sofia-blog h2.entry-title {
    padding: 20px 20px 0px 20px;
    margin-top: -75px;
    z-index: 9999;
    position: relative;
}

.sofia-blog p.post-meta {
	z-index: 9999;
	position: relative;
} 
  
/* ###  Blog list ### */ 

@media (min-width: 767px) {
.blog-list-v1 .entry-featured-image-url  {
	width: 35%;
	float: left;
	margin-bottom: 0!important;
}

.blog-list-v1 .entry-title,
.blog-list-v1 .post-meta,
.blog-list-v1 .post-content {
	width: 65%;
	float: left;
	padding-left: 30px;
}}
  
@media (min-width: 981px) {
.blog-list-v1 .entry-title {
  padding-top: 10px; 
}}  
  
.blog-list-v1 article {
  box-shadow: 0 0 35px 0 rgb(0 0 0 / 8%);
  padding: 20px;
}  
  
.more-link {
  margin-top: 10px;  
}
  
.blog-sidebar-list .et_pb_widget.widget_search {
	padding: 35px 35px 35px 35px;    
} 
  
.blog-sidebar-list .et_pb_widget {
	padding: 35px 35px 10px 35px;
  box-shadow: 0 0 30px 5px rgb(0 0 0 / 10%);
	border-radius: 3px;
}

.blog-sidebar-list .et_pb_widget ul {
	padding-bottom: 15px!important;
	font-size: 14px !important;
	line-height: 1.5em!important;
}

.blog-sidebar-list .et_pb_widget ul li {
  margin-bottom: 1em;
}

.blog-sidebar-list.et_pb_widget_area ul li {
	padding-left: 0.3em;
  text-indent: -12px;
  list-style-type: square;
}

.blog-sidebar-list .et_pb_widget li a {
	padding-left: 7px;
  vertical-align: text-bottom;
}

.blog-sidebar-list .et_pb_widget ul {
  padding-left: 20px!important; 
}

@media (max-width: 980px) {  
.blog-sidebar-list .et_pb_widget ul {
  padding-left: 27px!important; 
}}  
  
/* ### Blog pagination ### */
.pagination {
  padding-top: 50px;
}    
  
.pagination .alignleft a,
.pagination .alignright a {
  font-weight:400;
	padding: .5em 1.1em;
	border-radius: 5px;
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
} 

/* #### Responsive 981 - 1500 #### */

@media screen and (min-width: 981px) and (max-width: 1500px){
.hero-header-column-1 {
	padding-left: 10% !important;
}

.sub-header-column-1 {
	padding: 75px !important;
}

.blog-sidebar-column {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.sub-header-v2-column-1 {
	padding-left: 50px !important;		
}}

@media screen and ( max-width: 980px ) {
/* #### Reverse column #### */
.sofia-reverse-column-row {
	display: flex;
	flex-wrap: wrap;
}

.sofia-reverse-column-1 {
	order: 2;	
}
	
.sofia-reverse-column-2 {
	order: 1;	
}}

/* #### Blog sidebar #### */  

ul.wp-block-latest-posts li {
	display: inline-block;
}

ul.wp-block-latest-posts li .wp-block-latest-posts__featured-image {
	padding-right: 15px;
}

ul.wp-block-latest-posts .wp-block-latest-posts__post-excerpt {
	font-size: 16px !important;
	line-height: 1.3em !important;
}

.sofia-sidebar h2.wp-block-heading {
	margin-bottom: 15px;
}

ul.wp-block-categories-list {
	padding: 15px 11px 7px 11px !important;
}


ul.wp-block-categories-list li {
	padding: 20px 15px;
}

/* ## Single post ### */

.single-post .et_pb_post_content h2 {
	margin-top: 25px;
}

/* #### Coming soon page #### */  

.sofia-coming-soon {
	display: flex;
}

/* #### All header & menus #### */  

.sofia-header-menu-v1 .sofia-custom-menu ul.sub-menu li:last-child a,
.sofia-header-menu-v2 .sofia-custom-menu ul.sub-menu li:last-child a,
.sofia-header-menu-v3 .sofia-custom-menu ul.sub-menu li:last-child a,
.sofia-header-menu-v4 .sofia-custom-menu ul.sub-menu li:last-child a {
	border-bottom: 0px solid #dfc5ae;
}

/* #### header & menu v1 #### */  

.sofia-header-menu-v1 .sofia-custom-menu ul.sub-menu li:last-child a {
	border-bottom: 0px solid #dfc5ae;
}

.sofia-header-menu-v1 .sofia-header-menu-top-row {
	display: flex;
    align-items: center;
}

.et_mobile_menu .menu-item-has-children>a {
    font-weight: 500 !important;
}

/* #### header & menu v2 #### */  

.sofia-header-menu-v2 .sofia-header-and-menu-v2-row {
	display: flex;
    align-items: center;
}

/* ### Portfolio grid 2 column ### */

@media (min-width: 981px) {
.custom_portfolio_grid_3_column .et_pb_grid_item {
	width: 29.66%!important;
	margin-right: 5.5%!important;  
}
 
.custom_portfolio_grid_3_column .et_pb_grid_item:nth-child(3n) {
	margin-right: 0!important;
}
 
.custom_portfolio_grid_3_column .et_pb_grid_item:nth-child(4n) {
	margin-right: 5.5%!important;
}
 
.custom_portfolio_grid_3_column .et_pb_grid_item.et_pb_portfolio_item:nth-child(4n+1) {
	clear: none!important;
}
	
.custom_portfolio_grid_3_column .et_pb_grid_item.first_in_row {
	clear: unset;
}}

.sofia-custom-portfolio .et_pb_portfolio_filters ul {
    display: flex;
    justify-content: center;
}

@media (min-width: 981px) {
.sofia-custom-portfolio .et_pb_portfolio_item .post-meta {
    margin-top: 0 !important;
}}

.sofia-custom-portfolio h2.et_pb_module_header {
	padding: 10px 0px 20px 0px !important;
}

/* #### Dropdown Menu #### */  
  
.nav li li:last-child a {
  border-bottom: 0px solid #e5e5e5; 
}  
  
.nav li ul.sub-menu {
	padding: 0px !important;
  border-radius: 5px;
  box-shadow: 0 5px 17px 0px rgb(0 0 0 / 25%);
  -moz-box-shadow: 0 5px 17px 0px rgba(0,0,0,.25);
  -webkit-box-shadow: 0 5px 17px 0px rgb(0 0 0 / 25%);
}
  
.nav li li {
  padding: 0 0px !important;
  width: 100%;
}
  
.et-menu li li a {
  padding: 10px 20px;
  width: 100% !important;
}
  
.et-menu > .menu-item-has-children > .sub-menu:before {
	content: '';
  display: block;
  position: absolute;
  left: 20px;
  top: -20px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  z-index: 1;
}
  
.nav li ul {
    right: 0!important;
}
  
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 20px;
}  

.nav li li ul {
    top: -4px !important;
}
  
/* #### Collaping Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	top: 10px;
    position: relative;
    font-family: "ETModules";
    content: '\33';
    border-radius: 50%;
    padding: 3px;
	font-size: 19px;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon {
	text-align: center;
	opacity: 1;
}

/* Fixes */
.wp-block-latest-posts__featured-image.alignleft {
    margin-right: 0em !important;
}

a.wp-block-latest-posts__post-title {
    line-height: 1.1em !important;
	display: block;
	margin-bottom: 10px !important;
}

ul.wp-block-latest-posts__list li {
	    display: flex;
    align-items: center;
}
