/* #MARK: GENERAL
*/
.wrap[data-flex-vertical],
.wrap[data-flex-horizontal] {
    display: flex;
}

.iwrap {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 100%;
}

.iwrap.demo {
    height: 400px;
}

/* #MARK: SC TEXT
*/

[data-text-position="text-left"] {
    text-align: left;
}

[data-text-position="text-center"] {
    text-align: center;
}

[data-text-position="text-right"] {
    text-align: right;
}

[data-text-position="text-justify"] {
    text-align: justify;
}

[data-text-position="text-center"] .social-icons,
[data-text-position="text-center"] .sc-div {
    justify-content: center;
}
[data-text-position="text-right"] .social-icons,
[data-text-position="text-right"] .sc-div {
    justify-content: flex-end;
}

[data-intro-position="text-left"] .info-column {
    text-align: left;
}

[data-intro-position="text-center"] .info-column {
    text-align: center;
}

[data-intro-position="text-right"] .info-column {
    text-align: right;
}


/* #MARK: FLEX + ICONS
*/

[data-text-position="text-justify"] .div-icon {
    align-self: flex-start;
}

[data-text-position="text-left"] .div-icon {
    align-self: flex-start;
}

[data-text-position="text-center"] .div-icon {
    align-self: center;
}

[data-text-position="text-right"] .div-icon {
    align-self: flex-end;
}

[data-schema-item-direction="row"][data-text-position="text-right"] .div-icon,
[data-schema-item-direction="row"][data-text-position="text-center"] .div-icon {
    align-self: flex-start;
}

/* #MARK: SC HORIZONTAL
*/

[data-flex-horizontal="flex-left"] .row,
[data-flex-horizontal="flex-left"] .flexic {
    justify-content: flex-start;
}

[data-flex-horizontal="flex-right"] .row,
[data-flex-horizontal="flex-right"] .flexic {
    justify-content: flex-end;
}

[data-flex-horizontal="flex-center"] .row,
[data-flex-horizontal="flex-center"] .flexic {
    justify-content: center;
}

/* var width */
[data-flex-horizontal="flex-left"] .var-width {
    margin-right: auto;
    margin-left: 0;
}

[data-flex-horizontal="flex-right"] .var-width{
    margin-left: auto;
    margin-right: 0;
}

[data-flex-horizontal="flex-center"] .var-width {
    margin: 0 auto;
} 

/* #MARK: SC VERTICAL
*/

[data-flex-vertical="flex-start"],
[data-flex-vertical="flex-start"] .row,
[data-flex-vertical="flex-start"] .flexic,
[data-flex-vertical="flex-start"] .dflex
[data-flex-vertical="flex-start"] div .dflex {
    align-items: flex-start;
}

[data-flex-vertical="flex-top"],
[data-flex-vertical="flex-top"] .row,
[data-flex-vertical="flex-top"] .flexic,
[data-flex-vertical="flex-top"] .dflex,
[data-flex-vertical="flex-top"] div .dflex {
    align-items: flex-start;
}    

[data-flex-vertical="flex-stretch"] .row,
[data-flex-vertical="flex-stretch"] .flexic,
[data-flex-vertical="flex-stretch"] .dflex,
[data-flex-vertical="flex-stretch"] div .dflex {
    align-items: stretch;
}

[data-flex-vertical="flex-middle"],
[data-flex-vertical="flex-middle"] .row,
[data-flex-vertical="flex-middle"] .flexic,
[data-flex-vertical="flex-middle"] .dflex,
[data-flex-vertical="flex-middle"] div .dflex {
    align-items: center;
}

[data-flex-vertical="flex-bottom"],
[data-flex-vertical="flex-bottom"] .row,
[data-flex-vertical="flex-bottom"] .flexic,
[data-flex-vertical="flex-bottom"] div .dflex,
[data-flex-vertical="flex-bottom"] .dflex {
    align-items: flex-end;
}

