]
);
+ $this->add_control(
+ 'content_reversed',
+ [
+ 'label' => __('Reverse content order?', 'cube'),
+ 'type' => Controls_Manager::SWITCHER,
+ 'default' => '',
+ 'return_value' => 'content-reversed',
+ 'prefix_class' => '',
+ ]
+ );
+
$this->add_control(
'subtitle',
[
// Rendered content
echo '<div class="hero-block">';
echo '<div class="hero-block-inner">';
+
+ // TODO: instead of inserting image like this, maybe it should be a bg image with proportional padding set to allow it to take up space. Then set to cover / right. Maybe text could be non-absolute so it pushes when needed? Check CCV, Elens and other sites where I've used these kinds of techniques recently...
+
echo "<img {$this->get_render_attribute_string('image')}>";
echo '<div class="hero-block-content">';
echo '<div class="hero-block-content-inner">';
]
);
+ $this->add_control(
+ 'cta_type',
+ [
+ 'label' => __( 'Call to Action type', 'physioassist' ),
+ 'type' => Controls_Manager::SELECT,
+ 'options' => [
+ 'link' => 'Link',
+ 'button' => 'Button',
+ ],
+ 'default' => 'link',
+ 'prefix_class' => 'text-block-cta-type-'
+ ]
+ );
+
// Additional link control
// Ideally this would be a widget of its own but due to the text-block scaling
// and the need for absolute positioning it, we can't put another widget under
.elementor-button,
+.elementor-button.elementor-size-xs,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-xl
background-color: $colors.blue
color: #fff
- border-radius: 0
+ border-radius: 99em
font-smoothing()
- font-size: 18px
font-weight: 700
text-align: center
text-transform: uppercase
- padding: 0.75em 2em
+ padding: 1.2em 2em
+ transition: background-color 0.15s ease-out
&:hover
- opacity: 0.85
+ background-color: $colors.dark-blue
+
+.elementor-button
+
+ &.elementor-size
+ &-xs, &-sm
+ font-size: 14px
+ &-md
+ font-size: 16px
+ &-lg
+ font-size: 18px
+ &-xl
+ font-size: 20px
+
+ &-icon svg
+ width: auto
+ height: 0.7em
+
+ .elementor-align-icon-left
+ margin-right: 0.57em
+ .elementor-align-icon-right
+ margin-left: 0.57em
constrain(left, 10vw)
width: 672px // Max width a full size (should be kept in sync with JS!)
transform-origin: left
+ display: flex
+ flex-direction: column
+
+ .elementor-widget-cube-hero.content-reversed &
+ flex-direction: column-reverse
+below($breakpoint-hero-block)
position: relative
color: #fff
margin-bottom: 20px
+ .elementor-widget-cube-hero.content-reversed &
+ margin-bottom: 0
+ margin-top: 0
+
&-title
color: currentColor
font-size: 44px
margin-bottom: 0.5em
+ .elementor-widget-cube-hero.content-reversed &
+ margin-bottom: 0
+ margin-top: 0.5em
+
+below(700px)
font-size: 7vw !important
+below(500px)
color: #fff
margin-top: 30px
+ .elementor-widget-cube-hero.content-reversed &
+ margin-top: 0
+ margin-bottom: 30px
+
+below(700px)
margin-top: 1.5em
font-weight: 400
margin-top: 2.5em
+ h3
+ color: $colors.headings
+ font-size: 18px
+ margin-bottom: 1em
+ text-transform: uppercase
+
li
margin-bottom: 0.5em
line-height: 1.5
&-cta
- display: block
+ display: inline-block
margin-top: (30/14)em
cursor: pointer // may not always have href (eg. for lightbox triggers)
+
+ .text-block-cta-type-button &
+ color: #fff
+ background-color: $colors.blue
+ border-radius: 99em
+ padding: 1.2em 2em
+ transition: background-color 0.15s ease-out
+
+ &:hover
+ background-color: $colors.dark-blue
+
left: 0
.slick-next
right: 0
+
+
+ ul.slick-dots
+ position: relative
+ bottom: 0
+ constrain(margin-top, 2.5vw)
+
+ li
+ &:not(:last-child)
+ margin-right: 11px
+
+ button
+ width: 18px
+ height: @width
+
+ &:before
+ content: ''
+ width: 100%
+ height: @width
+ border-radius: 50%
+ background-color: #dbdcdf
+ opacity: 1 !important
+
+ &.slick-active
+ button:before
+ background-color: #1f8ccc
$settings = [
'slidesToShow' => 4,
'slidesToScroll' => 1,
+ 'dots' => count($videos) > 4, // Only show dots when there are enough videos
'infinite' => true,
'responsive' => [
[