private function initialize_default_breakpoints()
 {
     if (is_null(Upfront_ChildTheme::get_instance())) {
         return $this->get_default_breakpoints();
     }
     $layout_properties = json_decode(Upfront_ChildTheme::get_settings()->get('layout_properties'), true);
     if (!is_array($layout_properties)) {
         return $this->get_default_breakpoints();
     }
     foreach ($layout_properties as $property) {
         if ($property['name'] === 'grid') {
             $grid_settings = $property['value'];
         }
     }
     if (!isset($grid_settings)) {
         return $this->get_default_breakpoints();
     }
     // Do the actual merge from here on
     $defaults = $this->get_default_breakpoints();
     $properties = array('column_widths' => 'column_width', 'column_paddings' => 'column_padding', 'baselines' => 'baseline', 'type_paddings' => 'type_padding');
     foreach ($properties as $prop_name => $prop_translated) {
         if (isset($grid_settings[$prop_name])) {
             foreach ($grid_settings[$prop_name] as $name => $value) {
                 switch ($name) {
                     case 'desktop':
                         $defaults[0][$prop_translated] = $value;
                         break;
                     case 'tablet':
                         $defaults[1][$prop_translated] = $value;
                         break;
                     case 'mobile':
                         $defaults[2][$prop_translated] = $value;
                         break;
                 }
             }
         }
     }
     return $defaults;
 }