[data-flex-vertical="flex-stretch"] .dobject,
[data-flex-vertical="flex-stretch"] .dmedia {
    height: 100%;
}

[data-flex-vertical="flex-stretch"] .dmedia .d-popmedia { 
    height: 100%;
    object-fit: cover;    
}

/* #MARK: SC BG
*/

/* center */
[data-bg-position="bg-center"] .d-popmedia img {
    object-position: center center;
}
[data-bg-position="bg-center"] .d-popmedia.bg-img {
    background-position: center center;
}
[data-bg-position="bg-center-left"] .d-popmedia img {
    object-position: left center;
}
[data-bg-position="bg-center-left"] .d-popmedia.bg-img {
    background-position: left center;
}
[data-bg-position="bg-center-right"] .d-popmedia img {
    object-position: right center;
}
[data-bg-position="bg-center-right"] .d-popmedia.bg-img {
    background-position: right center;
}
/* top */
[data-bg-position="bg-top"] .d-popmedia img {
    object-position: center top;
}
[data-bg-position="bg-top"] .d-popmedia.bg-img {
    background-position: center top;
}
[data-bg-position="bg-top-left"] .d-popmedia img {
    object-position: left top;
}
[data-bg-position="bg-top-left"] .d-popmedia.bg-img {
    background-position: left top;
}
[data-bg-position="bg-top-right"] .d-popmedia img {
    object-position: right top;
}
[data-bg-position="bg-top-right"] .d-popmedia.bg-img {
    background-position: right top;
}
/* bottom */
[data-bg-position="bg-bottom"] .d-popmedia img {
    object-position: center bottom;
}
[data-bg-position="bg-bottom"] .d-popmedia.bg-img {
    background-position: center bottom;
}
[data-bg-position="bg-bottom-left"] .d-popmedia img {
    object-position: left bottom;
}
[data-bg-position="bg-bottom-left"] .d-popmedia.bg-img {
    background-position: left bottom;
}
[data-bg-position="bg-bottom-right"] .d-popmedia img {
    object-position: right bottom;
}
[data-bg-position="bg-bottom-right"] .d-popmedia.bg-img {
    background-position: right bottom;
}

/* #MARK: RTL
*/

[data-rtl="0"] .flexic:first-child { 
    flex-direction: row; 
}    

[data-rtl="1"] .row:first-child,
[data-rtl="1"] .flexic:first-child,
[data-rtl="1"] .flexic { 
    flex-direction: row-reverse; 
}

[data-rtl="1"] .overlay-bg {
    left: unset;
    right: 0;
}

/* #MARK: UTD
*/

[data-utd="0"] .flexic:first-child {
    flex-direction: column;
}

[data-utd="1"] .flexic:first-child { 
    flex-direction: column-reverse; 
}

[data-utd] .info-media, 
[data-utd] .info-object {
    display: flex;
    width: 100%;  
}

/* #MARK: UTD + FLEX
*/

[data-utd][data-flex-horizontal="flex"] .var-width {
    margin: unset;
}

[data-utd][data-flex-horizontal="flex-center"] .var-width {
    align-self: center;
}   

[data-utd][data-flex-horizontal="flex-left"] .var-width {
    align-self: flex-start;
}

[data-utd][data-flex-horizontal="flex-right"] .var-width {
    align-self: flex-end;
}       

[data-utd][data-flex-horizontal="flex-center"] .info-media,
[data-utd][data-flex-horizontal="flex-center"] .info-object {
    justify-content: center;
}  

[data-utd][data-flex-horizontal="flex-left"] .info-media,
[data-utd][data-flex-horizontal="flex-left"] .info-object {
    justify-content: flex-start;
}

[data-utd][data-flex-horizontal="flex-right"] .info-media,
[data-utd][data-flex-horizontal="flex-right"] .info-object {
    justify-content: flex-end;
}  
  