Inspired by Nicolas Raube's "Flat Forest", great for understanding
flexbox, borders, backgrounds and ::before & ::after pseudoelements

This was done with div elements
and CSS only!
Learn how and try something yourself.
body or div holding the container and its contents{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  font-size: 0;
  background: var(--bg-color);
}
.container {
  background: var(--container-color);
  width: 400px;
  height: 400px;
  border-radius: 100%;
  margin-top: 120px;
}
      :root{
        --bg-color: #FFF9C4;
        --container-color: #4CAF50;
        --sun-color: #FFEB3B;
        --sun-light-color: #FDD835;
        --mountain-left-color: #BDBDBD;
        --mountain-right-color: #9E9E9E;
        --path-color: #66BB6A;
        --house-bottom-color:#5D4037;
        --house-window-color:lightblue;
        --house-window-border-color:#9E9E9E;
        --house-door-color:#4E342E;
        --house-door-knob-color:white;
        --house-chimney-color:#3E2723;
        --house-roof-border-color:#3E2723;
        --house-roof-color:#5D4037;
        --tree-stem-color:#795548;
        --tree-left-color:#388E3C;
        --tree-right-color:#1B5E20;
      }
.sun {
  position: absolute;
  width: 150px;
  height: 150px;
  background: var(--sun-color);
  border-radius: 100%;
  margin-top: -100px;
  margin-left: 90px;
  box-shadow: 0 0 50px 20px var(--sun-light-color);
}
.mountain {
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 200px 100px;
  border-color: transparent;
  border-bottom-color: var(--mountain-left-color); 
}
.mountain::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100px 200px 0;
  border-color: transparent;
  border-bottom-color: var(--mountain-right-color); 
}
.m_one {
  margin-top: -100px;
  margin-left: 70px;
  transform: scale(1.1);
}
.m_two {
  margin-top: -40px;
  margin-left: -1px;
  transform: scale(.8);
}
.m_three {
  margin-top: -50px;
  margin-left: 194px;
}
.m_four {
  margin-top: -80px;
  margin-left: 150px;
  transform: scale(.7);
}
.path {
  position: absolute;
  margin-top: 50px;
  margin-left: 150px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 50px 300px 50px;
  border-color: transparent;
  border-bottom-color: var(--path-color);
}
.house {
  position: absolute;
  width: 200px;
  height: 150px;
  background: var(--house-color);
  border-bottom: 30px solid var(--house-bottom-color);
  margin-top: 70px;
  margin-left: 100px;
  transform: scale(.5);
}
.house:after {
  content: '';
  position: absolute;
  display: block;
  width: 60px;
  height: 40px;
  background: var(--house-window-color);
  margin-top: 45px;
  margin-left: 120px;
  border: 1px solid var(--house-window-border-color);
}

html: (chimney, roof and door nested)
<div class="house">
  <div class="chimney"></div>
  <div class="roof"></div>
  <div class="door"></div>
</div>
.chimney {
  content:'';
  position:absolute;
  display:block;
  background:var(--house-chimney-color);
  width:30px;
  height:70px;
  margin-top:-100px;
  margin-left:150px;
}
.roof {
  content:'';
  position:absolute;
  display:block;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 120px 120px 120px;
  border-color:transparent;
  border-bottom-color:var(--house-roof-border-color)
  margin-left:-20px;
  margin-top:-120px;
}
.roof:after {
  content:'';
  position:absolute;
  display:block;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 100px 100px 100px;
  border-color:transparent;
  border-bottom-color:var(--house-roof-color)
  margin-left:-100px;
  margin-top:21px;
}
.door {
  position:absolute;
  width:50px;
  height:120px;
  background:var(--house-door-color);
  margin-top:30px;
  margin-left:35px;
}
.door:after {
  content:'';
  position:absolute;
  display:block;
  width:10px;
  height:4px;
  background:var(--house-door-knob-color);
  margin-left:37px;
  margin-top:48px;
}
.tree {
  background:var(--tree-stem-color);
  position:absolute;
  width:15px;
  height:40px;
  font-size:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

the tree in the example also has
margin-top:150px;
margin-left:44px;
so it is a bit more off the edge.
.leaf {
display:flex;
margin-bottom:30px;
}
.leaf:before {
  content:'';
  display:block;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 0 100px 50px;
  border-color:transparent;
  border-bottom-color:var(--tree-left-color);
  margin-top:-125px;
  margin-left:-43px;
}
.leaf:after {
  content:'';
  display:block;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 50px 100px 0;
  border-color:transparent;
  border-bottom-color:var(--tree-right-color);
  margin-top:-125px;
}
html: (3 leaves nested)

<div class="tree">
  <div class="leaf"></div>
  <div class="leaf"></div>
  <div class="leaf"></div>
</div>
See also: Effect of flex on pseudoelements.
Browsers treat ::before and ::after as flex items, if the element has display flex!
.t_one {
  margin-top:150px;
  margin-left:44px;
  transform:scale(.6);
}
.t_two {
  margin-top:170px;
  margin-left:350px;
  transform:scale(.6);
}
etc

html: 10 trees

<div class="tree t_one">
  <div class="leaf"></div>
  <div class="leaf"></div>
  <div class="leaf"></div>
</div>
<div class="tree t_two">
  <div class="leaf"></div>
  <div class="leaf"></div>
  <div class="leaf"></div>
</div>
etc
html:

<div class="container">

  <div class="sun"></div>
  
  <div class="mountain m_one"></div>
  <div class="mountain m_two"></div>
  <div class="mountain m_four"></div>
  <div class="mountain m_three"></div>
  
  <div class="path"></div>
  
  <div class="house">
    <div class="chimney"></div>
    <div class="roof"></div>
    <div class="door"></div>
  </div>
  
  <div class="tree t_one">
    <div class="leaf"></div>
    <div class="leaf"></div>
    <div class="leaf"></div>
  </div>
  <div class="tree t_two">
    <div class="leaf"></div>
    <div class="leaf"></div>
    <div class="leaf"></div>
  </div>
etc
</div>
Give it a go! 
Try something. 
I did this. 
Only divs and css allowed, 
no images, no javascript...